Recibir los eventos de Drime Sign con webhooks
Recibe una notificación HTTP en tu servidor cuando un documento se envía, se ve, se firma, se rechaza o se completa en Drime Sign, y comprueba su origen.
Un webhook hace que Drime llame a tu servidor cada vez que ocurre algo con tus solicitudes de firma. Cada llamada es un POST JSON, firmado con un secreto para que tu servidor pueda comprobar que viene de Drime.
#Añadir un webhook
Abre Ajustes > Desarrolladores > Webhooks.
Desde Firmar, también puedes hacer clic en Preferencias, abrir la pestaña Webhooks y luego Abrir los ajustes de Desarrolladores.
Haz clic en Añadir un webhook.
En URL del endpoint, introduce la dirección del servidor que recibe las llamadas.
En Eventos, pon en Activado cada evento que quieras recibir y haz clic en Crear el webhook.
Webhook creado lo confirma.
Copia el secreto ahora y haz clic en Hecho.
Secreto del webhook: cópialo ahora: solo se muestra una vez. Guárdalo en un lugar seguro.

#Los eventos
Evento | Se envía cuando |
|---|---|
| Se envía un documento para firmar |
| Todos los firmantes han firmado |
| Un firmante ha rechazado, así que el documento queda rechazado |
| Un firmante ha abierto el documento |
| Un firmante ha firmado |
| Un firmante ha rechazado |
| Se crea una plantilla |
#Qué envía Drime
Cada llamada lleva estas cabeceras:
X-Drime-Event: el evento, por ejemploenvelope.completed;X-Drime-Delivery: el número de la entrega;X-Drime-Signature:sha256=seguido del HMAC SHA-256 del cuerpo sin procesar, calculado con tu secreto.
El cuerpo JSON contiene event_type, event_uuid, timestamp y data, el documento en cuestión con sus firmantes. La sección Webhooks muestra un ejemplo completo en Ejemplo de petición y verificación de firma.
Una entrega puede llegar más de una vez: usa event_uuid para procesar cada evento una sola vez.
#Comprobar la firma
Calcula el HMAC SHA-256 del cuerpo sin procesar de la petición con tu secreto y compáralo con la cabecera X-Drime-Signature. Por ejemplo, en Node.js:
import crypto from 'node:crypto';
function isFromDrime(rawBody, header, secret) {
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
return header.length === expected.length && crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}Usa el cuerpo exactamente como lo recibes, antes de cualquier análisis del JSON.
#Probar y seguir las entregas
Enviar una prueba envía un evento de prueba: Evento de prueba en cola: consulta el registro de entregas.
Entregas muestra cada llamada con su estado: Éxito, Pendiente o Fallido. Reenviar vuelve a enviar una entrega.
Si tu servidor no responde o responde con un error, Drime lo vuelve a intentar, hasta 10 intentos en unas 34 horas.
El interruptor Activado / Desactivado pausa un webhook sin eliminarlo: Webhook en pausa lo confirma, y Webhook activado cuando lo vuelves a activar.
#Cambiar el secreto o eliminar el webhook
Regenerar el secreto crea un secreto nuevo. La aplicación advierte: ¿Rotar el secreto? Tu secreto actual dejará de funcionar de inmediato. Actualiza tu servidor enseguida.
Eliminar quita el webhook: ¿Eliminar este webhook y todo su historial de entregas?
#Si no funciona
Lo que ves | Qué hacer |
|---|---|
Introduce la URL del endpoint | Introduce la dirección de tu servidor antes de crear el webhook. |
Activa al menos un evento | Elige al menos un evento en Eventos. |
Las entregas siguen en Fallido | Comprueba que tu servidor es accesible desde internet y responde con un código de éxito. Luego haz clic en Reenviar. |
Tu servidor rechaza la firma | Calcula el HMAC sobre el cuerpo sin procesar, no sobre el JSON ya analizado, y usa el secreto actual. Tras Regenerar el secreto, el antiguo deja de funcionar. |
#Próximos pasos
¿Te ha resultado útil?