Configurar el Webhook de eventos
El complemento Webhook envía una notificación a un servicio web externo tuyo cada vez que ocurre un evento que elijas, por ejemplo cuando un usuario compra un curso o obtiene un certificado.
Configurar el complemento
- Abre Administración, elige Complementos en el bloque Compañía y abre Webhook.
- En Ruta, escribe la dirección (endpoint) de tu servicio web. Es obligatoria.
- En Eventos, marca los que quieras notificar.
- Pulsa Guardar cambios.

Según el instructivo, el complemento tiene un interruptor para activarlo o desactivarlo, y antes de activarlo debes llenar y guardar todos los campos. [pendiente: confirmar la ubicación del interruptor en la pantalla actual]
El formulario incluye un enlace a las Instrucciones en PDF: https://torg.teachlr-cdn.com/api_content/js/resources/webhook_instructions_es.pdf.
Eventos que puedes notificar
| Evento en pantalla | Cuándo se dispara | Valor de type |
|---|---|---|
| Registro de usuarios | Un usuario se registra desde un formulario de «Registro» y luego inicia sesión por primera vez. | register |
| Primer inicio de sesión | Un usuario invitado a la plataforma inicia sesión por primera vez. | first_login |
| Asignación de cursos | Un administrador asigna uno o varios cursos a uno o varios usuarios desde Administración. | course_assign_admin |
| Autoinscripción en cursos | Un usuario se suscribe él mismo a un curso gratis con el botón «Suscribirse». | course_assign_auto |
| Compra de cursos | Un usuario compra un curso con el botón «Comprar». | course_assign_purchase |
| Certificado de curso otorgado | Un usuario obtiene el certificado de un curso. | course_certificate_granted |
| Asignación de carreras | Un administrador asigna una o varias carreras a uno o varios usuarios desde Administración. | career_assign_admin |
| Autoinscripción en carreras | Un usuario se suscribe él mismo a una carrera gratis con el botón «Suscribirse». | career_assign_auto |
| Compra de carreras | Un usuario compra una carrera con el botón «Comprar». | career_assign_purchase |
| Certificado de carrera otorgado | Un usuario obtiene el certificado de una carrera. | career_certificate_granted |
Qué cuenta como asignación desde Administración
Los eventos de asignación se disparan cuando un administrador asigna cursos o carreras desde:
- Usuarios: suscribir a cursos, asignar a carreras o asignar a grupos, de un usuario o de varios con Acciones en masa.
- Cursos o Carreras: asignar a usuarios o a grupos, de uno o de varios con Acciones en masa.
- Grupos: abrir el grupo y asignar cursos o carreras, o añadir usuarios. Estas acciones también asignan a los usuarios del grupo los cursos o carreras nuevos.
Asignar a grupos equivale a asignar todo lo que contienen los grupos elegidos, o los cursos elegidos a todos los usuarios de esos grupos.
Cómo es el mensaje
Cada notificación es un objeto JSON con estos campos:
| Campo | Qué contiene |
|---|---|
created |
La fecha y hora del evento, como marca de tiempo. |
object |
Siempre event. |
type |
El tipo de evento, de la tabla anterior. |
data |
Los datos del evento. |
Dentro de data, según el evento:
users(ouseren los certificados): los usuarios involucrados, conid,username,employee_number,alternative_id,external_id,identification_number,name,last_name,email,phoneypicture(con las imágenesthumb,small,mediumylarge).courses: los cursos involucrados, conid,title,headline,description,priceycover. En las compras también vienecurrency.careers: las carreras involucradas, conid,name,description,priceycurrency.courseocareerycertificate, en los certificados: el curso o la carrera, con suslugyurl, y el certificado, conorganization_name,hash,use_custom_certif,urlygranted_at. En los certificados de curso también vieneinstructors.
Ejemplo de una asignación de cursos, con datos ficticios y abreviado:
{
"created": 1521147641,
"object": "event",
"type": "course_assign_admin",
"data": {
"users": [
{
"id": 670,
"username": "usuario1",
"employee_number": "E123456",
"alternative_id": null,
"external_id": null,
"identification_number": null,
"name": "Nombre",
"last_name": "Apellido",
"email": "usuario1@dominio.com",
"phone": null
}
],
"courses": [
{
"id": 1691,
"title": "Título del curso",
"headline": "Subtítulo",
"price": 0
}
]
}
}
[pendiente: describir la respuesta que debe devolver tu servicio, los reintentos y cualquier firma de seguridad del mensaje]