Acompanhamento do pedido
Mostra ao seller o acompanhamento dos pedidos dele, com as etapas, o status atual, as remessas e a linha do tempo que o cliente vê.
O acompanhamento (order tracking) é a visão do pedido como o cliente a enxerga: etapas concluídas, status atual, remessas com rastreio e previsão, e os avisos públicos. O seller usa estas rotas para conferir o que o cliente está vendo e para responder "onde está meu pedido?". Elas são somente leitura; os dados mudam quando o seller muda o status ou atualiza o rastreio.
Listar o acompanhamento
/api/v1/vendor/order-trackingSellerLista o acompanhamento dos pedidos do seller
Devolve o acompanhamento dos pedidos do seller. Diferente da consulta do administrador, não exige party_type: o seller já é identificado pelo token, e o CNPJ do cliente é um filtro opcional. Exige um privilégio de pedidos do seller.
Parâmetros de consulta
cnpjstringorder_iduuidorder_numberstringstatusstringdate_fromstringAAAA-MM-DD ou RFC 3339.date_tostringAAAA-MM-DD ou RFC 3339.pageintegerpadrão: 1per_pageintegerpadrão: 20langstringpt-BR, en). Se omitido, usa o cabeçalho Accept-Language.Exemplo de requisição: listar
curl "$BASE_URL/api/v1/vendor/order-tracking?status=shipped&per_page=20&lang=pt-BR" \
-H "Authorization: Bearer $TOKEN"Resposta: listar
{
"items": [
{
"order_id": "e148b6aa-d495-4b89-92ab-f38b5979a43f",
"order_number": "PEDIDO-20261011-0001-V1",
"purchase_order_number": null,
"customer_name": "Maria Souza",
"customer_company": "Souza Comércio Ltda",
"customer_cnpj": "11222333000181",
"created_at": "2026-10-11T20:14:40Z",
"updated_at": "2026-10-11T20:16:39Z",
"current_status": { "code": "shipped", "letter": "S", "label": "Enviado", "color": "#8b5cf6", "stage": "main" },
"steps": [
{ "code": "pending", "letter": "O", "label": "Pendente", "completed_at": "2026-10-11T20:14:40Z", "state": "done" },
{ "code": "shipped", "letter": "S", "label": "Enviado", "completed_at": "2026-10-11T20:16:39Z", "state": "current" },
{ "code": "delivered", "letter": "C", "label": "Entregue", "completed_at": null, "state": "upcoming" }
],
"tracking": {
"carrier": "Correios",
"tracking_code": "BR123456789BR",
"tracking_url": "https://rastreamento.correios.com.br/app/index.php?objeto=BR123456789BR",
"estimated_delivery_at": "2026-10-20T03:00:00Z"
},
"shipments": [],
"timeline": [
{ "type": "order_created", "at": "2026-10-11T20:14:40Z" }
]
}
],
"total": 1,
"page": 1,
"per_page": 20
}Campos da resposta
itemsarraytotalintegerpageintegerper_pageintegerAcompanhamento de um pedido
/api/v1/vendor/order-tracking/{id}SellerAcompanhamento de um pedido do seller
Acompanhamento de um pedido do seller, com a visão do seller (que inclui o nome de quem mudou cada status). Exige um privilégio de pedidos do seller e respeita a carteira do representante.
Parâmetros de caminho
iduuidobrigatórioParâmetros de consulta
langstringpt-BR, en). Se omitido, usa o cabeçalho Accept-Language.Resposta: detalhar
{
"order_id": "e148b6aa-d495-4b89-92ab-f38b5979a43f",
"order_number": "PEDIDO-20261011-0001-V1",
"purchase_order_number": null,
"customer_name": "Maria Souza",
"customer_company": "Souza Comércio Ltda",
"customer_cnpj": "11222333000181",
"created_at": "2026-10-11T20:14:40Z",
"updated_at": "2026-10-11T21:02:10Z",
"current_status": { "code": "shipped", "letter": "S", "label": "Enviado", "color": "#8b5cf6", "stage": "main" },
"steps": [
{ "code": "pending", "letter": "O", "label": "Pendente", "completed_at": "2026-10-11T20:14:40Z", "state": "done" },
{ "code": "processing", "letter": "P", "label": "Processando", "completed_at": "2026-10-11T20:16:33Z", "state": "done" },
{ "code": "shipped", "letter": "S", "label": "Enviado", "completed_at": "2026-10-11T20:16:39Z", "state": "current" },
{ "code": "delivered", "letter": "C", "label": "Entregue", "completed_at": null, "state": "upcoming" }
],
"tracking": {
"carrier": "Correios",
"tracking_code": "BR123456789BR",
"tracking_url": "https://rastreamento.correios.com.br/app/index.php?objeto=BR123456789BR",
"estimated_delivery_at": "2026-10-20T03:00:00Z"
},
"shipments": [
{
"id": "45171534-2fbd-46ca-973a-132149a564da",
"carrier": "Correios",
"tracking_code": "BR123456789BR",
"tracking_url": "https://rastreamento.correios.com.br/app/index.php?objeto=BR123456789BR",
"estimated_delivery_at": "2026-10-20T03:00:00Z",
"public_note": "Saiu do centro de distribuição",
"shipped_at": "2026-10-11T20:16:39Z",
"created_at": "2026-10-11T20:16:39Z",
"updated_at": "2026-10-11T21:02:10Z"
}
],
"timeline": [
{ "type": "order_created", "at": "2026-10-11T20:14:40Z" },
{ "type": "status_changed", "at": "2026-10-11T20:16:33Z", "status": { "code": "processing", "letter": "P", "label": "Processando" }, "origin": "vendor", "actor": { "name": "Ana Lima" } },
{ "type": "shipment_created", "at": "2026-10-11T20:16:39Z", "shipment_id": "45171534-2fbd-46ca-973a-132149a564da" },
{ "type": "tracking_updated", "at": "2026-10-11T21:02:10Z", "public_note": "Saiu do centro de distribuição", "shipment_id": "45171534-2fbd-46ca-973a-132149a564da" }
]
}Campos da resposta (cada acompanhamento)
order_iduuidorder_numberstringpurchase_order_numberstring | nullcustomer_namestringcustomer_companystring | nullcustomer_cnpjstring | nullcreated_atstring (RFC 3339)updated_atstring (RFC 3339)current_statusobjectcode, letter, label (no idioma pedido), color e stage.stepsarraystate é done, current ou upcoming; completed_at é a primeira vez que o pedido chegou à etapa (nulo se não chegou ou se a etapa foi pulada).trackingobjectcarrier, tracking_code, tracking_url, estimated_delivery_at. Todos podem ser nulos.shipmentsarraypublic_note.timelinearraytype é order_created, status_changed, shipment_created ou tracking_updated. origin (admin, vendor, customer, system) diz quem fez a mudança. Na visão do seller, as mudanças de status feitas pela loja ou pelo seller trazem actor.name, o nome da pessoa.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente ou inválido. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller, ou ele não tem privilégio de pedidos. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_view_orders", "..."]} |
| 403 | O módulo de acompanhamento está desligado na loja. | {"error":"module_disabled","module":"order-status-flow"} |
| 403 | No detalhe: o pedido é de outro seller, é o pai, ou está fora da carteira do representante. | {"error":"you do not have access to this order"} |
| 404 | No detalhe: o pedido não existe. | {"error":"order not found"} |
| 422 | Consulta inválida na lista. field é cnpj, order_id, date_from ou date_to; code é invalid. | {"error":"validation_failed","issues":[{"field":"cnpj","code":"invalid"}]} |
| 500 | Falha interna. Um id que não é UUID no detalhe também chega como 500. | {"error":"failed to load order tracking","detail":"..."} |