API de pedidos2026-11Prévia

Remessas

Um pacote a caminho do seu cliente. O rastreio volta para a loja de onde o pedido veio, então o seu cliente recebe notícias de você, não de nós.

O objeto Shipment

idstring
Começa com shp_.
order, fulfillment_orderstring
O que ele leva.
lanestring
saver ou fast.
carrier, tracking_number, tracking_urlstring
Rastreio, pronto para o seu cliente.
weight_ginteger
Quanto o pacote pesou quando o embalamos.
shipping_chargedmoney
Frete, taxa de manuseio e imposto do pacote pesado, em CN¥: o que o seu saldo pagou.
pushed_to_channelboolean
Se a loja de onde o pedido veio tem o rastreio. A Shopify então o envia por e-mail ao seu cliente.
statusstring
in_transit, out_for_delivery, delivered, ou exception (retido, devolvido, perdido).
shipped_at, delivered_atstring|null
Quando saiu daqui, e quando a transportadora diz que chegou.
shipment
{
  "id": "shp_5r8w",
  "order": "ord_3n7q",
  "fulfillment_order": "fo_7k2m",
  "lane": "saver",
  "carrier": "YunExpress",
  "tracking_number": "YT2630812345678",
  "tracking_url": "https://t.17track.net/en#nums=YT2630812345678",
  "weight_g": 176,
  "shipping_charged": { "amount": "134.52", "currency": "CNY" },
  "pushed_to_channel": true,
  "status": "in_transit",
  "shipped_at": "2026-11-03T06:00:00Z",
  "delivered_at": null
}

Listar envios

GET/v1/shipments

Mais recentes primeiro. Filtre por status para achar os que precisam de você.

Escopoorders:read

Parâmetros de consulta

statusstring
Opcional.
orderstring
Opcional. Um id de pedido.
shipped_sincestring
Opcional. Um horário.
limit, cursor
Pagination
curl "https://www.ninjabuy.com/api/v1/shipments?status=exception" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "data": [
    {
      "id": "shp_5q1d",
      "order": "ord_3m2b",
      "tracking_number": "YT2630811190042",
      "status": "exception"
    }
  ],
  "has_more": false,
  "cursor": null
}

Obter um envio

GET/v1/shipments/{id}

Um pacote, com o rastreio.

Escopoorders:read

Parâmetros de caminho

idstringobrigatório
O id do envio.

Erros

StatusTipoQuando
404not-foundEsse envio não existe nesta conta.
curl "https://www.ninjabuy.com/api/v1/shipments/shp_5r8w" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "id": "shp_5r8w",
  "order": "ord_3n7q",
  "fulfillment_order": "fo_7k2m",
  "lane": "saver",
  "carrier": "YunExpress",
  "tracking_number": "YT2630812345678",
  "tracking_url": "https://t.17track.net/en#nums=YT2630812345678",
  "weight_g": 176,
  "shipping_charged": { "amount": "134.52", "currency": "CNY" },
  "pushed_to_channel": true,
  "status": "in_transit",
  "shipped_at": "2026-11-03T06:00:00Z",
  "delivered_at": null
}

Obter eventos de rastreio

GET/v1/shipments/{id}/tracking

Os escaneamentos da transportadora, dos mais antigos aos mais recentes, em inglês.

Escopoorders:read

Parâmetros de caminho

idstringobrigatório
O id do envio.

Erros

StatusTipoQuando
404not-foundEsse envio não existe nesta conta.
curl "https://www.ninjabuy.com/api/v1/shipments/shp_5r8w/tracking" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "shipment": "shp_5r8w",
  "status": "in_transit",
  "events": [
    {
      "at": "2026-11-03T06:00:00Z",
      "where": "Shenzhen, CN",
      "status": "in_transit",
      "description": "Left the NinjaBuy warehouse"
    },
    {
      "at": "2026-11-05T22:10:00Z",
      "where": "Shenzhen, CN",
      "status": "in_transit",
      "description": "Departed the origin country"
    },
    {
      "at": "2026-11-09T19:40:00Z",
      "where": "Los Angeles, US",
      "status": "in_transit",
      "description": "Arrived in the destination country"
    }
  ]
}