Volver al blogGuías

Webhooks e integraciones: cómo conectar Cursio con tu email marketing

Conecta Cursio con ConvertKit, Mailchimp, Zapier o cualquier herramienta. Guía paso a paso para configurar webhooks, tags automáticos y segmentación de estudiantes.

E
Equipo Cursio
10 min
Webhooks e integraciones: cómo conectar Cursio con tu email marketing

Cuando un estudiante compra un curso en tu escuela de Cursio, ese momento es oro. No solo porque generaste una venta, sino porque tienes un email, un nombre y un contexto (qué compró). Si esos datos quedan atrapados dentro de Cursio sin llegar a tu herramienta de email marketing, estás perdiendo la oportunidad de construir una relación con ese estudiante: secuencias de bienvenida, cross-selling, newsletters, encuestas de satisfacción.

Por eso construimos el sistema de webhooks e integraciones de Cursio: para que cada evento importante de tu escuela (nueva compra, nueva inscripción, curso completado) se envíe automáticamente a la herramienta que elijas — ConvertKit, Mailchimp, ActiveCampaign, Beehiiv, Zapier, Make, n8n, o cualquier endpoint HTTP.

Esta guía te explica cómo configurarlo paso a paso, con ejemplos concretos para los servicios más populares.

5

Eventos soportados

HMAC

Firma de seguridad SHA-256

Tags

Automáticos por producto para segmentar

Qué son los webhooks

Un webhook es una notificación automática que Cursio envía a una URL externa cuando algo sucede en tu escuela. En vez de que tú exportes CSVs manualmente cada semana, Cursio le dice a tu herramienta de email marketing "oye, acaba de inscribirse María en el curso de Python, su email es maria@example.com" — en tiempo real, sin que hagas nada.

Analogía simple: los webhooks son como tener un asistente que cada vez que alguien compra en tu tienda, le envía una tarjeta de bienvenida automáticamente a tu sistema de correos. Tú configuras una vez y funciona para siempre.

Eventos disponibles

Cursio puede enviar notificaciones para 5 tipos de eventos. Tú eliges cuáles quieres recibir en cada endpoint:

Evento Se dispara cuando Datos que incluye
student.created Un estudiante se registra por primera vez Email, nombre, ID
order.paid Un pago se confirma Email, nombre, producto, monto, moneda, pasarela
enrollment.created Un estudiante obtiene acceso a un producto Email, nombre, producto, tipo de producto, lista de cursos incluidos
enrollment.cancelled Se cancela o expira un acceso Email, nombre, producto, razón
course.completed Un estudiante completa el 100% de un curso Email, nombre, curso, producto, numero de certificado

Tags automáticos para segmentación

Cada producto en Cursio puede tener webhook tags personalizados. Cuando un evento se dispara para ese producto, los tags se incluyen en el payload del webhook. Esto te permite segmentar automáticamente en tu ESP:

  • Producto "Python para principiantes" con tag python-basico → cuando alguien compra, ConvertKit le agrega el tag python-basico
  • Producto "Pack completo" con tags python-basico, python-avanzado → el suscriptor recibe ambos tags
  • Después puedes crear segmentos: "todos los que tienen python-basico pero NO python-avanzado" → enviar email de cross-sell

Consejo: configura los tags de tus productos antes de crear los webhooks. Así desde la primera venta ya llegan correctamente segmentados a tu ESP.

Configuración paso a paso

1. Ve a Integraciones en tu panel

En tu admin de Cursio, navega a Integraciones en el menú lateral. Ahí verás la lista de webhooks configurados y el botón "Nuevo webhook".

2. Crea un nuevo webhook

  • URL del endpoint: la URL donde Cursio enviará los datos (la obtienes de Zapier, Make, o tu ESP)
  • Descripción (opcional): un nombre descriptivo como "ConvertKit — nuevos estudiantes"
  • Eventos: marca los que quieras recibir en este endpoint

Al crearlo, Cursio genera un secreto de firma único (empieza con whsec_). Cópialo y guárdalo — solo se muestra una vez. Lo necesitarás si quieres verificar la autenticidad de los webhooks en tu endpoint.

3. Configura tu herramienta receptora

A continuación, ejemplos para los servicios más populares:

Zapier

  1. En Zapier, crea un nuevo Zap
  2. Trigger: "Webhooks by Zapier → Catch Hook"
  3. Copia la URL del webhook que Zapier te da
  4. Pégala en Cursio como la URL del endpoint
  5. Haz clic en "Enviar test" en Cursio para que Zapier reciba un evento de prueba
  6. Action: elige tu ESP (ConvertKit, Mailchimp, etc.) y mapea los campos: data.student_email → email, data.student_name → nombre, tags → tags

Make (ex Integromat)

  1. Crea un nuevo escenario
  2. Primer módulo: "Webhooks → Custom webhook"
  3. Copia la URL, pégala en Cursio
  4. Envía un test desde Cursio para que Make detecte la estructura
  5. Agrega el módulo de tu ESP y mapea los campos

ConvertKit (directo, sin Zapier)

  1. En ConvertKit, ve a Settings → API
  2. Tu API key es tu autenticación
  3. Crea un endpoint en Cursio apuntando a https://api.convertkit.com/v3/tags/{tag_id}/subscribe
  4. Nota: para esta integración directa necesitas un proxy/worker (ej. Cloudflare Worker) que transforme el payload de Cursio al formato de ConvertKit. Si prefieres algo más simple, usa Zapier.

n8n (self-hosted)

  1. Crea un workflow con trigger "Webhook"
  2. Configura como POST, copia la URL de producción
  3. Pégala en Cursio y envía test
  4. Agrega nodos para procesar: HTTP Request hacia tu ESP, o nodo nativo de ConvertKit/Mailchimp

Anatomía de un webhook

Cada webhook que Cursio envía es un POST HTTP con body JSON. Incluye tres headers especiales:

  • X-Cursio-Event: el tipo de evento (ej. enrollment.created)
  • X-Cursio-Signature: la firma HMAC-SHA256 del body usando tu secreto (para verificar autenticidad)
  • X-Cursio-Timestamp: la fecha del envío en ISO 8601

Ejemplo de payload para enrollment.created:

{
  "event": "enrollment.created",
  "timestamp": "2026-04-06T15:30:00.000Z",
  "school_id": "uuid-de-tu-escuela",
  "data": {
    "enrollment_id": "uuid",
    "student_email": "maria@example.com",
    "student_name": "María García",
    "product_id": "uuid",
    "product_title": "Python para principiantes",
    "product_type": "single",
    "courses": [
      { "id": "uuid", "title": "Python desde cero" }
    ]
  },
  "tags": ["python-basico", "principiantes"]
}

Verificación de firma (opcional pero recomendado)

Si recibes webhooks en tu propio servidor (no Zapier/Make), deberías verificar la firma para asegurarte de que el request realmente viene de Cursio y no de un actor malicioso:

// Node.js / Edge Runtime
import crypto from 'crypto'

function verifySignature(body, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex')
  return signature === `sha256=${expected}`
}

// En tu handler:
const isValid = verifySignature(
  rawBody,
  request.headers['x-cursio-signature'],
  'whsec_tu_secreto_aqui'
)
if (!isValid) return new Response('Forbidden', { status: 403 })

Log de entregas y debugging

En la sección de Integraciones de tu admin, cada endpoint muestra:

  • Estado de salud: punto verde (OK) o rojo (fallos consecutivos)
  • Último status code: el código HTTP de la última respuesta
  • Log de entregas: las últimas 50 entregas con evento, status, duración y fecha
  • Test manual: botón "Enviar test" que dispara un evento student.created de prueba

Si tu endpoint falla repetidamente (5+ fallos consecutivos), Cursio NO desactiva el webhook automáticamente — sigue intentando. Pero el indicador de salud se pone rojo para que lo notes. Revisa el log de entregas para diagnosticar: errores comunes son URL incorrecta, timeout (tu servidor tarda más de 10 segundos en responder), o endpoint caído.

Límites por plan

Plan Webhooks Eventos Tags
Trial 3 endpoints Todos
Starter ($39/mes) 3 endpoints Todos
Pro ($69/mes) Ilimitados Todos

3 endpoints es suficiente para la mayoría de los creadores (uno para ConvertKit, uno para Zapier, uno para analytics). Si necesitas más, el plan Pro te da ilimitados.

Configurar mis webhooks ahora →

Resumen

  • Los webhooks envían datos de eventos de tu escuela a herramientas externas en tiempo real
  • 5 eventos: student.created, order.paid, enrollment.created, enrollment.cancelled, course.completed
  • Tags personalizados por producto para segmentación automática en tu ESP
  • Compatible con Zapier, Make, n8n, ConvertKit, Mailchimp, ActiveCampaign y cualquier endpoint HTTP
  • Firma HMAC-SHA256 para verificar autenticidad
  • Log de entregas con estado de salud y test manual
  • Disponible desde el plan Starter (3 endpoints), ilimitados en Pro

¿Listo para crear tu academia?

Prueba Cursio gratis durante 14 días. Sin tarjeta de crédito, sin comisiones por venta.

Comenzar gratis