Integraciones (Server)
Sendeasy ofrece dos productos de integración:
- Webhook — Sendeasy envía eventos de tu proyecto a una URL tuya.
- Custom (genérica) — tu aplicación llama a Sendeasy para enviar mensajes.
Los webhooks admiten dos alcances:
- General: recibe eventos de todos los canales de la empresa.
- Por canal específico: recibe eventos solo del canal elegido (una instancia de WhatsApp, una casilla de Email, un número SMS).
Ambos alcances coexisten: puedes tener 1 webhook general + N webhooks por canal activos al mismo tiempo. Cada evento dispara la UNIÓN de los webhooks aplicables (general + específico). Los tokens custom siempre requieren un canal específico.
Configuración en la UI
Ve a Configuración → Integraciones. Verás una lista de integraciones. Para cada una:
- Haz clic en Nueva integración.
- Para webhook, elige el alcance: General (todos los canales) o Canal específico.
- Si "Canal específico", elige el tipo (
whatsapp/email/sms) y la instancia. - Para webhook: indica la URL y, opcionalmente, un bearer token enviado
en el header
Authorization. - Para custom: el token lo genera el sistema y se muestra una sola vez. Cópialo y guárdalo de inmediato.
Envío de mensajes — POST /api/integration/generic
Este endpoint pasa a tener payloads distintos por tipo de canal. El canal
de destino se deriva del token — tu aplicación no envía channelType en
el body. Un token creado para Email solo puede enviar Email; un token de SMS
solo puede enviar SMS.
Header obligatorio:
Authorization: Bearer
Envío WhatsApp
curl -X POST https://server.sendeasy.pro/api/integration/generic \
-H "Authorization: Bearer 12G3N3R1$..." \
-H "Content-Type: application/json" \
-d '{
"name": "Lead WhatsApp",
"number": "5511999999999",
"message": "Quiero hablar con ventas",
"email": "lead@empresa.com",
"url": "https://landing.com/?utm_source=meta",
"files": ["https://landing.com/presentacion.pdf"],
"sector": "12"
}'
| Campo | Tipo | Obligatorio |
|---|---|---|
number | string (E.164 sin +) | sí |
message | string | sí |
name | string | no |
email | string | no |
url | string (UTM) | no |
files | string[] (URLs) | no |
sector | string (id de cola) | no |
Envío Email
curl -X POST https://server.sendeasy.pro/api/integration/generic \
-H "Authorization: Bearer 12G3N3R1$..." \
-H "Content-Type: application/json" \
-d '{
"to": ["cliente@empresa.com"],
"subject": "Confirmación de tu pedido",
"html": "<p>¡Gracias por tu compra!</p>",
"bcc": ["archivo@empresa.com"]
}'
| Campo | Tipo | Obligatorio |
|---|---|---|
to | string o string[] (emails) | sí |
subject | string | sí |
body o html | string | uno de los dos |
bcc | string o string[] | no |
text | string | no |
fromName | string | no |
inReplyTo | string | no |
references | string o string[] | no |
La dirección remitente (fromEmail) es la del canal vinculado al token.
SMS
Envío SMS
curl -X POST https://server.sendeasy.pro/api/integration/generic \
-H "Authorization: Bearer 12G3N3R1$..." \
-H "Content-Type: application/json" \
-d '{
"to": "+5511999999999",
"body": "Tu código: 123456"
}'
| Campo | Tipo | Obligatorio |
|---|---|---|
to | string (E.164 con +) | sí |
body | string (≤ 1600 chars) | sí |
mediaUrls | string[] (URLs públicas) | no |
metadata | object | no |
Códigos de respuesta
| HTTP | error | Significado |
|---|---|---|
| 200 | — | Éxito |
| 400 | VALIDATION_ERROR | Payload inválido — ver details[] |
| 401 | ERR_NO_PERMISSION | Token ausente/inválido |
| 402 | PROVIDER_ERROR | Sin créditos para el canal |
| 404 | CHANNEL_NOT_FOUND | Canal eliminado tras crear el token |
| 502 | PROVIDER_ERROR | Falla en el proveedor (Twilio, Resend, …) |
| 410 | GONE | Endpoint legado descontinuado |
Rotación de tokens
Los tokens custom pueden rotarse en cualquier momento en Configuración →
Integraciones. La rotación invalida el token anterior de forma inmediata.
Recomendamos rotación periódica (90 días) e inmediata ante sospecha de
filtración.
Seguridad
Nunca incrustes tokens en JavaScript del navegador, repositorios públicos, capturas de pantalla o logs. Trata el token como una contraseña. Almacénalo en variables de entorno, vault o secret manager. Si se expone, rótalo de inmediato.
Dónde gestionar
Toda la gestión de tokens y webhooks vive en la plataforma, en Configuración → Integraciones. Los tokens creados anteriormente siguen funcionando — solo revisa y ajusta la configuración en la nueva pantalla.