A forma recomendada de adicionar/editar códigos e links de rastreamento é
editando diretamente a shipping line respectiva através do subresource orders/shipping_lines.
Edite a shipping line do pedido via PATCH adicionando o(s) código de rastreamento:
PATCH /orders/:_id/shipping_lines/0.json
{
"tracking_codes": [
{
"tag": "by123erp",
"code": "123ABC",
"link": "https://tracking.courrierws.sample/123ABC"
}
]
}No exemplo acima o código de rastreamento 123ABC e o link (opcional) serão associados ao pedido
:_id.
Edite a shipping line do pedido via PATCH adicionando a(s) nota fiscal:
PATCH /orders/:_id/shipping_lines/0.json
{
"invoices": [
{
"number": "1234567890",
"link": "https://nflink.sample/1234567890"
}
]
}No exemplo acima a nota fiscal de número 1234567890 e o link (opcional) serão associados ao pedido
:_id.
Exemplo com informações adicionais no corpo do PATCH:
{
"invoices": [
{
"issuer": {
"doc_number": "11111111111111",
"inscription_type": "State",
"inscription_number": "222222222",
"corporate_name": "Sample Inc"
},
"number": "1234567890",
"serial_number": "1212121212121212",
"issued_at": "2021-03-01T15:55:01.032Z",
"link": "https://nflink.sample/1234567890",
"access_key": "key0000000001",
"link_danfe": "https://nflink.sample/1234567890/danfe"
}
]
}tracking_codes e invoices são arrays de objetos,
desta forma é possível setar até 30 códigos de rastreamento (um objeto para cada)
e 30 notas fiscais na mesma shipping line.
Mas note que a cada PATCH esses dados serão sobrescritos, portanto para adicionar mais de um código de rastreio é necessário enviar todos eles na mesma requisição, o mesmo ocorre com as notas fiscais.
Caso o pedido possua mais de uma shipping line (mais de um pacote e entrega), o subresource ID poderá ser diferente de 0 (primeiro index), ele pode ser preenchido com o object ID da linha de envio ou o index (0, 1, 2...) no array:
PATCH /orders/:_id/shipping_lines/:shipping_line_id.json
PATCH /orders/:_id/shipping_lines/:shipping_line_index.json