Skip to main content
POST
/
chats
/
enviar
/
masivo
/
plantilla
curl -X POST https://beta.api-iobot-desarrollo.com/chats/enviar/masivo/plantilla \
  -H "Content-Type: application/json" \
  -H "x-api-key: TU_APP_KEY" \
  -d '{
    "contacts_id": [101, 102],
    "contacts": [
      { "nombre": "Juan Pérez", "numero": "5215512345678", "producto": "Plan Pro" },
      { "nombre": "María López", "numero": "5218112345678", "producto": "Plan Básico" }
    ],
    "tags": [],
    "plantilla_id": 123,
    "user_id": 456,
    "empresa_id": 789,
    "step": 3,
    "nombre": "Campaña Mayo 2026",
    "paramMapping": { "1": "nombre", "2": "producto" }
  }'
{
  "success": true
}

Documentation Index

Fetch the complete documentation index at: https://developer.iobot.chat/llms.txt

Use this file to discover all available pages before exploring further.

Envía una plantilla de WhatsApp a una lista de contactos. Opcionalmente mapea campos de cada contacto a los parámetros dinámicos de la plantilla para personalizar cada mensaje.

Autenticación

Requiere el encabezado x-api-key con el App Key del negocio. Consulta Autenticación.

Encabezados

x-api-key
string
required
App Key del negocio. Consulta Autenticación.

Cuerpo de la solicitud

Enviado como JSON.
contacts_id
number[]
required
Arreglo de IDs de contactos a quienes se enviará la campaña.
contacts
object[]
required
Arreglo de contactos. Cada objeto debe tener nombre y numero como campos obligatorios. Puedes incluir cualquier campo adicional y referenciarlo en paramMapping.
[
  { "nombre": "Juan Pérez", "numero": "5215512345678", "producto": "Plan Pro" }
]
plantilla_id
number
required
ID interno de la plantilla a enviar. Debe pertenecer al negocio indicado en empresa_id.
empresa_id
number
required
ID del negocio que ejecuta la campaña.
user_id
number
required
ID del usuario que lanza la campaña.
nombre
string
required
Nombre identificador de la campaña.
tags
number[]
Arreglo de IDs de etiquetas para clasificar los contactos de la campaña. Puede ser vacío.
step
number
required
ID del paso (etapa del embudo) al que se asociará la campaña. Consulta los pasos disponibles con Obtener Pasos.
paramMapping
object
Mapeo de los parámetros dinámicos de la plantilla a campos del contacto. La llave corresponde al número de placeholder en la plantilla ("1"{{1}}, "2"{{2}}, …) y el valor es el nombre del campo del contacto del que se leerá el valor.Es decir: "2": "producto" significa “para el placeholder {{2}} de la plantilla, usa el valor del campo producto de cada contacto”. Los números de las llaves no tienen relación con el orden de los campos del contacto.Por ejemplo, si tu plantilla dice Hola {{1}}, tu plan es {{2}} y envías:
"paramMapping": { "1": "nombre", "2": "producto" }
Con estos contactos:
[
  { "nombre": "Juan Pérez", "numero": "5215512345678", "producto": "Plan Pro" },
  { "nombre": "María López", "numero": "5218112345678", "producto": "Plan Básico" }
]
Juan recibirá Hola Juan Pérez, tu plan es Plan Pro y María recibirá Hola María López, tu plan es Plan Básico.Si un campo referenciado no existe en el contacto, el parámetro se envía como "unknown". Si omites paramMapping, la plantilla se envía sin parámetros.

Respuesta

success
boolean
true cuando la campaña fue registrada y los mensajes encolados correctamente.
curl -X POST https://beta.api-iobot-desarrollo.com/chats/enviar/masivo/plantilla \
  -H "Content-Type: application/json" \
  -H "x-api-key: TU_APP_KEY" \
  -d '{
    "contacts_id": [101, 102],
    "contacts": [
      { "nombre": "Juan Pérez", "numero": "5215512345678", "producto": "Plan Pro" },
      { "nombre": "María López", "numero": "5218112345678", "producto": "Plan Básico" }
    ],
    "tags": [],
    "plantilla_id": 123,
    "user_id": 456,
    "empresa_id": 789,
    "step": 3,
    "nombre": "Campaña Mayo 2026",
    "paramMapping": { "1": "nombre", "2": "producto" }
  }'
{
  "success": true
}