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:

  1. Haz clic en Nueva integración.
  2. Para webhook, elige el alcance: General (todos los canales) o Canal específico.
  3. Si "Canal específico", elige el tipo (whatsapp/email/sms) y la instancia.
  4. Para webhook: indica la URL y, opcionalmente, un bearer token enviado en el header Authorization.
  5. 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 

WhatsApp

Envío WhatsApp

POST
/api/integration/generic
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"
  }'
CampoTipoObligatorio
numberstring (E.164 sin +)
messagestring
namestringno
emailstringno
urlstring (UTM)no
filesstring[] (URLs)no
sectorstring (id de cola)no

Email

Envío Email

POST
/api/integration/generic
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"]
  }'
CampoTipoObligatorio
tostring o string[] (emails)
subjectstring
body o htmlstringuno de los dos
bccstring o string[]no
textstringno
fromNamestringno
inReplyTostringno
referencesstring o string[]no

La dirección remitente (fromEmail) es la del canal vinculado al token.

SMS

Envío SMS

POST
/api/integration/generic
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"
  }'
CampoTipoObligatorio
tostring (E.164 con +)
bodystring (≤ 1600 chars)
mediaUrlsstring[] (URLs públicas)no
metadataobjectno

Códigos de respuesta

HTTPerrorSignificado
200Éxito
400VALIDATION_ERRORPayload inválido — ver details[]
401ERR_NO_PERMISSIONToken ausente/inválido
402PROVIDER_ERRORSin créditos para el canal
404CHANNEL_NOT_FOUNDCanal eliminado tras crear el token
502PROVIDER_ERRORFalla en el proveedor (Twilio, Resend, …)
410GONEEndpoint 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

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.

Essa informação foi útil?