Status de um pedido

O ciclo de vida completo de um pedido na Abbiamo — do CREATED ao SUCCESSFUL ou RETURNED, com substatus e quem dispara cada transição.

O ciclo de vida completo de um pedido — do CREATED ao SUCCESSFUL ou RETURNED. Cada estado mostra quem dispara a transição, qual webhook sai e o que você pode fazer a partir dali.

Um pedido passa por uma sequência previsível de status. Cada transição é registrada como um evento e dispara o webhook ORDER_STATUS_CHANGE pra integrações que estão escutando.

Esta página cobre todos os status possíveis, organizados em três grupos: caminho feliz (Criado → Entregue), estados de espera (Pendente, Handling) e caminho infeliz (Falha, Devolução, Cancelamento). Os status são enums que aparecem no campo status da resposta; substatus aparecem em sub_status.

A coluna Roteirizável, quando indicada em frota própria (PRIVATE_FLEET), significa que um pedido nesse estado pode ser incluído em uma nova rota.


CriadoCREATED

O pedido acabou de ser criado na Abbiamo. Ainda não foi despachado para nenhuma transportadora. Em uma operação de frota própria, este pedido já é elegível pra ser incluído em uma rota.

Disparado por
  • POST /v2/order — criação manual ou via integração
Transições saindo
  • DISPATCHED — quando a entrega é solicitada à transportadora
  • PENDING — quando ainda falta uma ação pra despachar
Substatus
LAST_ROUTE_CANCELEDA última rota deste pedido foi cancelada e ele voltou pra CREATED
DespachadoDISPATCHED

A entrega foi solicitada à transportadora (ou planejada numa rota da frota própria). A partir daqui o pedido sai do controle direto da loja — quem dirige o próximo passo é a operação logística.

Disparado por
  • Confirmação da transportadora via webhook carrier-confirm-delivery
  • Planejamento da rota (frota própria)
Transições saindo
  • IN_TRANSIT — motorista a caminho da coleta
  • FAILED — transportadora recusa, motorista rejeita, timeout
Substatus
CARRIER_CONFIRMEDTransportadora confirmou a solicitação
ROUTE_PLANNEDRota da frota própria já está planejada
SEARCHING_DRIVERTransportadora procurando motorista pra aceitar
DRIVER_ASSIGNEDMotorista aceitou a entrega
DRIVER_CONFIRMEDMotorista confirmou a rota inteira (frota própria)
DRIVER_REJECTEDMotorista atribuído recusou — pedido pode voltar a SEARCHING_DRIVER
READY_FOR_TAKEOUTPedido pronto pra retirada pelo cliente final (Pick&Go)
ColetandoIN_TRANSIT

O motorista está a caminho da filial pra pegar o pacote. Esta é a primeira "perna" da entrega — o veículo se moveu mas ainda não tem o pacote.

Disparado por
  • Webhook da transportadora: carrier-collecting-delivery
  • Motorista da frota própria iniciando a etapa de coleta no TMS
Transições saindo
  • COLLECTED — motorista chegou e pegou o pacote
  • FAILED com COLLECT_FAILED — falha na coleta (loja fechada, pacote indisponível, etc.)
Substatus
COLLECTINGMotorista a caminho da coleta — único substatus de IN_TRANSIT
ColetadoCOLLECTED

O pacote já está com o motorista. Em fluxos com pincode, este é o estado que confirma a coleta válida; em fluxos sem pincode, é o checkpoint que a transportadora envia ao sair da filial.

Disparado por
  • Webhook carrier-collected-delivery (modelo loja → motorista)
  • Validação de pincode bem-sucedida (modelo motorista → loja, dono Abbiamo)
  • Confirmação no TMS pela operação de frota própria
Transições saindo
  • START_DELIVERY — motorista saiu da filial em direção ao destinatário
  • HANDLING — pacote entrou no hub interno da transportadora
Em rotaSTART_DELIVERY

O motorista saiu da filial com o pacote e está a caminho do endereço do destinatário. Esta é a "última milha" — o estado em que o cliente final começa a ver atualizações na página de tracking.

Disparado por
  • Webhook carrier-start-delivery
  • Frota própria: motorista marca "iniciar entrega" no TMS
Transições saindo
  • SUCCESSFUL com DELIVERED — entregue ao destinatário
  • SUCCESSFUL com WITHDRAWN — retirado pelo cliente (Pick&Go)
  • FAILED com DELIVERY_FAILED — falha na entrega
  • RETURNING — entrega não rolou, pacote voltando pra filial
EntregueSUCCESSFUL

Fim feliz. O pacote chegou ao destinatário (DELIVERED) ou foi retirado pelo cliente final na loja (WITHDRAWN). Nenhuma outra transição sai daqui — é estado terminal de sucesso.

Disparado por
  • Webhook carrier-successful-delivery
  • Motorista da frota marca como entregue no TMS (POD opcional)
  • PUT /v1/orders/{id}/withdrawn — retirada presencial
Eventos relacionados
  • Webhook ORDER_STATUS_CHANGE com status final
  • Webhook ORDER_CSAT_ANSWER quando o cliente responde a pesquisa de satisfação
Substatus
DELIVEREDEntregue ao destinatário no endereço
WITHDRAWNRetirado pelo cliente final presencialmente (Pick&Go)

PendentePENDING

O pedido está esperando algo acontecer antes de seguir. Pode ser uma confirmação da transportadora, uma ação manual da loja ou uma janela operacional aguardando abrir.

Substatus
WAITING_CARRIER_ACTIONHá um problema na entrega e a transportadora precisa agir
WAITING_FOR_CARRIERAguardando resposta da transportadora pra solicitação enviada
WAITING_TAKEOUT_CONFIRMATIONPedido ainda não está pronto, aguarda ação da loja
HandlingHANDLING

Pacote em operação interna da transportadora — transferências entre filiais, processamento em hubs, agendamento. O pacote não está com um motorista de entrega final ainda; pode passar dias aqui em transportadoras maiores.

Substatus
PACKAGE_RECEIVEDPacote recebido em uma filial
LOGISTICS_STARTEDIniciou logística interna entre filiais
READY_FOR_TRANSFERPronto pra ser transferido
IN_TRANSFEREm transferência entre filiais
TRANSFER_COMPLETEDTransferência concluída
SCHEDULED_DELIVERYEntrega agendada internamente
REDISPATCHEDRedespachado pra uma terceira transportadora
PROCESSED_DELIVERYPacote processado e pronto pra próxima etapa

FalhaFAILED

Algo deu errado em uma das três etapas: coleta, entrega ou retorno. Em frota própria, um pedido em FAILED ainda é roteirizável — você pode incluí-lo em uma nova rota pra tentar de novo. Veja a tabela de códigos de falha pra interpretar cada failure_code.

Substatus
COLLECT_FAILEDFalha na coleta na filial — motorista não conseguiu pegar o pacote
DELIVERY_FAILEDFalha na entrega ao destinatário
RETURN_FAILEDFalha na devolução do pacote à filial de origem
DevolvendoRETURNING

O motorista está a caminho da filial de origem com o pacote. Sempre vem depois de uma DELIVERY_FAILED — alguém precisa receber o pacote de volta.

DevolvidoRETURNED

O pacote voltou pra filial de origem. Estado terminal — mas em frota própria, ainda é roteirizável: você pode tentar uma nova entrega pelo mesmo ou outro destinatário.

CanceladoCANCELED

Estado terminal usado quando o pedido foi cancelado depois de ter sido coletado e o pacote voltou pra filial. Vem com sub_status: RETURNED_TO_SELLER.

Diferente de ORDER_FAILED (cancelamento antes/durante despacho), aqui já houve coleta e o pacote precisou retornar.

Substatus
RETURNED_TO_SELLERPedido cancelado após coleta; pacote devolvido à filial
Pedido canceladoORDER_FAILED

O pedido foi cancelado antes ou durante o despacho. Diferente de FAILED (falha na operação), aqui o motivo é decisão da loja ou da transportadora.

Substatus
CARRIER_CANCELEDTransportadora cancelou a entrega
CARRIER_REFUSEDTransportadora recusou a solicitação
CARRIER_TIMEOUTAbbiamo não conseguiu enviar a solicitação à transportadora
CARRIER_ERRORTransportadora não enviou confirmação
SELLER_CANCELEDLoja solicitou cancelamento

Tratado manualmenteMANUAL_HANDLE

O pedido foi finalizado manualmente fora do fluxo padrão — geralmente via dashboard quando uma operação precisa intervir (ex.: pacote perdido conciliado offline). Disparado pelo endpoint cancel-order (que na verdade marca como manual handle, não cancela).