Un webhook permite que uno de sus sistemas externos reciba una notificación mediante una solicitud HTTP POST cuando uno de sus process termina, sin que tenga que comprobar la aplicación o su correo.
Dónde configurar un webhook
Abra My Account → Web Hooks ("Define your web hooks here"). Hoy solo hay un evento disponible: Process End.
Configurar un webhook
- Process End — la URL de su endpoint, placeholder "Your API URL". Debe empezar por https:// — una dirección http:// simple se rechaza.
- Your secret — placeholder "Your API secret". Pase el cursor sobre el icono de información para ver la pista, pero la regla real es más estricta de lo que parece: solo letras minúsculas a–z y dígitos 0–9, al menos 32 caracteres — sin mayúsculas, espacios ni puntuación.
Haga clic en Save changes al final de la página My Account. Aparece una confirmación "The changes have been saved".
Save changes revalida y vuelve a guardar toda la página My Account de una vez — si cualquier otro campo de la página tiene un error, no se guarda nada en la página, incluido su webhook, y no recibirá ningún mensaje de error, solo texto en rojo bajo el campo problemático. Recorra la página en busca de ese texto antes de pensar que algo más ha fallado.
Eliminar o reemplazar un webhook
No hay un interruptor de encendido/apagado — vacíe el campo URL y haga clic en Save changes para eliminarlo. Solo puede tener una URL por evento: guardar una nueva para Process End reemplaza la que hubiera antes.
Cuándo se dispara
Un webhook Process End se dispara cada vez que una ejecución de uno de sus process llega a Finished o Failed — independientemente de su preferencia de email en My Account → Notifications (vea Supervisar y gestionar una ejecución en DQE One Standalone). Usa el webhook registrado para quien guardó por última vez la configuración de ese process, no necesariamente quien inició esa ejecución en concreto.
Dentro de una DataPipeline (vea Configurar una DataPipeline en DQE One Standalone), cada etapa es en sí misma una ejecución de process, así que un webhook se dispara una vez por cada etapa que llega a Finished o Failed — pero no existe un evento aparte para la finalización global de la DataPipeline.
Qué se envía
Una solicitud POST con un cuerpo JSON:
{"event": "process_end", "proces_status": "Finished"}Ese campo se escribe realmente proces_status (una sola "s") — no es una errata de este artículo, es lo que se envía tal cual.
Las cabeceras X-Hook-Signature y X-Hook-Timestamp le permiten verificar la solicitud: la firma es un HMAC-SHA256 de la marca de tiempo más el cuerpo en bruto, usando su secreto. Su endpoint debe responder con un estado de éxito (2xx) en menos de 10 segundos.
No hay reintento automático. Si su endpoint está caído, se agota el tiempo de espera o responde con un error, esa entrega es definitiva — corrija su endpoint antes de que la siguiente ejecución dispare otra.
Comprobar el estado de las entregas
Solo se muestran los fallos, como un mensaje bajo los campos del webhook en My Account: "Webhook's last delivery failed. API status code: {code}. Error: {error}. Received on: {date} at {time}." (en su propia hora local).
Una entrega correcta no muestra nada en absoluto — ni confirmación, ni registro. Si no ve un mensaje de fallo, considere que funciona. Tampoco hay ningún botón para enviar una entrega de prueba; la única forma de comprobarlo es dejar que se ejecute un process real.
Relacionada con