Expedição e retirada
Acompanhe quem despacha cada pedido do seller, informe o rastreio, veja as taxas e conduza as retiradas na loja.
Depois que um pedido é pago, alguém precisa separá-lo, embalá-lo e entregá-lo à transportadora, ou entregá-lo ao cliente que veio buscar. Estas rotas cobrem essa etapa do ponto de vista do seller (lojista): a expedição (fulfillment) registra quem despacha o pedido e em que etapa ele está; a retirada (pickup) conduz o pedido que o cliente vai buscar na loja; e a lista de transportadoras alimenta o formulário de envio.
Como funciona
Ciclo da expedição
status | Significado | Pode ir para |
|---|---|---|
pending | Criada, aguardando separação. | picking, packed, shipped |
picking | Itens sendo separados. | packed, shipped |
packed | Embalada, pronta para despacho. | shipped |
shipped | Entregue à transportadora. | delivered, returned |
delivered | Entregue ao cliente. | returned |
returned | Devolvida. Final. | nenhum |
Cada etapa grava a data correspondente (picked_at, packed_at, shipped_at...). O atalho /ship vai direto para shipped e grava o rastreio de uma vez.
Ciclo da retirada
status | Significado |
|---|---|
awaiting_preparation | O cliente pediu e escolheu retirar. O seller precisa separar o pedido. |
ready | Separado. O cliente recebeu o código de 6 dígitos (e um QR) e pode buscar. |
picked_up | Código conferido no balcão. Final. |
expired | Passou do prazo (expires_at) sem retirada. O estoque reservado volta. Final. |
cancelled | Cancelada pelo seller ou pela loja. O estoque volta. Final. |
Conceitos-chave
Quem é o dono do pedido
As rotas só devolvem registros do seller do token. Uma expedição ou retirada de outro seller responde 404, como se não existisse. Em carrinhos com vários sellers, a retirada é aberta no pedido pai, mas cada seller a enxerga pelo seu sub-pedido.
Dinheiro e datas
Taxas em inteiros centavos; datas em RFC 3339 (UTC). IDs são UUID.
Privilégios
As rotas de retirada exigem um destes privilégios do seller (o dono da conta sempre passa): vendor_manage_orders, vendor_orders, vendor_view_orders, vendor_manage_returns, vendor_manage_fulfillments, vendor_manage_reviews, vendor_manage_messages ou vendor_manage_live. As rotas de expedição e de transportadoras dependem apenas do módulo estar ligado.
Endpoints
| Método | Caminho | Para que serve | Autenticação |
|---|---|---|---|
| GET | /api/v1/vendor/fulfillments | Lista as expedições do seller. | vendor |
| GET | /api/v1/vendor/fulfillments/{id} | Mostra uma expedição. | vendor |
| PUT | /api/v1/vendor/fulfillments/{id} | Altera rastreio, etapa ou notas. | vendor |
| POST | /api/v1/vendor/fulfillments/{id}/ship | Marca como enviada com o rastreio. | vendor |
| GET | /api/v1/vendor/fulfillments/stats | Contagens por etapa e tempos médios. | vendor |
| GET | /api/v1/vendor/fulfillments/fees | Lista as taxas de expedição cobradas. | vendor |
| GET | /api/v1/vendor/pickups | Lista as retiradas do seller. | vendor |
| POST | /api/v1/vendor/pickups/{id}/ready | Marca a retirada como pronta. | vendor |
| POST | /api/v1/vendor/pickups/{id}/confirm | Confirma a retirada pelo código. | vendor |
| POST | /api/v1/vendor/pickups/{id}/cancel | Cancela a retirada. | vendor |
| GET | /api/v1/vendor/shipment-carriers | Lista as transportadoras ativas da loja. | vendor |
Erros comuns
- Mandar a letra em vez da palavra em
status(Sem vez deshipped):invalid status. - Pular etapas. De
pendingparadelivereddáinvalid transition from pending to delivered. - Tentar alterar expedição da plataforma.
403quandofulfilled_byémarketplace. - Confiar no filtro
statuscom palavra errada.status=entreguenão dá erro: virapending. - Digitar o código da retirada sem checar o limite. 5 erros seguidos travam por 15 minutos (
429). - Confirmar uma retirada que não está
ready. Marque como pronta antes, ou dá400. - Esperar ver o código da retirada na lista. O código é só do cliente; o seller o recebe pessoalmente.
- Esperar
[]emfeesda lista de taxas. Sem taxas o campo vemnull.