Sigue estas recomendaciones al trabajar con webhooks.
Responde rápidamente
Responde a la request con 202 Accepted en hasta dos segundos. El tiempo límite de la request es de cinco segundos. Usa una cola para almacenar el evento y procesa después. Esto evita fallas por timeout y garantiza resistencia a grandes volúmenes.
Valida el header usando el byte array del body
Valida la firma usando el byte array del body, sin transformaciones. No alteres o hagas parse antes de validar. Usa el buffer bruto de la request para evitar inconsistencias.
Gestiona atrasos
Puede haber atrasos en la entrega de eventos. Si un evento antiguo causa problemas, compara el timestamp del evento con la hora actual.
Ignorar eventos duplicados
Puedes recibir el mismo evento más de una vez. Implementa operaciones idempotentes. Identifica duplicidades por el campo id del evento.
Rastrea fallas
Monitorea códigos de respuesta y métricas de entrega. Corrige fallas antes de que impacten tus usuarios.
Busca eventos descartados y rutinas de reconciliación
Si tu aplicación queda offline, recupera eventos de las últimas 8h por el endpoint de polling. Usa polling con frecuencia menor como fallback, por ejemplo, cada 30 minutos.
Permite los IPs del iFood en el firewall
Garantiza que los IPs abajo estén liberados en el firewall para recibir requests de los webhooks:
34.202.11.230
34.228.183.194
44.207.41.97
44.208.105.236
54.85.55.192
Podemos alterar esos IPs sin aviso previo. Siempre consulta la documentación para obtener la lista actualizada.
Para mayor seguridad, permite apenas los IPs necesarios, evitando liberar todos los IPs externos.
¿Esta página fue útil?
Evalúa tu experiencia en el nuevo portal de desarrolladores: