La Xenda Partner API te permite integrar tu sistema (n8n, un CRM propio, o cualquier
backend) con la plataforma Xenda para:
- Enviar templates de WhatsApp a uno o más destinatarios — cada envío es una campaña
visible en la plataforma, con métricas de entrega y lectura.
- Consultar el estado de cada envío (enviado, entregado, leído, respondido).
- Recibir un webhook cuando el cliente responde, con el
campaign_id y tu
external_ref para atar la respuesta a la operación correcta de tu lado.
Cómo funciona un envío
Una sola llamada a POST /campaigns (ver pestaña API Reference, con playground
interactivo) hace todo: crea la campaña, carga los destinatarios y ejecuta el envío.
curl -X POST "https://api.automationhub.one/api:RIKjHOHm/campaigns" \
-H "X-API-Key: xnd_TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"idempotency_key": "presupuesto-4812-followup-1",
"template_name": "seguimiento_presupuesto",
"template_language": "es_AR",
"external_ref": "PRES-4812",
"recipients": [
{ "phone": "+5491123456789", "params": ["Juan", "4812"] }
]
}'
La respuesta incluye el campaign_id — guardalo: es el ID de ese envío puntual y es el
mismo que después llega en el webhook de respuestas.
Idempotencia (reintentos seguros)
Cada envío lleva una idempotency_key tuya. Si tu sistema reintenta la llamada (timeout,
reejecución de un flow, etc.), no se duplica el envío: devolvemos la respuesta original
con replayed: true.
Ante un error 500 (fallo aguas arriba de WhatsApp), reintentá con la misma
idempotency_key. Ante un 400, corregí el request — reintentar igual no va a duplicar
nada, pero el error va a persistir.
¿Un destinatario o varios?
Las campañas aceptan de 1 a 1000 destinatarios. Para follow-ups uno a uno, mandá una
campaña por envío (te da un campaign_id por operación). Si la comunicación es la misma
para muchos contactos y solo cambian las variables, agrupalos en una sola campaña.