Crear endpoint webhook
Registrar POST /webhooks/endpoints con scope webhooks:manage.
Registra una URL HTTPS publica para recibir entregas firmadas desde MailingCore. Scope requerido: webhooks:manage.
Crear endpoint
POST /webhooks/endpoints
Authorization: Bearer mc_live_xxxx
X-Tenant-Id: clxxxxxxxx
Content-Type: application/json
{
"url": "https://tu-saas.com/webhooks/mailingcore",
"events": [
"contact.unsubscribed",
"email.bounced",
"email.complained"
],
"secret": "whsec_tu_secreto_compartido_min_32_chars"
}
| Campo | Reglas |
|---|---|
url | Endpoint HTTPS publico en tu servidor |
events | Subconjunto de tipos soportados — ver Catalogo de eventos |
secret | Clave HMAC compartida; guardala en variables de entorno. Verifica X-MailingCore-Signature |
Respuesta (201 Created) incluye el id del endpoint y el secret (guardalo de inmediato — no se vuelve a mostrar completo).
Provisionar API key
Crea una key con
webhooks:manage(y otros scopes que necesite tu integracion). Ver API keys y scopes.Implementar el receptor
Acepta
POST, lee el raw body, verifica firma HMAC, responde 200 rapido.Registrar el endpoint
Llama a
POST /webhooks/endpointscon tu URL de produccion y la lista minima de eventos.Enviar evento de prueba
Dispara un envio o baja en staging y confirma la entrega en Log de entregas.
Ejemplo: eventos para integrador B2B
Un SaaS que sincroniza contactos y lanza campanas suele suscribirse a:
| Evento | Motivo |
|---|---|
contact.unsubscribed | Revocar consentimiento newsletter en tu app tras baja hospedada |
email.bounced (hard) | Marcar emails invalidos y detener envios |
email.complained | Revocar consentimiento y alertar operadores |
Opcional: email.delivered, email.opened, email.clicked para metricas.
Gestionar endpoints
| Accion | Endpoint |
|---|---|
| Listar | GET /webhooks/endpoints |
| Desactivar / activar | PATCH /webhooks/endpoints/:id/toggle |
| Log entregas | GET /webhooks/endpoints/:id/deliveries?limit=20 |
| Eliminar | DELETE /webhooks/endpoints/:id |