Conceitos
Polling vs Webhook
Webhooks eliminam necessidade de polling contínuo. O iFood envia eventos automaticamente via HTTPS.Comparação:| Aspecto | Polling | Webhook |
|---|
| Latência | 30s–60s | Tempo real |
| Infraestrutura | Cliente consulta API | iFood envia para endpoint |
| Ideal para | Integrações distribuídas | Integrações centralizadas |
| Requisitos | Baixa disponibilidade OK | Alta disponibilidade obrigatória |
![]()

Como funciona
- Evento ocorre (ex.: novo pedido)
- iFood envia request
POST para seu endpoint - Você valida assinatura e responde
202 Accepted - Processa evento assíncronamente
Componentes principais
Evento
Mensagem JSON com informações do pedido. Veja estrutura do evento.Assinatura (X-IFood-Signature)
Header HMAC SHA256 para validar autenticidade. Veja como validar.Presença (Heartbeat)
Indica se merchant está online. Veja presença no webhook.
Resiliência
O iFood tenta entregar eventos por até 15 minutos após a primeira tentativa.Ciclo de retentativas:- Primeira falha → reenvio após 30s
- Falhas subsequentes → intervalo crescente
- Após 15 min → evento descartado
Notificações de erro
Você recebe e-mails automáticos quando ocorrem falhas:| Tipo | Frequência | Ação necessária |
|---|
| Falha de healthcheck | Diária | Imediata |
| Alerta de erro | Diária | Correção em 24h |
| Alerta crítico | A cada 4h | Imediata |
| Webhook desabilitado | Uma vez | Após 72h sem correção |
Limitações
Garantias
- ✅ At-least-once delivery: Evento pode ser entregue mais de uma vez
- ❌ Não garante ordem: Eventos podem chegar fora de ordem
- ❌ Sem acknowledgment: Não há confirmação explícita pós-entrega
Restrições
- 1 URL por aplicativo (máx. 250 caracteres)
- Timeout de 5 segundos
- Sem filtros por tipo de evento ou merchant
Idempotência obrigatória: Use campo id para identificar duplicatas.
Critérios de homologação
- ✅ Receber eventos com sucesso
- ✅ Validar assinatura corretamente
- ✅ Rejeitar eventos com assinatura inválida
- ✅ Responder em até 5 segundos
Esta página foi útil? Avalie sua experiência no novo Developer portal: