POST firmado cada vez que un documento de ese proyecto
termine. Es la forma de llevarte cada documento a tu sistema antes de que acabe su retención, sin
consultar la API cada poco.
Registrar un endpoint
En el panel, Webhooks → Añadir endpoint, o con la API:secret (whsec_…) solo una vez: guárdalo. La URL tiene que ser HTTPS y estar en una
dirección pública. Cada endpoint es de un proyecto. GET /webhook-endpoints los lista y
DELETE /webhook-endpoints/{id} borra uno.
Qué te enviamos
Los eventos finales:document.ready, document.failed, document.canceled y, al guardar un archivo editado a mano, document.updated o document.update_failed (con event_types puedes quedarte solo
con algunos). Nunca el contenido del documento: pídelo con GET /documents/{id} y descarga sus ficheros. Leer un
fichero no avisa: es una lectura y su respuesta ya trae el texto.
Comprobar la firma
Seguimos Standard Webhooks: cabeceraswebhook-id, webhook-timestamp y
webhook-signature (v1, + HMAC-SHA256 en base64 de {id}.{timestamp}.{cuerpo}, con la clave que va tras whsec_,
decodificada de base64). Con el SDK:
verifyWebhook rechaza una firma que no cuadra y un
mensaje de hace más de 5 minutos.
Reintentos
Responde con un2xx en menos de 20 segundos. Si no, reintentamos durante unas 10 horas: a los 5 s, 30 s, 2 min,
10 min, 30 min, 1 h, 3 h y 6 h. Un mismo evento puede llegarte más de una vez: deduplica por webhook-id.