Por qué webhooks
En vez de polear/v1/refresh_intents/{id}, suscríbete a eventos. Rail te avisa cuando un sync termina, un link expira, o aparecen movs nuevos.
Setup
Crea un endpoint en el dashboard (dashboard.rail.cl → Para desarrolladores → Webhooks) o via API:secret — guárdalo, lo necesitas para verificar firmas.
Verificar firma
Cada delivery viene con headerRail-Signature: t=<timestamp>,v1=<hex>. Verifica con HMAC-SHA256:
Eventos disponibles
Estructura del payload
data siempre contiene el recurso afectado en su forma actual (post-update).
Retry policy
Si tu endpoint devuelve != 2xx, Rail reintenta con backoff exponencial:
Después del 6to fallo, marcamos la delivery como
failed. Puedes ver el historial en el dashboard o vía GET /v1/webhook_deliveries.
Redeliver manual
Si tu endpoint estuvo caído y quieres re-recibir un evento específico:Idempotency
Tu handler debe ser idempotente: Rail puede entregar el mismo evento más de una vez (cuando hay timeouts, retries, redelivers). Usa elevent.id como dedup key en tu DB.