Fala @hebert tudo bem?
Com base na documentação da API VTEX mencionada, a rota /api/oms/pvt/orders/{orderId}/invoice/{invoiceNumber}
é usada para atualizar ou adicionar informações de rastreamento de uma nota fiscal (invoice) específica. No entanto, a documentação indica que o endpoint aceita apenas um único código de rastreio por chamada.
Ou seja: não há suporte direto para múltiplos códigos de rastreio na mesma chamada.
Como funciona o envio de código de rastreio
O campo trackingNumber
no corpo da requisição é projetado para receber apenas um único número de rastreamento por vez.
Exemplo do corpo da requisição:
{
"trackingNumber": "AB123456789BR"
}
Alternativas para lidar com múltiplos códigos de rastreio
1. Fazer chamadas separadas
Se uma mesma nota fiscal tiver múltiplos códigos de rastreio, será necessário realizar uma chamada para cada código. Isso pode ser feito em sequência, automatizando as chamadas no seu sistema. Você pode criar um cron job para esse tipo de cenário.
2. Agrupar informações de rastreio - esse é caso de testes
Uma abordagem possível é combinar os códigos de rastreio em uma string única e enviá-los como um único valor no campo trackingNumber
. Por exemplo:
{
"trackingNumber": "AB123456789BR;CD987654321US"
}
Observação: Essa prática pode funcionar para exibição, mas a interpretação dos dados dependerá de como o sistema ou transportadora lida com múltiplos códigos no mesmo campo.
3. Criar múltiplas invoices
Se cada código de rastreio está associado a um lote ou item diferente da ordem, outra abordagem seria criar múltiplas invoices para a mesma ordem. Cada invoice pode conter um único código de rastreio.
Em resumo:
Você precisa avaliar os cenários e realizar testes. Oficialmente, a VTEX descreve que o campo de tracking number deve ser enviado aoenas como string, portanto, único.
Espero que estas informações te ajude.
Abs,
Estevão.
Se as informações te ajudaram, marque-a como solução para ajudar outras pessoas da comuniadde.