Saltar al contenido
TeachlrSoporte
Para administradoresRevisado · 2026-10-15

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

  1. Abre Administración, elige Complementos en el bloque Compañía y abre Webhook.
  2. En Ruta, escribe la dirección (endpoint) de tu servicio web. Es obligatoria.
  3. En Eventos, marca los que quieras notificar.
  4. Pulsa Guardar cambios.

Formulario del complemento Webhook, con el campo Ruta y las casillas de los diez eventos

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 (o user en los certificados): los usuarios involucrados, con id, username, employee_number, alternative_id, external_id, identification_number, name, last_name, email, phone y picture (con las imágenes thumb, small, medium y large).
  • courses: los cursos involucrados, con id, title, headline, description, price y cover. En las compras también viene currency.
  • careers: las carreras involucradas, con id, name, description, price y currency.
  • course o career y certificate, en los certificados: el curso o la carrera, con su slug y url, y el certificado, con organization_name, hash, use_custom_certif, url y granted_at. En los certificados de curso también viene instructors.

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]

Relacionados