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. Via API v1 o parceiro seta apenas confirmed e cancelled; o restante do fluxo (preparo, separação, entrega) é 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.API v1 (criação e PATCH), 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).API v1 (PATCH), dashboard.

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

  • Via API você seta apenas confirmed e cancelled. Transição inválida (ex.: cancelar pedido já entregue) retorna 409 INVALID_TRANSITION — não é possível pular estados.
  • Prepare seu receptor para todos os 9 estados da tabela: mudanças feitas pelos canais OnmIA chegam por order.status_changed ou por polling.
  • delivered e cancelled são terminais — nenhuma transição sai deles.

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