OnmIAOnmIA API Docs

Ciclo de vida do pedido

Os 9 estados canônicos do pedido, quem seta cada um, transições permitidas e o erro INVALID_TRANSITION.

O pedido percorre uma máquina de estados validada no servidor. Em v1.1 o parceiro não seta status via API (a rota de PATCH foi removida): todo o fluxo (confirmação, preparo, separação, entrega, cancelamento) é conduzido pelo dashboard e PWAs operacionais da OnmIA — e você o recebe via webhook order.status_changed ou por polling em GET /orders/:id.

Estados canônicos

StatusSignificadoQuem normalmente seta
pendingCriado, aguardando confirmação.OnmIA (canais próprios).
confirmedConfirmado.OnmIA (canais próprios), dashboard.
in_kitchenEm preparo (vertical food).Dashboard/operação OnmIA.
readyPronto para saída (vertical food).Dashboard/operação OnmIA.
pickingEm separação (varejo/grocery).Dashboard/PWA de separação.
packedSeparado/expedição (varejo/grocery).Dashboard/PWA de separação.
out_for_deliverySaiu para entrega.Dashboard/PWA do entregador.
deliveredEntregue (terminal).Dashboard/PWA do entregador.
cancelledCancelado (terminal).Dashboard/operação OnmIA.

Transições permitidas

O fork em confirmed depende do vertical da loja (food vs. varejo/grocery):

pending          -> confirmed | cancelled
confirmed        -> picking | in_kitchen | cancelled
in_kitchen       -> ready | cancelled            (caminho food)
ready            -> out_for_delivery | cancelled (caminho food)
picking          -> packed | cancelled           (caminho varejo/grocery)
packed           -> out_for_delivery | cancelled (caminho varejo/grocery)
out_for_delivery -> delivered | cancelled
delivered        -> (terminal)
cancelled        -> (terminal)

O que isso significa para o parceiro

  • O parceiro não seta status via API (a rota de PATCH foi removida em v1.1). Todo o fluxo é conduzido pelos canais OnmIA.
  • Você recebe o pedido novo pelo webhook order.created e cada mudança de status pelo webhook order.status_changed. Para reconciliação, consulte GET /orders/:id (polling). Prepare seu receptor para todos os 9 estados da tabela.
  • delivered e cancelled são terminais — nenhuma transição sai deles.

Detectar a finalização

Para fechar/baixar o pedido no ERP, filtre order.status_changed por status ∈ { "delivered", "cancelled" } — os dois estados terminais. delivered chega de picking/entrega/iFood/dashboard; cancelled da operação OnmIA.

Cancelamento pós-entrega

Não há transição saindo de delivered. Cancelamento de um pedido já entregue exige tratativa manual com a OnmIA — não é feito pela API.

On this page