Listar e consultar expedições
Lista as expedições do seller com filtros e paginação, ou devolve uma delas pelo id.
Listar expedições
Devolve as expedições do seller, da mais nova para a mais antiga, paginadas.
/api/v1/vendor/fulfillmentsSellerLista as expedições do seller
Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1.
per_pageintegerpadrão: 20Itens por página, de 1 a 100. Fora disso volta para 20.
statusstringpendingpickingpackedshippeddeliveredreturnedFiltra por etapa:
pending, picking, packed, shipped, delivered ou returned. Um valor desconhecido não dá erro: é tratado como pending.fulfilled_bystringvendormarketplacevendor ou marketplace.order_iduuidSó as expedições deste pedido.
searchstringBusca parcial, sem diferenciar maiúsculas, no número do pedido ou no código de rastreio.
Exemplo de requisição: listar
bash
curl "$BASE_URL/api/v1/vendor/fulfillments?status=pending&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta: listar
200Página de expedições
json
{
"fulfillments": [
{
"id": "e1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b",
"order_id": "b4d2f0a8-6c1e-4b3d-9a7f-2e5c8d1b0a96",
"vendor_id": "5f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"fulfilled_by": "vendor",
"status": "pending",
"notes": "Caixa dupla",
"created_at": "2026-10-01T14:20:11Z",
"updated_at": "2026-10-03T13:05:00Z",
"vendor_name": "Loja Exemplo",
"order_number": "VD-20261001-0042",
"items": [
{
"id": "a1b2c3d4-0000-4000-8000-000000000001",
"fulfillment_id": "e1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b",
"order_item_id": "a1b2c3d4-0000-4000-8000-000000000002",
"quantity": 2,
"product_name": "Camiseta Básica",
"created_at": "2026-10-01T14:20:11Z"
}
],
"is_partial": false,
"fees": [],
"fee_total": 0,
"fee_count": 0
}
],
"total": 79,
"page": 1,
"per_page": 20,
"total_pages": 4
}Campos da resposta
fulfillmentsarrayExpedições da página (campos em "Consultar uma expedição").
totalintegerTotal de expedições que casam com o filtro.
pageintegerPágina devolvida.
per_pageintegerTamanho da página usado.
total_pagesintegerTotal de páginas.
Erros: listar
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem cabeçalho Authorization, ou token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller (por exemplo, é um token de administrador). | {"error":"insufficient permissions"} |
| 404 | O usuário não tem perfil de seller. | {"error":"vendor profile not found"} |
| 403 | O módulo fulfillment está desligado na loja. | {"error":"module_disabled","module":"fulfillment"} |
| 500 | Falha ao consultar (por exemplo, order_id que não é UUID). | {"error":"failed to list fulfillments"} |
Consultar uma expedição
Devolve a expedição completa, com itens (se parcial) e taxas, sem envelope.
/api/v1/vendor/fulfillments/{id}SellerMostra uma expedição do seller
Parâmetros de caminho
iduuidobrigatórioId da expedição.
Exemplo de requisição: consultar
bash
curl "$BASE_URL/api/v1/vendor/fulfillments/e1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b" \
-H "Authorization: Bearer $TOKEN"Resposta: consultar
200Expedição encontrada
json
{
"id": "e1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b",
"order_id": "b4d2f0a8-6c1e-4b3d-9a7f-2e5c8d1b0a96",
"vendor_id": "5f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"fulfilled_by": "vendor",
"status": "shipped",
"tracking_number": "AA123456789BR",
"tracking_url": "https://rastreamento.correios.com.br/app/index.php?objetos=AA123456789BR",
"carrier": "correios_sedex",
"shipped_at": "2026-10-03T13:05:00Z",
"notes": "Caixa dupla",
"created_at": "2026-10-01T14:20:11Z",
"updated_at": "2026-10-03T13:05:00Z",
"vendor_name": "Loja Exemplo",
"order_number": "VD-20261001-0042",
"items": [
{
"id": "a1b2c3d4-0000-4000-8000-000000000001",
"fulfillment_id": "e1a2b3c4-d5e6-4f70-8a9b-0c1d2e3f4a5b",
"order_item_id": "a1b2c3d4-0000-4000-8000-000000000002",
"quantity": 2,
"product_name": "Camiseta Básica",
"created_at": "2026-10-01T14:20:11Z"
}
],
"is_partial": false,
"fees": [],
"fee_total": 0,
"fee_count": 0
}Campos da resposta
iduuidId da expedição.
order_iduuidPedido (ou sub-pedido) expedido.
vendor_iduuidSeller responsável.
fulfilled_bystringvendormarketplaceQuem envia:
vendor (o seller) ou marketplace (a loja, no modelo de expedição pela plataforma).statusstringpendingpickingpackedshippeddeliveredreturnedpending, picking, packed, shipped, delivered ou returned.tracking_numberstringCódigo de rastreio. Ausente enquanto não informado.
tracking_urlstringLink de rastreio. Ausente quando não informado.
carrierstringTransportadora (texto livre). Ausente quando não informada.
picked_at, packed_at, shipped_at, delivered_at, returned_atstringDatas (RFC 3339) em que a expedição entrou em cada etapa. Cada uma ausente até acontecer.
notesstringObservações internas. Ausente quando vazio.
updated_byuuidÚltimo usuário que alterou, quando conhecido.
created_atstringCriação, RFC 3339.
updated_atstringÚltima alteração, RFC 3339.
vendor_namestringNome da empresa do seller.
order_numberstringNúmero do pedido, o mesmo da lista de pedidos.
itemsarrayItens cobertos, com
order_item_id, quantity e product_name. Ausente quando a expedição cobre o pedido inteiro.is_partialbooleantrue quando os items cobrem menos que a quantidade total do pedido.feesarrayTaxas cobradas desta expedição (veja Estatísticas e taxas). Sempre presente, [] se não há.
iduuidId da taxa.
fulfillment_iduuidExpedição que gerou a taxa.
vendor_iduuidSeller cobrado.
order_iduuidPedido da taxa.
amountintegerValor da taxa, em centavos.
fee_typestringCategoria da taxa (
shipping por padrão).descriptionstringTexto livre. Ausente quando vazio.
rate_bpsintegerTaxa aplicada, em pontos-base (
250 = 2,5%).base_amountintegerSubtotal do pedido sobre o qual a taxa foi calculada, em centavos.
is_deductedbooleanSe a taxa já foi descontada de um repasse.
payout_iduuidRepasse em que foi descontada. Ausente enquanto pendente.
created_atstringCriação, RFC 3339.
fee_totalintegerSoma das taxas, em centavos.
fee_countintegerQuantidade de taxas.
Erros: consultar
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem cabeçalho Authorization, ou token inválido ou expirado. | {"error":"invalid or expired token"} |
| 403 | O token não é de um usuário seller (por exemplo, é um token de administrador). | {"error":"insufficient permissions"} |
| 404 | O usuário não tem perfil de seller. | {"error":"vendor profile not found"} |
| 404 | Não existe expedição com esse id para este seller (ou a expedição é de outro). | {"error":"fulfillment not found"} |
| 403 | O módulo fulfillment está desligado na loja. | {"error":"module_disabled","module":"fulfillment"} |
| 500 | O id não é um UUID. A rota não valida o formato: o detail vem em português. | {"error":"failed to get fulfillment","detail":"o valor \"abc\" não é um uuid válido. ..."} |