Presentación
En Docebo, es posible crear webhooks que se desencadenen cuando tenga lugar un evento en su plataforma, enviando información relativa a dicho evento a una URL de carga útil específica. Esto permite recopilar datos de su plataforma de aprendizaje para generar informes, integraciones o paneles de control, entre otras cosas. Por ejemplo, también puede conectarse a su sistema de gestión de recursos humanos (HCM), enviar correos electrónicos a usuarios externos a Docebo Learn con respecto a acciones en la plataforma o actualizar la gestión del almacenamiento de contenidos.
Una vez que haya activado la aplicación Webhooks en su plataforma, puede crear un evento inicial; a continuación, Docebo enviará un POST a una URL que habrá establecido para el webhook asociado a dicho evento. Docebo incluye los datos relacionados con ese evento en un mensaje JSON y los envía mediante una llamada HTTP o HTTPS POST (no mediante correo electrónico o notificaciones). También puede crear webhooks a través del conjunto completo de API de webhooks proporcionadas por Docebo. Consulte la documentación oficial de las API para obtener más información.
La funcionalidad de los webhooks se ampliará con el tiempo para incluir diversas integraciones y nuevos eventos, según lo comunicado a través de la página Actualizaciones de productos.
Preguntas y respuestas
Esta sección recopila las preguntas más frecuentes relacionadas con la creación y gestión de webhooks.
- ¿Cuál es la mejor manera de abordar la escritura de webhooks?
Se recomienda considerar siempre los webhooks como notificaciones, no como llamadas a la API. Un webhook es una alerta que indica que ha ocurrido algo. Esta alerta se transmite a un sistema externo que la procesa según las necesidades del integrador. Los webhooks no deben diseñarse como llamadas a las API automáticas para desencadenar acciones directamente en remoto, dado que no siempre se ejecutan en tiempo real.
- ¿Cuántos eventos pueden incluirse en una única carga útil cuando se agrupan?
El sistema agrupa eventos del mismo tipo según su rendimiento, con un máximo de 25 eventos por agrupación. Tenga en cuenta que Docebo se reserva el derecho de limitar el número de cargas útiles por grupo por motivos relacionados con el rendimiento de la infraestructura.
- ¿Cuál es el tiempo máximo de espera para una respuesta antes de que una "no respuesta" sea considerada un fallo?
Al iniciarse el webhook, el integrador DEBE responder en un plazo máximo de 5 segundos; de lo contrario, el webhook se colocará en una cola de reintentos. Esta cola intentará reenviar el mensaje hasta 10 veces durante las siguientes 48 horas.
- ¿Cuál es el tamaño máximo que puede alcanzar la cola de webhooks antes de que se produzca un truncado? ¿Hay un umbral para el número de mensajes que se pueden enviar (excluyendo las limitaciones del servidor receptor)? ¿Cuál es el riesgo de que los mensajes sean eliminados de la cola en caso de volúmenes extremadamente elevados?
Desde la perspectiva del cliente, no existen límites, por lo que no hay riesgo de que los mensajes sean eliminados. Los mensajes se pierden SOLO si el extremo receptor no responde con un código “200” durante los 10 reintentos en el plazo de 48 horas, tal como se explicó en la respuesta anterior.
- ¿Debe identificarse un único mensaje como exitoso o fallido antes de que se envíe un mensaje sucesivo? ¿Se envía un mensaje sucesivo antes de obtener la respuesta del primer mensaje?
Cada mensaje es independiente de los demás; sin embargo, tras 10 reintentos fallidos con la misma carga útil, el webhook se desactiva (consulte la pregunta "¿Cuál es el tiempo máximo de espera para una respuesta antes de que una 'no respuesta' sea considerada un fallo?").
- ¿Los mensajes se envían de forma secuencial (uno tras otro) o bajo demanda (empujados sin considerar el estado de los demás mensajes)?
El sistema organiza las colas basándose en el dominio de los extremos del webhook. Posteriormente, gestiona las prioridades de los mensajes de cada cola. Como resultado, el segundo mensaje enviado espera 5 segundos antes de iniciarse.
- ¿Los mensajes almacenados en la cola están cifrados?
Los mensajes no están cifrados, pero se encuentran protegidos mediante nuestra infraestructura con una autenticación adecuada. La transmisión en sí utiliza los protocolos HTTP o HTTPS configurados para el extremo del webhook por el administrador.
- ¿Se elimina la cola en caso de fallo crítico? ¿Cuál es el riesgo de pérdida o no entrega de los mensajes?
En términos generales, la cola nunca se elimina. El riesgo de pérdida o no entrega de los mensajes es extremadamente bajo; sin embargo, estos incidentes pueden deberse a problemas de desarrollo en el lado del integrador.