WhatsApp Campaigns [Desarrolladores]

Crea, gestiona y envía campañas masivas de WhatsApp desde la API de Adereso.

WhatsApp Campaigns

Las campañas de WhatsApp permiten enviar mensajes masivos a través de plantillas HSM. Desde la API puedes crear campañas, consultar su estado, agregar destinatarios y disparar el envío.

¿Para qué sirve?

Las campañas de WhatsApp permiten enviar mensajes masivos a una lista de destinatarios usando plantillas aprobadas. Es el equivalente a un "email marketing" pero por WhatsApp, con tasas de apertura significativamente más altas.

Beneficios concretos

  • Enviar promociones, avisos o notificaciones masivas a tu base de clientes por WhatsApp
  • Programar y gestionar campañas desde tu propio sistema (CRM, ERP, plataforma de marketing)
  • Controlar el ciclo completo: crear campaña, cargar destinatarios, disparar envío y consultar resultados
💡
Ejemplo real: Tu equipo de marketing quiere enviar una promoción de Black Friday a 5.000 clientes. Desde su plataforma de marketing, crean la campaña vía API, cargan la lista de teléfonos con los nombres personalizados, y disparan el envío sin necesidad de entrar a Adereso.

¿Quién lo usa? Equipos de marketing, growth y operaciones que gestionan comunicaciones masivas con clientes.



Listar campañas

/v2/whatsapp/campaigns/ - GET

Obtiene la lista de campañas WhatsApp de tu cuenta, de forma paginada.

Parámetros

Parámetro
Tipo
Requerido
Descripción
page
integer
Número de página (empieza en 1)

Ejemplo de request

curl -H "Authorization: Key TU_TOKEN" \
  "https://api-cluster.adere.so/v2/whatsapp/campaigns/?page=1"

Ejemplo de respuesta exitosa:

{
  "status": 200,
  "campaigns": [
    {
      "id": "camp_123",
      "name": "Promo Navidad 2026",
      "template_name": "promo_navidad",
      "status": "draft",
      "entries_count": 500
    }
  ],
  "total_pages": 3
}

Crear campaña

/v2/whatsapp/campaigns/ - POST

Crea una nueva campaña de WhatsApp. Debes especificar la plantilla a utilizar, la cuenta de envío y los destinatarios.

Ejemplo de request

curl -X POST \
  -H "Authorization: Key TU_TOKEN" \
  -H "Content-Type: application/json" \
  "https://api-cluster.adere.so/v2/whatsapp/campaigns/" \
  -d '{
    "name": "Promo Navidad 2026",
    "account": "56900000000",
    "template_name": "promo_navidad",
    "entries": [
      {"phone": "56911111111", "parameters": ["María"]},
      {"phone": "56922222222", "parameters": ["Carlos"]}
    ]
  }'

Ejemplo de respuesta exitosa:

{
  "status": 201,
  "campaign_id": "camp_456",
  "message": "Campaign created successfully"
}

Códigos de error

Código
Descripción
400
Datos de campaña inválidos o incompletos
401
No autenticado

Obtener detalle de una campaña

/v2/whatsapp/campaigns/{campaign_id}/ - GET

Retorna la información detallada de una campaña específica.

Parámetros

Parámetro
Tipo
Requerido
Descripción
campaign_id
string
ID único de la campaña

Ejemplo de request

curl -H "Authorization: Key TU_TOKEN" \
  "https://api-cluster.adere.so/v2/whatsapp/campaigns/camp_456/"

Ejemplo de respuesta exitosa:

{
  "status": 200,
  "campaign": {
    "id": "camp_456",
    "name": "Promo Navidad 2026",
    "status": "draft",
    "template_name": "promo_navidad",
    "account": "56900000000",
    "entries_count": 2,
    "sent_count": 0
  }
}

Enviar campaña

/v2/whatsapp/campaigns/{campaign_id}/send/ - POST

Dispara el envío de una campaña. Una vez enviada, los HSM se despachan a todos los destinatarios configurados. Opcionalmente puedes cerrar los tickets generados automáticamente.

💡
Una vez enviada, la campaña no se puede cancelar. Verifica los destinatarios antes de disparar el envío.

Parámetros

Parámetro
Tipo
Requerido
Descripción
campaign_id
string
ID único de la campaña (path)
close_ticket
boolean
No
Si es true, cierra automáticamente los tickets generados

Ejemplo de request

curl -X POST \
  -H "Authorization: Key TU_TOKEN" \
  -H "Content-Type: application/json" \
  "https://api-cluster.adere.so/v2/whatsapp/campaigns/camp_456/send/" \
  -d '{"close_ticket": true}'

Ejemplo de respuesta exitosa:

{
  "status": 200,
  "message": "Campaign sent successfully"
}

Ver destinatarios de una campaña

/v2/whatsapp/campaigns/{campaign_id}/data/ - GET

Obtiene la lista de destinatarios (entries) configurados en una campaña.

Parámetros

Parámetro
Tipo
Requerido
Descripción
campaign_id
string
ID único de la campaña

Ejemplo de request

curl -H "Authorization: Key TU_TOKEN" \
  "https://api-cluster.adere.so/v2/whatsapp/campaigns/camp_456/data/"

Ejemplo de respuesta exitosa:

{
  "status": 200,
  "entries": [
    {"phone": "56911111111", "parameters": ["María"], "status": "pending"},
    {"phone": "56922222222", "parameters": ["Carlos"], "status": "sent"}
  ]
}

Eliminar campaña

/v2/whatsapp/campaigns/{campaign_id}/ - DELETE

Elimina una campaña que aún no ha sido enviada.

💡
Solo se pueden eliminar campañas que no han sido enviadas.

Parámetros

Parámetro
Tipo
Requerido
Descripción
campaign_id
string
ID único de la campaña

Ejemplo de request

curl -X DELETE \
  -H "Authorization: Key TU_TOKEN" \
  "https://api-cluster.adere.so/v2/whatsapp/campaigns/camp_456/"

Ejemplo de respuesta exitosa:

{
  "status": 200,
  "message": "Campaign deleted successfully"
}

📞
En caso de que tengas dudas, comunícate con nosotros vía chat, al WhatsApp +56953851610 o al email soporte@adere.so.

⏱️ Reintentos inteligentes por ticket abierto

💡
Cuando skip_open_tickets está habilitado y el destinatario tiene un ticket abierto, puedes configurar reintentos automáticos para que el sistema reintente el envío periódicamente hasta que el ticket se cierre o se agoten los intentos.

¿Cómo funciona en campañas?

Cuando creas una campaña con skip_open_tickets: true y mins_to_retry mayor a 0:

  1. El sistema intenta enviar a cada destinatario
  1. Si un destinatario tiene un ticket abierto, no envía pero tampoco marca como fallido
  1. Programa un reintento automático después del intervalo configurado
  1. En cada reintento, verifica si el ticket se cerró
  1. Si el ticket se cerró, envía el mensaje normalmente
  1. Si sigue abierto y quedan intentos, reprograma
  1. En el último intento, si el ticket sigue abierto, marca como fallido

Parámetros de campaña para reintentos

Al crear la campaña, incluye estos campos en el body del POST /v2/whatsapp/campaigns/:

Campo
Tipo
Descripción
skip_open_tickets
boolean
Si es true, no envía a destinatarios con tickets abiertos.
mins_to_retry
integer
Minutos entre cada reintento. Si es 0, no reintenta.
max_retries
integer
Cantidad máxima de reintentos por destinatario.

Ejemplo de request con reintentos

{
  "name": "Promo Navidad 2026",
  "account": "56900000000",
  "template_name": "promo_navidad",
  "skip_open_tickets": true,
  "mins_to_retry": 10,
  "max_retries": 3,
  "entries": [
    {"phone": "56911111111", "parameters": ["María"]},
    {"phone": "56922222222", "parameters": ["Carlos"]}
  ]
}

Horario laboral

Si activas no_send_outside_business_hours, el sistema respeta el horario configurado en Adereso. Fuera de horario y quedan intentos: reprograma. Fuera de horario y último intento: cancela sin enviar. El horario se toma del departamento, cuenta o establecimiento (en ese orden).

Notas importantes

  • Los reintentos aplican tanto para envíos individuales por API como para entradas de campañas.
  • Cuando un reintento tiene éxito, el ticket creado recibe automáticamente la metadata, etiquetas y clave de template del request original.
  • Si el reintento falla definitivamente, la entrada de campaña asociada se marca como fallida.

Artículos relacionados

  • Mensajes (API) — Envío individual de HSM por API (incluye reintentos granulares por envío)
¿Esto respondió tu pregunta?
😞
😐
🤩