Saltar al contenido
Centro de ayuda

Categorías

Buscar en el Centro de ayudaCtrl K
En esta página

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.

Actualizado Web

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

  1. 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.

  2. Haz clic en Añadir un webhook.

  3. En URL del endpoint, introduce la dirección del servidor que recibe las llamadas.

  4. En Eventos, pon en Activado cada evento que quieras recibir y haz clic en Crear el webhook.

    Webhook creado lo confirma.

  5. 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.

La ventana del nuevo webhook con la URL del endpoint de un servidor de demostración y la lista de eventos de Drime Sign

#Los eventos

Evento

Se envía cuando

envelope.sent

Se envía un documento para firmar

envelope.completed

Todos los firmantes han firmado

envelope.declined

Un firmante ha rechazado, así que el documento queda rechazado

signer.viewed

Un firmante ha abierto el documento

signer.signed

Un firmante ha firmado

signer.declined

Un firmante ha rechazado

template.created

Se crea una plantilla

#Qué envía Drime

Cada llamada lleva estas cabeceras:

  • X-Drime-Event: el evento, por ejemplo envelope.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?