Ciclo de Vida do Pedido
A camada Open Delivery opera de forma paralela às APIs proprietárias (V0 e V2), mapeando internamente o ciclo transacional e traduzindo os status internos do aiqfome para os contratos estritos exigidos pela especificação Abrasel.
📥 1. Notificação do Evento
Quando ocorrem movimentações e atualizações nos pedidos, nossa plataforma realiza um disparo automático em formato HTTP POST para a URL (ordersWebhookURL) cadastrada. Nós enviamos os seguintes eventos de webhook para o sistema parceiro:
Exemplo Payload
{
"eventId": "4e11934d-fca1-42d7-862c-a24c5872fb6d",
"eventType": "CREATED",
"orderId": "68689506",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689506",
"createdAt": "2026-06-26T18:18:41Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
}
CREATED:Emitido assim que um novo pedido é realizado pelo cliente fominha.CONFIRMED:Emitido quando o pedido é aceito e confirmado pelo estabelecimento.READY_FOR_PICKUP:Emitido quando a cozinha finaliza a preparação e o pedido está pronto para entrega ou retirada.DISPATCHED:O pedido foi coletado pelo entregador e está em deslocamento (rota de entrega) para o endereço do cliente.DELIVERED:O pedido foi entregue com sucesso ao destinatário.CANCELLED:Emitido caso o pedido precise ser cancelado em qualquer etapa do fluxo.
A notificação enviada contém os dados essenciais do evento e o link para a busca dos detalhes completos:
eventId:Identificador exclusivo gerado em tempo de execução para identificar aquela notificação.eventType:O tipo de evento transicionado (conforme a lista descrita acima).orderId:O identificador único do pedido transmitido em formato string.orderUrl:A URL de callback gerada especificamente para que o integrador faça o consumo síncrono dos detalhes completos daquele pedido.sourceAppId:Identificador único da aplicação de pedidos que originou a venda.
🔐 Cabeçalhos de Identificação
Para identificação do contexto da mensagem, as chamadas de Webhook injetarão os seguintes cabeçalhos no sistema do parceiro:
X-App-Id:Identificador único do aiqfome como aplicação de pedidos de origem.X-App-MerchantId:Código identificador do estabelecimento repassado no momento do onboarding.
🔍 2. Busca de Detalhes do Pedido
Após receber a notificação do Webhook, o ERP integrador deve acessar e efetuar uma chamada HTTP GET na URL fornecida no parâmetro orderUrl do payload anterior para ler os dados do carrinho de compras e endereços:
/api/od/v1/orders/{orderId}Exemplo Retorno Payload
{
"id": "68689245",
"type": "DELIVERY",
"displayId": "68689245",
"salesChannel": "AIQFOME",
"category": "FOOD",
"createdAt": "2026-06-25T16:55:58Z",
"lastEvent": "DISPATCHED",
"orderTiming": "INSTANT",
"preparationStartDateTime": "2026-06-25T16:55:58Z",
"merchant": {
"id": "loja-pastelaria-automacao-alfredo",
"name": "Pastelaria Automação Alfredo"
},
"items": [
{
"id": "5d345606-cdad-4d65-becd-091a8639a08d",
"name": "Coca Cola Lata",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"specialInstructions": "",
"optionsPrice": {
"value": 0,
"currency": "BRL"
},
"unitPrice": {
"value": 3,
"currency": "BRL"
},
"subtotalPrice": {
"value": 3,
"currency": "BRL"
},
"totalPrice": {
"value": 3,
"currency": "BRL"
}
},
{
"id": "91ab02fd-74bd-4d6f-805d-0a9b570769b1",
"name": "Pastel de carne Simples",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"specialInstructions": "pedido com três itens obrigatório, e três itens adicionais: palmito, azeitona e milho ",
"optionsPrice": {
"value": 14,
"currency": "BRL"
},
"unitPrice": {
"value": 10,
"currency": "BRL"
},
"subtotalPrice": {
"value": 10,
"currency": "BRL"
},
"totalPrice": {
"value": 24,
"currency": "BRL"
},
"options": [
{
"id": "130188944",
"name": "carne seca",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"unitPrice": {
"value": 5,
"currency": "BRL"
},
"totalPrice": {
"value": 5,
"currency": "BRL"
}
},
{
"id": "130188945",
"name": "frango com catupiry",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"unitPrice": {
"value": 5,
"currency": "BRL"
},
"totalPrice": {
"value": 5,
"currency": "BRL"
}
},
{
"id": "130188946",
"name": "bacon ",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"unitPrice": {
"value": 1,
"currency": "BRL"
},
"totalPrice": {
"value": 1,
"currency": "BRL"
}
},
{
"id": "24461082",
"name": "palmito",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"unitPrice": {
"value": 1,
"currency": "BRL"
},
"totalPrice": {
"value": 1,
"currency": "BRL"
}
},
{
"id": "24461083",
"name": "azeitona",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"unitPrice": {
"value": 1,
"currency": "BRL"
},
"totalPrice": {
"value": 1,
"currency": "BRL"
}
},
{
"id": "24461084",
"name": "milho",
"externalCode": "",
"unit": "UN",
"quantity": 1,
"unitPrice": {
"value": 1,
"currency": "BRL"
},
"totalPrice": {
"value": 1,
"currency": "BRL"
}
}
]
}
],
"total": {
"itemsPrice": {
"value": 27,
"currency": "BRL"
},
"otherFees": {
"value": 7,
"currency": "BRL"
},
"discount": {
"value": 0,
"currency": "BRL"
},
"orderAmount": {
"value": 34,
"currency": "BRL"
}
},
"payments": {
"prepaid": 34,
"pending": 0,
"methods": [
{
"value": 34,
"currency": "BRL",
"type": "PREPAID",
"method": "OTHER",
"methodInfo": "Pagamento Online"
}
]
},
"customer": {
"id": "2389ff25-0a8a-4701-a4e3-def2f319e41c",
"name": "automation alfredo",
"documentNumber": "",
"phone": {
"number": "(61) 9 6666-6666",
"extension": "64964848884"
},
"email": "automationalfredoapp@aiqfome.com",
"ordersCountOnMerchant": 9
},
"otherFees": [
{
"name": "Delivery fee",
"type": "DELIVERY_FEE",
"receivedBy": "MERCHANT",
"price": {
"value": 6,
"currency": "BRL"
}
},
{
"name": "Service fee - AIQFOME",
"type": "SERVICE_FEE",
"receivedBy": "MARKETPLACE",
"price": {
"value": 0.9,
"currency": "BRL"
}
},
{
"name": "Service fee - Store",
"type": "SERVICE_FEE",
"receivedBy": "MERCHANT",
"price": {
"value": 0.1,
"currency": "BRL"
}
}
],
"delivery": {
"deliveredBy": "MERCHANT",
"deliveryAddress": {
"country": "BR",
"state": "PR",
"city": "Marialva",
"district": "Centro",
"street": "Rua Nossa Senhora do Rocio",
"number": "791",
"complement": "teste campo complemento",
"reference": "teste campo referência",
"formattedAddress": "Rua Nossa Senhora do Rocio, 791 - Centro - 86990-000",
"postalCode": "86990-000",
"coordinates": {
"latitude": -23.4858489,
"longitude": -51.7932967
}
},
"estimatedDeliveryDateTime": "2026-06-25T17:35:58Z"
},
"extraInfo": "observação no pedido "
}
Tabela de Mapeamento de Campos
Esta tabela apresenta exclusivamente as propriedades presentes no modelo de dados retornado, detalhando o que cada informação representa do ponto de vista do ecossistema do aiqfome:
Blocos Gerais e Estabelecimento
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
id | Identificador único do pedido no banco de dados (order_id). |
type | Modalidade de recebimento do pedido (Retorna TAKEOUT se for retirada, ou DELIVERY se for entrega). |
displayId | Código numérico curto do pedido exibido nas telas de acompanhamento (order_id). |
salesChannel | Canal de venda de origem do pedido (Enviado com o valor fixo "AIQFOME"). |
category | Categoria comercial da loja no aiq: FOOD (Cardápio), GROCERY (Supermercado), DRUGSTORE (Farmácia) ou PETSTORE (Petshop). |
createdAt | Data e hora em que a compra foi realizada no aplicativo, formatada em UTC ISO 8601. |
lastEvent | O último status de evento válido que foi registrado para o pedido. |
orderTiming | Tipo de agendamento do pedido: Retorna SCHEDULED para agendados ou INSTANT para pedidos normais. |
preparationStartDateTime | Timestamp de aceitação/leitura do pedido pela loja (data.timeline.read_at). Se nulo, repassa o horário de criação. |
merchant | Objeto contendo as informações de identificação do restaurante. |
merchant.id | Código de identificação exclusivo da loja dentro da plataforma (data.store.id). |
merchant.name | Nome fantasia da loja vendedora (data.store.name). |
Itens do Carrinho (items[])
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
items[] | Lista de objetos detalhando os produtos que compõem o pedido no carrinho de compras (data.items). |
items[].id | ID exclusivo do item base dentro do pedido (data.items[].id). |
items[].name | Nome comercial do produto. Une "Nome + Tamanho" em itens normais, ou os nomes de cada sabor em multi-sabores. |
items[].externalCode | Código de estoque externo ou SKU cadastrado do produto na loja (data.items[].sku). |
items[].unit | Unidade de medida do produto comercializado (Enviado com o valor padrão "UN"). |
items[].quantity | A quantidade exata pedida deste produto (data.items[].quantity). |
items[].specialInstructions | Instruções especiais ou observações fornecidas pelo cliente para o item específico. |
items[].optionsPrice.value | Soma dos valores agregados de todos os opcionais adicionados àquele item específico. |
items[].optionsPrice.currency | Moeda das opções do item (Enviado sempre fixo como "BRL"). |
items[].unitPrice.value | Preço unitário base e bruto do produto, sem considerar os opcionais (data.items[].unit_value). |
items[].unitPrice.currency | Moeda oficial da precificação do item (Enviado sempre fixo como "BRL"). |
items[].subtotalPrice.value | Cálculo da linha do produto: unit_value X quantity (Desconsidera os opcionais). |
items[].subtotalPrice.currency | Moeda oficial do subtotal do item (Enviado sempre fixo como "BRL"). |
items[].totalPrice.value | Valor total final do item completo, somando o subtotal base e todos os opcionais incluídos. |
items[].totalPrice.currency | Moeda oficial do valor total do item (Enviado sempre fixo como "BRL"). |
Modificadores e Complementos do Item (options[])
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
items[].options[] | Raiz mapeada separando complementos obrigatórios, adicionais ou sabores de pizzas fracionadas. |
items[].options[].id | ID mapeado a partir das listas de opcionais, adicionais ou subitens no pedido. |
items[].options[].name | Nome da opção ou sabor escolhido (Ex: "bacon", "palmito", "Sabor Calabresa"). |
items[].options[].externalCode | Código identificador de SKU ou integração externa da opção no sistema do lojista. |
items[].options[].unit | Unidade física de medida adotada (Enviado como "UN" por padrão para adicionais). |
items[].options[].quantity | Quantidade daquela opção vinculada ao item (Se não houver, assume o valor 1). |
items[].options[].unitPrice.value | Valor unitário cobrado por aquela opção específica (Sabores fracionados entram zerados). |
items[].options[].unitPrice.currency | Moeda da opção selecionada (Enviado sempre como valor fixo "BRL"). |
items[].options[].totalPrice.value | Custo total consolidado da opção (unitPrice.value multiplicado pela sua quantity). |
items[].options[].totalPrice.currency | Moeda do custo total consolidado do modificador (Enviado como valor fixo "BRL"). |
Taxas Adicionais (otherFees[])
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
otherFees[] | Array contendo a abertura e o detalhamento de cada taxa adicional incidente no processamento do pedido. |
otherFees[].name | Nome legível da taxa cobrada (Ex: "Delivery fee", "Service fee - AIQFOME", "Service fee - Store"). |
otherFees[].type | Classificador do tipo da taxa: DELIVERY_FEE para entrega, ou SERVICE_FEE para taxas de serviço ou embalagem. |
otherFees[].receivedBy | Identifica qual entidade retém a taxa: MARKETPLACE se a entrega for do aiqfome, ou MERCHANT se for da loja. |
otherFees[].price.value | Valor monetário exato da taxa cobrada (delivery_tax, total_packing_fee ou service_fee.total). |
otherFees[].price.currency | Moeda oficial da taxa cobrada (Enviado sempre fixo como "BRL"). |
Totais e Fechamento de Valores
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
total | Bloco financeiro de fechamento, resumo matemático e consolidação de valores do pedido. |
total.itemsPrice.value | Soma total bruta de todos os produtos do carrinho, sem contar taxas e descontos (payment_method.subtotal). |
total.itemsPrice.currency | Moeda de fechamento do subtotal bruto (Enviado sempre fixo como "BRL"). |
total.otherFees.value | Somatória consolidada das taxas extras: entrega (delivery_tax) + embalagem (total_packing_fee) + taxas de serviço (service_fee.total). |
total.otherFees.currency | Moeda correspondente às taxas incidentes (Enviado sempre fixo como "BRL"). |
total.discount.value | Valor total de descontos aplicados na compra via cupons de desconto (payment_method.coupon_value). |
total.discount.currency | Moeda de fechamento do bloco de descontos (Enviado sempre fixo como "BRL"). |
total.orderAmount.value | Montante financeiro final líquido a ser pago pelo cliente fominha (payment_method.total). |
total.orderAmount.currency | Moeda do montante total final líquido faturado (Enviado sempre fixo como "BRL"). |
Fluxo de Pagamentos e Cliente
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
payments | Bloco estrutural que centraliza o detalhamento da liquidação da compra. |
payments.prepaid | Valor monetário que foi pago de forma online diretamente pelo aplicativo. |
payments.pending | Valor pendente para ser pago presencialmente no ato da entrega (pago offline). |
payments.methods[] | Lista contendo a abertura das formas de pagamento utilizadas no pedido. |
payments.methods[].value | Valor financeiro alocado especificamente para processamento sob este método (payment_method.total). |
payments.methods[].currency | Moeda de liquidação do método de pagamento (Enviado sempre fixo como "BRL"). |
payments.methods[].type | Tipo de fluxo da cobrança: PREPAID para transações online no app ou PENDING para pagamentos na entrega. |
payments.methods[].method | Canal de pagamento enumerado (Ex: CASH, CREDIT, DEBIT, PIX ou OTHER). |
payments.methods[].methodInfo | Nome textual legível da forma de pagamento exibida na plataforma (payment_method.name). |
customer | Objeto contendo os dados cadastrais e identificação do cliente fominha (data.user). |
customer.id | Identificador único e estável da conta do perfil do usuário logado (data.user.uuid). |
customer.name | Nome completo do comprador (Concatena nome e sobrenome automaticamente). |
customer.documentNumber | CPF ou CNPJ do fominha informado no cadastro (data.user.document_receipt). |
customer.phone | Objeto contendo os números telefônicos cadastrados do consumidor. |
customer.phone.number | Número de telefone principal cadastrado para validação ou contatos (data.user.mobile_phone). |
customer.phone.extension | Ramal secundário ou código complementar associado ao telefone (data.user.phone_number). |
customer.email | Endereço eletrônico de e-mail de cadastro do consumidor utilizado na plataforma. |
customer.ordersCountOnMerchant | Contador numérico registrando o histórico de pedidos efetuados pelo cliente no restaurante. |
Destino Logístico (Endereço de Entrega)
| Campo Open Delivery (JSON) | Descrição / Significado no aiqfome |
|---|---|
delivery | Bloco que centraliza informações de envio e entrega. |
delivery.deliveredBy | Responsável logístico pela entrega: MARKETPLACE se for entregador parceiro do aiqfome ou MERCHANT se for frota própria da loja. |
delivery.deliveryAddress | Bloco unificado contendo os detalhes geográficos e logísticos de localização do destino. |
delivery.deliveryAddress.country | Sigla internacional representativa do país de entrega (Fixo como "BR"). |
delivery.deliveryAddress.state | Estado (UF) correspondente ao ponto de entrega geográfica (data.user.address.state_uf). |
delivery.deliveryAddress.city | Nome oficial completo da cidade de destino logístico cadastrada (data.user.address.city_name). |
delivery.deliveryAddress.district | Nome oficial completo do bairro de destino logístico mapeado (data.user.address.neighborhood_name). |
delivery.deliveryAddress.street | Nome oficial do logradouro, avenida ou rua de envio do pacote (data.user.address.street_name). |
delivery.deliveryAddress.number | Número do endereço da residência ou edifício comercial (data.user.address.number). |
delivery.deliveryAddress.complement | Informações complementares do local de entrega mapeado (data.user.address.complement). |
delivery.deliveryAddress.reference | Ponto de referência textual preenchido pelo cliente para auxiliar o entregador. |
delivery.deliveryAddress.formattedAddress | Endereço de envio corrido gerado por concatenação de propriedades em uma string de texto único. |
delivery.deliveryAddress.postalCode | Código de Endereçamento Postal CEP correspondente (data.user.address.zip_code). |
delivery.deliveryAddress.coordinates | Objeto contendo as coordenadas geográficas mapeadas do destino. |
delivery.deliveryAddress.coordinates.latitude | Latitude geográfica do endereço de entrega (data.user.address.latitude). |
delivery.deliveryAddress.coordinates.longitude | Longitude geográfica do endereço de entrega (data.user.address.longitude). |
delivery.estimatedDeliveryDateTime | Horário limite estimado e calculado para a conclusão e entrega final do pedido (Padrão UTC ISO 8601). |
extraInfo | Campo aberto de texto livre com observações gerais enviadas pelo cliente fominha (data.order_observation). |
🔄 3. Consulta Ativa de Eventos
Para parceiros integradores que não utilizam o recebimento automático por Webhook, o sistema disponibiliza uma rota síncrona para consultar a fila de eventos pendentes:
/api/od/v1/events:pollingExemplo Retorno Payload
[
{
"eventId": "d366a2cd-8752-4834-b83a-72d733bd9bdc",
"eventType": "CREATED",
"orderId": "68689245",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689245",
"createdAt": "2026-06-25T16:56:07Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "c20dafff-9af8-4ab6-a883-745848ff259c",
"eventType": "DELIVERED",
"orderId": "68689272",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689272",
"createdAt": "2026-06-25T17:56:10Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "00cf9d2f-427b-487f-928e-7673aca65ed3",
"eventType": "CREATED",
"orderId": "68689275",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689275",
"createdAt": "2026-06-25T17:57:14Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "67b1caf9-a063-4fb1-a76a-3af9b6ef588d",
"eventType": "CONFIRMED",
"orderId": "68689275",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689275",
"createdAt": "2026-06-25T18:00:08Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "5f31bd4b-5098-4821-a048-18ec9af1d236",
"eventType": "READY_FOR_PICKUP",
"orderId": "68689275",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689275",
"createdAt": "2026-06-25T18:00:47Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "7eb33bbd-79fe-470e-9916-89546710a5f0",
"eventType": "DELIVERED",
"orderId": "68689275",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689275",
"createdAt": "2026-06-25T18:01:11Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "3da0a7c2-bbcf-477c-8fe2-d2295f098f12",
"eventType": "CREATED",
"orderId": "68689354",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689354",
"createdAt": "2026-06-25T20:38:15Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "2a615940-47be-4f94-a323-643535eb64db",
"eventType": "CREATED",
"orderId": "68689355",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689355",
"createdAt": "2026-06-25T20:52:50Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "42d8dbb9-fcf1-4036-9d7b-1df65078735f",
"eventType": "CREATED",
"orderId": "68689356",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689356",
"createdAt": "2026-06-25T20:53:41Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
},
{
"eventId": "b037b55e-bf26-4542-aa6f-30a08b26b9b3",
"eventType": "CREATED",
"orderId": "68689357",
"orderURL": "https://plataforma.aiqfome.com/api/od/v1/orders/68689357",
"createdAt": "2026-06-25T20:55:26Z",
"sourceAppId": "a96f5ed6-9134-454d-93e1-85235c6583fa"
}
]
Para parceiros integradores que não utilizam o recebimento automático por Webhook, o sistema disponibiliza uma rota síncrona para consultar a fila de eventos pendentes. A chamada retorna a lista de eventos que ainda não receberam a confirmação de leitura, trazendo no máximo 100 eventos por consulta.
Existe também a possibilidade de otimizar a consulta filtrando os resultados da fila diretamente pelo tipo de evento desejado, utilizando o parâmetro eventType. Exemplo de uso:
/api/od/v1/events:polling?eventType=CREATED
Janela de Retenção de Dados: O endpoint de Polling possui uma restrição de tempo fixa: a consulta retornará exclusivamente eventos gerados dentro das últimas 48 horas. Registros que ultrapassarem essa janela perdem a validade operacional nesta fila.
📥 Confirmação de Leitura
Após capturar a lista de mensagens na rota de Polling e processá-las localmente, o software do parceiro deve realizar um envio para dar a baixa e liberar a fila daquela loja:
/api/od/v1/events/acknowledgmentExemplo Payload
[
{
"id": "4e11934d-fca1-42d7-862c-a24c5872fb6d",
"orderId": "68681506",
"eventType": "CREATED"
}
]
Parâmetros do Corpo (Payload)
Para realizar a baixa e liberar a fila de mensagens no Polling de contingência, o software do parceiro deve realizar um envio contendo os dados dos eventos que foram processados localmente:
| Campo | Obrigatório | Descrição |
|---|---|---|
[] (Raiz) | ✅ | Lista (lote) em formato de Array contendo os objetos dos eventos processados pelo parceiro para baixa automática na fila de polling. |
id | ✅ | O identificador único global do evento (event_uuid) em formato UUID retornado previamente na fila do polling. |
orderId | ✅ | O identificador do pedido associado a este evento no ecossistema de pedidos. |
eventType | ✅ | O tipo de evento correspondente. Lista de Enums aceitos: CREATED, CONFIRMED, DISPATCHED, READY_FOR_PICKUP, DELIVERED, CANCELLED |
⚡ 4. Atualização de Status do Pedido
À medida que o pedido avança de fase dentro do estabelecimento, a sua aplicação externa deve enviar comandos para atualizar o fluxo do ciclo de vida através dos endpoints dedicados:
A. Aceitar/Confirmar o Pedido
/api/od/v1/orders/{id}/confirmExemplo Payload
{
"reason": "Aceito Por Alfredo Automação",
"createdAt": "2026-06-23T15:12:43Z",
"orderExternalCode": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"preparationTime": "40"
}
Parâmetros do Corpo (Payload)
| Campo | Obrigatório | Descrição |
|---|---|---|
createdAt | ✅ | Data e hora no formato ISO 8601/UTC (Z) indicando o momento exato da aceitação do pedido no sistema. |
orderExternalCode | ✅ | O código identificador e de controle do pedido gerado de forma interna dentro do próprio sistema de PDV/ERP do integrador. |
reason | ❌ | Justificativa ou nota textual opcional sobre o aceite do pedido. |
preparationTime | ❌ | Tempo estimado de preparo em minutos enviado pelo restaurante, útil para atualizar a previsão de entrega na plataforma |
B. Finalizar a Preparação
/api/od/v1/orders/{id}/ready-for-pickupInforma ao aiqfome que a cozinha ou a separação dos produtos foi concluída e o pacote está pronto para ser retirado pelo cliente. Apenas para pedido que é retirada.
C. Despachar o Pedido
/api/od/v1/orders/{id}/dispatchInforma ao aiqfome que os produtos saíram do estabelecimento e o pedido já se encontra em rota física de deslocamento até o endereço de destino. Apenas para pedido que é entrega.
D. Marcar como Entregue
/api/od/v1/orders/{id}/deliveredInforma ao aiqfome que o ciclo de entrega foi finalizado e o pedido foi recebido com sucesso pelo destinatário no endereço de destino.