Skip to main content
Registra una URL HTTPS de tu aplicación y te enviaremos un 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:
La respuesta trae el 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: cabeceras webhook-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:
Usa el cuerpo tal cual llega (sin volver a serializar el JSON). verifyWebhook rechaza una firma que no cuadra y un mensaje de hace más de 5 minutos.

Reintentos

Responde con un 2xx 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.