Buscar en la documentación
ctrl+4K
Módulos
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Soluciones

Eventos de pedido

Eventos notificam mudanças em pedidos, como criação, confirmação, cancelamento ou conclusão. Use eventos para manter seu sistema sincronizado com o iFood em tempo real.Por que eventos são importantes:
  • ✅ Sincronização automática: seu sistema recebe atualizações sem precisar consultar repetidamente a API
  • ✅ Menor latência: descubra mudanças assim que elas acontecem
  • ✅ Escalabilidade: processe múltiplos pedidos simultaneamente sem sobrecarregar a API

Todos eventos seguem o mesmo formato:
NomeDescrição
idId único do evento
codeCódigo do evento
fullCodeCódigo completo do evento (nome)
orderIdPedido ao qual esse evento está vinculado
merchantIdId do merchant do pedido
createdAtData de criação do evento
salesChannelCanal de vendas pelo qual o pedido entra na plataforma (novos canais podem ser adicionados). Possíveis valores: IFOOD, DIGITAL_CATALOG, POS, ECONOMIC, TOTEM, IFOOD_SHOP, IFOOD_APP, IFOOD_SITE, WAITER, PDV, QR_CODE, IFOOD_SHOP_APP, IFOOD_SHOP_SITE, GROCERY_WHITELABEL_SITE
metadatainformações adicionais do evento
{
  "id": "b03392c5-61dd-47c4-a503-bce3109c96c8",
  "code": "CFM",
  "fullCode": "CONFIRMED",
  "orderId": "93ba4bf4-f4ae-4de8-8017-35d7c7de9bf1",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "createdAt": "2021-02-17T19:36:55.295Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "CLIENT_ID": "3c587f8f-fb22-46a7-88f8-781246a3ea3f"
  }
}
Eventos são organizados por grupo para facilitar o entendimento do ciclo de vida do pedido:
GrupoDescrição
ORDER_STATUSEventos que representam uma mudança no status do pedido
CANCELLATION_REQUESTEventos relacionados ao cancelamento de um pedido
ORDER_TAKEOUTEventos relacionados à retirada de pedidos
DELIVERYEventos relacionados à entrega de um pedido
DELIVERY_ADDRESSEventos relacionados à mudanças no endereço de entrega de um pedido
DELIVERY_GROUPEventos relacionados a agrupamento de entrega de pedidos
DELIVERY_ONDEMANDEventos relacionados à solicitação do serviço de entrega iFood sob demanda (modelo híbrido ou marketplace)
DELIVERY_COMPLEMENTEventos relacionados à entrega complementar (quando o pedido entregue está incompleto)
ORDER_HANDSHAKEEventos relacionados à plataforma de negociação
Alguns eventos não exigem ação no seu sistema (ex: RECOMMENDED_PREPARATION_START). Mesmo ignorando-os, envie o acknowledgment para evitar reenvio em futuras requisições de polling.
Rastreie mudanças no status do pedido, desde a criação até a conclusão ou cancelamento.
NomeCódigoDescrição
PLACEDPLCNovo pedido na plataforma
CONFIRMEDCFMPedido foi confirmado e será preparado
SEPARATION_STARTEDSPSIndica o início do processo de separação dos itens do pedido (Exclusivo para pedidos de Mercado)
SEPARATION_ENDEDSPEIndica a conclusão da sepração dos itens do pedido (Exclusivo para pedidos de Mercado)
READY_TO_PICKUPRTPIndica que o pedido está pronto para ser retirado (pelo cliente ou pelo entregador)
DISPATCHEDDSPIndica que o pedido saiu para entrega (Delivery)
CONCLUDEDCONPedido foi concluído
CANCELLEDCANPedido foi cancelado
O iFood gera o evento CONCLUDED automaticamente. O tempo de geração pode variar entre o momento da entrega e até duas horas depois.

Exemplos

{
  "id": "58c3f8fc-fb2a-49a3-b99c-09ecf2cd590d",
  "code": "PLC",
  "fullCode": "PLACED",
  "orderId": "8ee1ba27-b3be-4164-8f5c-285236a20ecc",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "createdAt": "2021-02-17T15:07:20.04Z",
  "salesChannel": "IFOOD"
}
Gerencie solicitações de cancelamento feitas pela loja, cliente ou iFood.Contexto: Sempre que uma solicitação de cancelamento é aprovada, um evento CANCELLED (CAN) também é gerado.
NomeCódigoDescrição
CANCELLATION_REQUESTEDCARSolicitação de cancelamento feita pelo Merchant (loja) ou pelo iFood de maneira automática (pedidos não confirmados dentro do prazo) ou de maneira manual através do nosso time de atendimento
CANCELLATION_REQUEST_FAILEDCARFSolicitação de cancelamento negada
CONSUMER_CANCELLATION_REQUESTEDCCRSolicitação de cancelamento feita pelo cliente
CONSUMER_CANCELLATION_ACCEPTEDCCAA solicitação de cancelamento feita pelo cliente foi aprovada pelo Merchant (loja)
CONSUMER_CANCELLATION_DENIEDCCDA solicitação de cancelamento feita pelo cliente foi negada pelo Merchant (loja)

Limite de tentativas

Para garantir a estabilidade do sistema e prevenir uso indevido, o iFood implementou um limite de máximo 5 eventos por usuário e código de cancelamento a cada 12 horas para os eventos CANCELLATION_REQUESTED e CANCELLATION_REQUEST_FAILED.Tentativas que excederem o limite são automaticamente ignoradas e não geram novos eventos.

Exemplos

{
  "id": "4d063d88-32f6-4b89-b68b-48890b098c71",
  "orderId": "dd2796df-1c09-446b-a3b4-81f28849c459",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "code": "CAR",
  "fullCode": "CANCELLATION_REQUESTED",
  "createdAt": "2021-02-17T19:51:45.704Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "reason_code": "504",
    "details": "MANUAL(RESTAURANT_WITHOUT_DELIVERY_MAN) - Restaurante sem entregador",
    "ORIGIN": "ORDER_MANAGER",
    "CLIENT_ID": "iconnect_v3_homologation"
  }
}
Gerencie negociações entre loja e cliente sobre problemas com pedidos (cancelamentos, devoluções, reembolsos).Quando usar: Esses eventos exigem ação obrigatória da loja dentro do prazo especificado.
NomeCódigoDescrição
HANDSHAKE_DISPUTEHSDO evento indica que uma negociação foi iniciada e que obrigatoriamente deve ser respondida
HANDSHAKE_SETTLEMENTHSSO evento sinaliza e formaliza que uma negociação foi respondida
Saiba mais sobre a Plataforma de Negociação

Exemplos

{
  "id": "6d34f8be-7fa6-40f1-877f-8ac564db2a7c",
  "orderId": "23f5d785-6c76-47d8-bdd0-b3090c90a2a8",
  "code": "HSD",
  "fullcode": "HANDSHAKE_DISPUTE",
  "merchantId": "23f5d785-6c76-47d8-bdd0-b3090c90a2a8",
  "createdAt": "2023-06-23T13:09:06.287636Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "disputeId": "5166ded9-bdee-4440-8c73-b5488e8b1f83",
    "action": "CANCELLATION",
    "timeoutAction": "REJECT_CANCELLATION",
    "handshakeType": "AFTER_DELIVERY",
    "handshakeGroup": "CUSTOMER_ORDER_SUPPORT",
    "message": "Pedido veio errado",
    "expiresAt": "2023-06-23T13:15:06.287636Z",
    "alternatives": [
      {
        "id": "2d35d0b9-67ae-46d2-8261-f0a40e5d07fd",
        "type": "REFUND",
        "metadata": {
          "maxAmount": {
            "value": "6000",
            "currency": "BRL"
          }
        }
      }
    ],
    "metadata": {
      "evidences": [
        {
          "url": "https://merchant-api.ifood.com.br/notification/v1.0/orders/{orderId}/assets/{imageId}",
          "contentType": "image/jpg"
        }
      ],
      "items": [
        {
          "id": "296b1757-4edf-4a4a-9f03-dfc10d4e907a",
          "uniqueId": "fe3620ad-c475-4f01-93b9-1ed95907a9ab",
          "integrationId": "73",
          "index": 1,
          "quantity": 1,
          "amount": {
            "value": "3890",
            "currency": "BRL"
          },
          "reason": "Não veio a batata, apenas as esfihas"
        }
      ],
      "garnishItems": [
        {
          "id": "ffa2e2f0-361e-4076-8781-e7c8073326e1",
          "parentUniqueId": "efe73d06-ccfd-4605-a2a5-1b5b64284b47",
          "integrationId": "MAI-9601273-601273",
          "quantity": 1,
          "index": 2,
          "amount": {
            "value": "2650",
            "currency": "BRL"
          },
          "reason": "Revirado e faltando o queijo"
        }
      ]
    },
    "createdAt": "2023-06-23T13:06:50.448434Z"
  },
  "receivedAt": "2023-06-23T13:06:50.628451Z"
}
Monitore o ciclo completo de entrega, desde alocação do entregador até a confirmação final.Quando usar: Esses eventos são essenciais para rastrear pedidos em tempo real e validar coletas/entregas.
NomeCódigoDescrição
ASSIGN_DRIVERADRUm entregador foi alocado para realizar a entrega
GOING_TO_ORIGINGTOEntregador está a caminho da origem para retirar o pedido
ARRIVED_AT_ORIGINAAOEntregador chegou na origem para retirar o pedido
DELIVERY_DRIVER_DEALLOCATEDDDDEntregador foi desalocado da rota de entrega
COLLECTEDCLTEntregador coletou o pedido
ARRIVED_AT_DESTINATIONAADEntregador chegou no endereço de destino
DELIVERY_RETURNING_TO_ORIGINDRGOEntregador está retornando ao local de origem(coleta) do pedido
DELIVERY_RETURNED_TO_ORIGINDRDOEntregador já retornou ao local de origem(coleta) do pedido
DELIVERY_CANCELLATION_REQUESTEDDCRSolicitação de cancelamento de entregador
DELIVERY_DROP_CODE_REQUESTEDDDCRInforma o código de confirmação de entrega do pedido
DELIVERY_DROP_CODE_VALIDATION_SUCCESSDDCSO código de confirmação de entrega foi validado com sucesso
DELIVERY_RETURN_CODE_REQUESTEDDRCRInforma a decisão e o código de confirmação da devolução
DELIVERY_PICKUP_CODE_REQUESTEDDPCRInforma o código de confirmação de coleta do pedido
DELIVERY_PICKUP_CODE_VALIDATION_SUCCESSDPCSO código de confirmação de coleta foi validado com sucesso

Pedidos de entrega parceira

Pedidos de entrega parceira (deliveryBy: "IFOOD") podem ter múltiplas entregas. Isso ocorre, por exemplo, se faltar um item do pedido e for necessária uma segunda entrega, ou quando um pedido grande é dividido entre vários entregadores.Os eventos trazem três campos no metadata para identificar o tipo de entrega:
  1. deliveryId: identifica cada entrega de forma única e permite rastrear todas as etapas, mesmo em pedidos com múltiplas entregas ou eventos logísticos repetidos.
  2. deliveryType: indica se a entrega é MAIN (principal) ou COMPLEMENT (complementar).
  3. deliveryComplementType: detalha o tipo de entrega complementar — HUGE_ORDER para pedidos grandes divididos entre entregas ou MISSING_ITEM para itens faltantes. Entregas complementares são exclusivas de pedidos feitos pelo iFood.
Em pedidos Sob Demanda (salesChannel: "POS"), os eventos DELIVERY_DROP_CODE incluem o campo `code` no metadata. Em pedidos Full-Service (salesChannel: "IFOOD"), esses eventos não incluem o campo `code`.

Exemplos

{
  "id": "4d063d88-32f6-4b89-b68b-48890b098c71",
  "orderId": "dd2796df-1c09-446b-a3b4-81f28849c459",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "code": "ADR",
  "fullCode": "ASSIGN_DRIVER",
  "createdAt": "2021-02-17T19:51:45.704Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "deliveryId": "b0954b6b-f99c-44b6-ba1e-987f32b2b22a",
    "deliveryType": "MAIN",
    "workerVehicleType": "CAR",
    "workerName": "Fulano da Silva",
    "workerExternalUuid": "99d1d32e-7001-4b94-b969-17366d40159b",
    "workerPhotoUrl": "https://nv-production-logistics-driver-account.s3.amazonaws.com/static/drivers/photo/99d1d32e-7001-4b94-b969-17366d401999.jpg"
  }
}
Gerencie alterações no endereço de entrega solicitadas pelo cliente.Contexto: Exclusivo para pedidos Sob Demanda (salesChannel: "POS").Os eventos de DELIVERY_ADDRESS são exclusivos para pedidos do Sob Demanda (salesChannel:"POS").
NomeCódigoDescrição
DELIVERY_ADDRESS_CHANGE_REQUESTEDDARCliente solicitou alteração do endereço de entrega do pedido
DELIVERY_ADDRESS_CHANGE_USER_CONFIRMEDDAUCliente confirmou o endereço de entrega
DELIVERY_ADDRESS_CHANGE_ACCEPTEDDAAA alteração do endereço de entrega foi aprovada pelo parceiro
DELIVERY_ADDRESS_CHANGE_DENIEDDADA alteração do endereço de entrega foi negada pelo parceiro

Exemplos

{
  "id": "4d063d88-32f6-4b89-b68b-48890b098c71",
  "orderId": "dd2796df-1c09-446b-a3b4-81f28849c459",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "code": "DAR",
  "fullCode": "DELIVERY_ADDRESS_CHANGE_REQUESTED",
  "createdAt": "2021-02-17T19:51:45.704Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "address": {
      "streetName": "Rua de teste",
      "streetNumber": "1",
      "complement": "Teste",
      "reference": "Teste",
      "neighborhood": "Centro",
      "city": "Bairro de Teste",
      "state": "AC",
      "country": "BR",
      "coordinates": {
        "latitude": -9.11,
        "longitude": -67.22
      }
    }
  }
}
Rastreie agrupamento de pedidos em uma mesma rota de entrega.Contexto: Pedidos com endereços próximos podem ser agrupados para otimizar entregas.
NomeCódigoDescrição
DELIVERY_GROUP_ASSIGNEDDGAPedido agrupado com outros em uma mesma rota
DELIVERY_GROUP_DISMISSEDDGDPedido removido do agrupamento
DELIVERY_GROUP_ASSOCIATEDDGACPedido associado a um grupo de entrega (nova versão)
DELIVERY_GROUP_DISSOCIATEDDGDCPedido desassociado do grupo de entrega (nova versão)
DELIVERY_GROUP_UPDATEDDGUGrupo de entrega alterado (nova versão)
Migração em andamento
  • 12/09/2025: Novos eventos DELIVERY_GROUP_ASSOCIATED, DISSOCIATED e UPDATED entram em produção
  • 13/10/2025: Eventos antigos DELIVERY_GROUP_ASSIGNED e DISMISSED serão descontinuados
Veja detalhes da migração

NomeCódigoDescrição
DELIVERY_GROUP_ASSIGNEDDGAIndica que 2 ou mais pedidos foram agrupados em uma mesma rota de entrega
DELIVERY_GROUP_DISMISSEDDGDIndica que a rota de entrega de pedidos agrupadas foi destituída
DELIVERY_GROUP_ASSOCIATEDDGACIndica que o pedido foi associado a um grupo de entrega, ou seja, uma rota com múltiplos pedidos
DELIVERY_GROUP_DISSOCIATEDDGDCIndica que o pedido foi desassociado do grupo de entrega
DELIVERY_GROUP_UPDATEDDGUIndica que houve uma alteração no grupo de entrega

Exemplos

{
  "id": "4d063d88–32f6–4b89-b68b-48890b098c71",
  "orderId": "dd2796df-1c09–446b-a3b4–81f28849c459",
  "merchantId": "820af392–002c-47b1-bfae-d7ef31743c99",
  "code": "DGAC",
  "fullCode": "DELIVERY_GROUP_ASSOCIATED",
  "createdAt": "2025–08–17T19:51:45.704Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "deliveryGroupId": "4d063d88–32f6–4b89-b68b-48890b098c71",
    "orderIds": [
      "849516e1–1493–40d9–82a0–49640dc09311",
      "a874d6c2–0a57–447a-b8a0-c0080299f158",
      "ece9e2a1-da09–47f8–9e85-ee7828d2a31f"
    ]
  }
}
Gerencie solicitações de entrega sob demanda para modelo híbrido/marketplace.Contexto: Use quando a loja solicita entrega iFood para pedidos próprios.
NomeCódigoDescrição
REQUEST_DRIVERRDRIndica que foi feita uma requisição do serviço de entrega sob demanda
REQUEST_DRIVER_SUCCESSRDSRequisição de entrega aprovada
REQUEST_DRIVER_FAILEDRDFRequisição de entrega negada
Valores possíveis: SAFE_MODE_ON, OFF_WORKING_SHIFT_POST, CLOSED_REGION, SATURATED_REGION
DELIVERY_CANCELLATION_REQUEST_ACCEPTEDDCRAA solicitação de cancelamento de entregador foi realizada com sucesso
DELIVERY_CANCELLATION_REQUEST_REJECTEDDCRRA solicitação de cancelamento de entregador não foi realizada

Exemplos

{
  "id": "4d063d88-32f6-4b89-b68b-48890b098c71",
  "orderId": "dd2796df-1c09-446b-a3b4-81f28849c459",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "code": "RDR",
  "fullCode": "REQUEST_DRIVER",
  "createdAt": "2021-02-17T19:51:45.704Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "ORIGIN": "ORDER_MANAGER",
    "CLIENT_ID": "iconnect_v3_homologation"
  }
}
Gerencie entregas complementares quando itens faltam no pedido original.Contexto: Quando um pedido é entregue incompleto, o entregador pode retornar à loja para buscar os itens faltantes.
NomeCódigoDescrição
RETURN_TO_STORERTSSolicitação de retorno para buscar itens do pedido que faltaram (complementar o pedido entregue incompleto)

Exemplo

{
  "id": "05dec672-5fd7-46ce-bdd2-fda515d33eb8",
  "code": "RTS",
  "fullCode": "RETURN_TO_STORE",
  "orderId": "96eebd06-50a5-4e87-908d-d93bbb1ef17b",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "createdAt": "2021-02-23T15:28:13.084Z",
  "salesChannel": "IFOOD"
}
Eventos diversos que não se encaixam nos grupos acima. Não é possível filtrar esses eventos por grupo.
NomeCódigoDescrição
ORDER_PATCHEDOPAIndica que houve uma alteração no pedido
RECOMMENDED_PREPARATION_STARTRPSRecomendação de início do preparo do pedido para otimizar a retirada e entrega. Gerado somente para pedidos com entrega iFood e quando nossos algoritmos identificam uma oportunidade de otimizar o início de preparo.
PREPARATION_STARTEDPRSPedido começou a ser preparado
CONSUMER_PREPARATION_TIME_REQUESTEDCPRCliente solicita informações sobre o tempo de preparo do pedido
CHANGE_PREPARATION_TIMECPTInforma ao cliente que houve uma mudança no tempo de preparo do pedido
BOX_ASSIGNEDBOAPedido elegível para ser deixado no iFood Box
READY_FOR_INVOICERFIPedido elegível para geração e impressão da Nota Fiscal
Eventos opcionaisAlguns eventos não exigem ação (ex: RECOMMENDED_PREPARATION_START). Mesmo ignorando-os, envie o acknowledgment para evitar reenvio.

Exemplos

{
  "id": "4d063d88-32f6-4b89-b68b-48890b098c71",
  "orderId": "dd2796df-1c09-446b-a3b4-81f28849c459",
  "merchantId": "820af392-002c-47b1-bfae-d7ef31743c99",
  "code": "OPA",
  "fullCode": "ORDER_PATCHED",
  "createdAt": "2021-02-23T11:51:45.704Z",
  "salesChannel": "IFOOD",
  "metadata": {
    "changes": [
      {
        "changeType": "EDIT_ITEMS",
        "items": [
          {
            "id": "3dc09021-be6b-4be6-92a1-15a07b464141",
            "uniqueId": "3dc09021-be6b-4be6-92a1-15a07b464141",
            "externalCode": "123",
            "changes": {
              "optionsChanges": [
                {
                  "changeType": "ADD_OPTIONS",
                  "options": [
                    {
                      "id": "d585214c-b95a-4c4d-9d05-16f7d8f99999",
                      "externalCode": "1234567",
                      "quantity": 1,
                      "unitPrice": 2
                    }
                  ]
                },
                {
                  "changeType": "EDIT_OPTIONS",
                  "options": [
                    {
                      "id": "d585214c-b95a-4c4d-9d05-16f7d8f98799",
                      "quantity": {
                        "from": 2,
                        "to": 1
                      },
                      "unitPrice": 7
                    }
                  ]
                },
                {
                  "changeType": "DELETE_OPTIONS",
                  "options": [
                    {
                      "id": "d585214c-b95a-4c4d-9d05-16f7d8f98789"
                    }
                  ]
                }
              ],
              "quantity": {
                "from": "1",
                "to": "800"
              },
              "unit": {
                "from": "KG",
                "to": "g"
              }
            },
            "unitPrice": 20,
            "optionsPrice": {
              "from": 8.5,
              "to": 2
            },
            "totalPrice": {
              "from": 28.5,
              "to": 22
            }
          }
        ]
      }
    ],
    "total": {
      "subtotal": {
        "from": 28.5,
        "to": 22
      }
    },
    "payments": {
      "methods": [
        {
          "value": 22,
          "currency": "BRL",
          "type": "ONLINE",
          "method": "CREDIT / DEBIT / MEAL_VOUCHER / FOOD_VOUCHER",
          "card": {
            "brand": "Nome da Bandeira"
          }
        }
      ]
    }
  }
}
¿Esta página fue útil?
Evalúa tu experiencia en el nuevo portal de desarrolladores: