Inicio Precios Funcionalidades Reseñas NEW Developers

Envio masivo y campanas WhatsApp

Envia mensajes a multiples destinatarios creando campanas. Dos metodos: API bulk y carga desde Excel. Multi-cuenta con balanceo de carga y gestion completa de campanas.

Resumen

WhatsBoost ofrece dos metodos para realizar envios masivos de WhatsApp:

Via API — POST /api/send/whatsapp.bulk

Envio masivo programatico. Define los destinatarios como numeros separados por comas o utiliza grupos de contactos de WhatsBoost. Ideal para integraciones automatizadas, CRMs y plataformas SaaS.

Desde Excel — Dashboard

Carga un archivo .xlsx con los destinatarios directamente desde el Dashboard de WhatsBoost. Ideal para usuarios no tecnicos o envios puntuales sin necesidad de programar.


Envio masivo via API

POST /api/send/whatsapp.bulk

Envia el mismo mensaje de WhatsApp a multiples destinatarios de una sola vez, creando una campana automaticamente. Puedes indicar los destinatarios manualmente (numeros separados por comas) o utilizar grupos de contactos creados previamente en el Dashboard.

URL completa del endpoint:

POST //whatsboost.netapi/send/whatsapp.bulk

Parametros

Parametro Tipo Estado Descripcion
secret string Obligatorio Tu API Key. Obtenla en Dashboard > API Keys.
account string Obligatorio Identificador unico de la cuenta de WhatsApp vinculada. Obtenlo via GET /api/get/wa.accounts.
campaign string Obligatorio Nombre de la campana. Se usara para identificar el envio masivo en el Dashboard y en los reportes. Debe ser descriptivo y unico (ej: Promo Navidad 2024).
message string Obligatorio Contenido del mensaje. Soporta variables de plantilla y spintax para personalizacion automatica.
recipients string Condicional Numeros de telefono separados por comas en formato E.164. Obligatorio si no se usa groups. Ejemplo: +34612345678,+34698765432,+34611222333
groups string Condicional IDs de grupos de contactos separados por comas (creados en el Dashboard de WhatsBoost). Obligatorio si no se usa recipients. Ejemplo: 1,5,12
type string Opcional Tipo de mensaje: "text" (por defecto), "media" o "document". Los parametros adicionales de media/documento son identicos al envio individual.
media_url string Condicional URL publica del archivo multimedia. Obligatorio si type=media.
media_type string Condicional Tipo de medio: "image", "video" o "audio". Obligatorio si type=media.
document_url string Condicional URL publica del documento. Obligatorio si type=document.
document_type string Condicional Extension del documento: "pdf", "doc", "docx", "xls", "xlsx", "xml". Obligatorio si type=document.
shortener integer Opcional ID del acortador de URL. Las URLs en el mensaje seran acortadas automaticamente.

Variables de plantilla

En envios masivos puedes usar las siguientes variables dinamicas dentro del campo message. Se reemplazaran automaticamente por los datos reales de cada contacto en el momento del envio:

VariableDescripcionEjemplo de salida
{{contact.name}}Nombre del contacto guardado en la agenda de WhatsBoost. Si no existe, se deja vacio.Maria Garcia
{{contact.number}}Numero de telefono del destinatario en formato internacional.+34612345678
{{group.name}}Nombre del grupo de contactos al que pertenece el destinatario.Clientes VIP
{{unsubscribe.command}}Palabra clave para darse de baja. Siempre devuelve STOP.STOP
{{unsubscribe.link}}Enlace de desuscripcion automatica personalizado para cada destinatario.https://whatsboost.net/unsub/abc123
{{date.now}}Fecha actual en formato local (YYYY-MM-DD).2024-12-15
{{date.time}}Hora actual en formato HH:MM.14:30
Ejemplo de mensaje con variables y spintax
{Hola|Buenos dias} {{contact.name}}, te recordamos que tu cita es el {{date.now}}.

Si deseas cancelar la suscripcion, responde {{unsubscribe.command}} o visita: {{unsubscribe.link}}

Multi-cuenta y balanceo de carga

Cuando tienes varias cuentas de WhatsApp vinculadas, el sistema distribuye automaticamente los mensajes de la campana entre las cuentas disponibles para optimizar la velocidad de envio y reducir el riesgo de bloqueo.

Como funciona el balanceo
  • Los mensajes se reparten de forma equitativa entre las cuentas vinculadas que esten en estado connected.
  • Si una cuenta se desconecta durante el envio, sus mensajes pendientes se redistribuyen entre las cuentas restantes.
  • Cada cuenta respeta sus propios limites de envio y tiempos de espera configurados.
  • Puedes forzar el uso de una cuenta especifica pasando su account en la peticion. En ese caso no se aplica balanceo.

Envio desde Excel (Dashboard)

Ademas de la API, puedes crear campanas de envio masivo directamente desde el Dashboard de WhatsBoost cargando un archivo Excel con los destinatarios.

Requisitos del archivo Excel
  • El formato debe ser .xlsx (Excel 2007 o superior).
  • La columna phone es obligatoria y debe contener los numeros de telefono en formato internacional E.164 (con prefijo de pais).
  • Opcionalmente puedes incluir columnas adicionales como name, email, etc., que se asociaran al contacto en la base de datos.
  • La primera fila debe contener los encabezados de las columnas.
  • El sistema valida cada numero antes de anadirlo a la campana. Los numeros invalidos se omiten automaticamente.
Ejemplo de estructura del archivo Excel
phonenameemail
+34612345678Maria Garciamaria@ejemplo.com
+34698765432Juan Lopezjuan@ejemplo.com
+5215512345678Carlos Ruizcarlos@ejemplo.com

Para crear una campana desde Excel, accede a Dashboard > WhatsApp > Campanas > Nueva campana y selecciona la opcion de importar desde archivo.


Gestion de campanas

Una vez creada una campana, puedes listarla, pausarla, reanudarla o eliminarla a traves de la API.

Listar campanas

GET /api/get/wa.campaigns

Devuelve la lista de campanas de WhatsApp con su estado actual.

curl -X GET "//whatsboost.netapi/get/wa.campaigns?secret=TU_API_KEY"
Respuesta
{
  "status": 200,
  "message": "WhatsApp campaigns retrieved!",
  "data": [
    {
      "id": 87,
      "name": "Promo Navidad 2024",
      "status": "completed",
      "contacts": 150,
      "processed": 150,
      "create_date": "2024-12-15 10:30:00"
    },
    {
      "id": 88,
      "name": "Recordatorios Enero",
      "status": "running",
      "contacts": 500,
      "processed": 234,
      "create_date": "2025-01-02 09:00:00"
    }
  ]
}

Estados posibles: running (en ejecucion), paused (pausada), completed (completada).

Reanudar campana pausada

POST /api/remote

curl -X POST //whatsboost.netapi/remote \
  -d "secret=TU_API_KEY" \
  -d "type=start.chats" \
  -d "account=WA_ACCOUNT_UNIQUE"

Reanuda el procesamiento de los mensajes pendientes de la campana activa para la cuenta indicada.

Pausar campana

POST /api/remote

curl -X POST //whatsboost.netapi/remote \
  -d "secret=TU_API_KEY" \
  -d "type=stop.chats" \
  -d "account=WA_ACCOUNT_UNIQUE"

Detiene el procesamiento de la campana activa. Los mensajes pendientes permanecen en la cola y pueden reanudarse despues.

Eliminar campana

DELETE /api/delete/wa.campaign

Elimina una campana y todos sus mensajes asociados de forma permanente. Esta accion no se puede deshacer.

curl -X DELETE "//whatsboost.netapi/delete/wa.campaign?secret=TU_API_KEY&id=87"
Respuesta
{
  "status": 200,
  "message": "WhatsApp campaign has been deleted!",
  "data": true
}

Respuesta del envio masivo

Cuando la campana se crea correctamente, la API devuelve el numero total de mensajes encolados y el ID de la campana creada:

{
  "status": 200,
  "message": "Bulk messages have been queued!",
  "data": {
    "count": 150,
    "campaignId": 87,
    "messageIds": [48291, 48292, 48293, "..."]
  }
}
CampoDescripcion
countNumero total de mensajes que se han encolado para envio.
campaignIdID unico de la campana creada. Usalo para gestionar la campana (pausar, reanudar, eliminar).
messageIdsArray con los IDs individuales de cada mensaje encolado. Util para tracking individual.

Ejemplos de codigo

Ejemplos completos de envio masivo en 4 lenguajes de programacion.

Envio masivo de texto

# Envio masivo con numeros directos
curl -X POST //whatsboost.netapi/send/whatsapp.bulk \
  -d "secret=TU_API_KEY" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "campaign=Promo Navidad 2024" \
  -d "recipients=+34612345678,+34698765432,+34611222333" \
  -d "message=Hola {{contact.name}}, aprovecha un 20% de descuento este fin de semana."

# Envio masivo usando grupos de contactos
curl -X POST //whatsboost.netapi/send/whatsapp.bulk \
  -d "secret=TU_API_KEY" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "campaign=Recordatorios Enero" \
  -d "groups=1,5,12" \
  -d "message=Hola {{contact.name}}, te recordamos tu cita del {{date.now}}."

# Envio masivo con imagen
curl -X POST //whatsboost.netapi/send/whatsapp.bulk \
  -d "secret=TU_API_KEY" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "campaign=Catalogo Productos" \
  -d "groups=3" \
  -d "message=Descubre nuestra nueva coleccion" \
  -d "type=media" \
  -d "media_type=image" \
  -d "media_url=https://ejemplo.com/catalogo.jpg"
<?php
/**
 * Envio masivo de WhatsApp via API
 * Requiere: PHP 7.4+ con cURL
 */

function enviarWhatsAppMasivo(
    string $campana,
    string $mensaje,
    string $destinatarios = "",
    string $grupos = ""
): array {
    $ch = curl_init("//whatsboost.netapi/send/whatsapp.bulk");

    $params = [
        "secret"   => "TU_API_KEY",
        "account"  => "WA_ACCOUNT_UNIQUE",
        "campaign" => $campana,
        "message"  => $mensaje,
        "type"     => "text"
    ];

    if (!empty($destinatarios)) {
        $params["recipients"] = $destinatarios;
    }
    if (!empty($grupos)) {
        $params["groups"] = $grupos;
    }

    curl_setopt_array($ch, [
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 60,
        CURLOPT_POSTFIELDS     => $params
    ]);

    $response = curl_exec($ch);
    curl_close($ch);

    $result = json_decode($response, true);

    if ($result["status"] === 200) {
        echo "Campana creada! " . $result["data"]["count"] . " mensajes encolados." . PHP_EOL;
        echo "Campaign ID: " . $result["data"]["campaignId"] . PHP_EOL;
    } else {
        echo "Error: " . $result["message"] . PHP_EOL;
    }

    return $result;
}

// Uso con numeros directos
enviarWhatsAppMasivo(
    "Promo Navidad 2024",
    "Hola {{contact.name}}, aprovecha un 20% de descuento!",
    "+34612345678,+34698765432,+34611222333"
);

// Uso con grupos de contactos
enviarWhatsAppMasivo(
    "Recordatorios Enero",
    "Hola {{contact.name}}, te recordamos tu cita del {{date.now}}.",
    "",
    "1,5,12"
);
/**
 * Envio masivo de WhatsApp via API
 * Compatible con Node.js y navegador
 */

async function enviarWhatsAppMasivo(campana, mensaje, { destinatarios, grupos } = {}) {
  const params = {
    secret: "TU_API_KEY",
    account: "WA_ACCOUNT_UNIQUE",
    campaign: campana,
    message: mensaje,
    type: "text"
  };

  if (destinatarios) params.recipients = destinatarios;
  if (grupos) params.groups = grupos;

  const response = await fetch("//whatsboost.netapi/send/whatsapp.bulk", {
    method: "POST",
    headers: { "Content-Type": "application/x-www-form-urlencoded" },
    body: new URLSearchParams(params)
  });

  const data = await response.json();

  if (data.status === 200) {
    console.log(`Campana creada! ${data.data.count} mensajes encolados.`);
    console.log(`Campaign ID: ${data.data.campaignId}`);
  } else {
    console.error(`Error: ${data.message}`);
  }

  return data;
}

// Uso con numeros directos
await enviarWhatsAppMasivo(
  "Promo Navidad 2024",
  "Hola {{contact.name}}, aprovecha un 20% de descuento!",
  { destinatarios: "+34612345678,+34698765432,+34611222333" }
);

// Uso con grupos
await enviarWhatsAppMasivo(
  "Recordatorios Enero",
  "Hola {{contact.name}}, te recordamos tu cita del {{date.now}}.",
  { grupos: "1,5,12" }
);
import requests

def enviar_whatsapp_masivo(
    campana: str,
    mensaje: str,
    destinatarios: str = "",
    grupos: str = ""
) -> dict:
    """
    Envio masivo de WhatsApp via API.
    Requiere: pip install requests
    """
    data = {
        "secret": "TU_API_KEY",
        "account": "WA_ACCOUNT_UNIQUE",
        "campaign": campana,
        "message": mensaje,
        "type": "text"
    }

    if destinatarios:
        data["recipients"] = destinatarios
    if grupos:
        data["groups"] = grupos

    response = requests.post(
        "//whatsboost.netapi/send/whatsapp.bulk",
        data=data,
        timeout=60
    )

    result = response.json()

    if result["status"] == 200:
        print(f"Campana creada! {result['data']['count']} mensajes encolados.")
        print(f"Campaign ID: {result['data']['campaignId']}")
    else:
        print(f"Error: {result['message']}")

    return result


# Uso con numeros directos
enviar_whatsapp_masivo(
    "Promo Navidad 2024",
    "Hola {{contact.name}}, aprovecha un 20% de descuento!",
    destinatarios="+34612345678,+34698765432,+34611222333"
)

# Uso con grupos de contactos
enviar_whatsapp_masivo(
    "Recordatorios Enero",
    "Hola {{contact.name}}, te recordamos tu cita del {{date.now}}.",
    grupos="1,5,12"
)

Prompt para IA — Envio masivo WhatsApp

Copia este prompt en ChatGPT, Claude, Gemini o cualquier asistente de IA para que genere integraciones de envio masivo de WhatsApp con la API de WhatsBoost.

Eres un desarrollador backend experto en integraciones de mensajeria masiva.
Tienes acceso a la API de WhatsBoost para envios masivos de WhatsApp.

BASE URL: //whatsboost.netapi/send/whatsapp.bulk
METODO: POST
AUTH: Parametro "secret" con la API Key

PARAMETROS BULK:
- secret (obligatorio): API Key
- account (obligatorio): unique ID de cuenta WA vinculada
- campaign (obligatorio): nombre de la campana
- message (obligatorio): texto del mensaje, soporta spintax y variables
- recipients (condicional): telefonos E.164 separados por coma
- groups (condicional): IDs de grupos de contactos separados por coma
- type: "text" (default), "media", "document"
- media_url, media_type: si type=media
- document_url, document_type: si type=document
- shortener: ID acortador URL (opcional)

NOTA: recipients O groups obligatorio (al menos uno).

VARIABLES DE PLANTILLA:
{{contact.name}}, {{contact.number}}, {{group.name}},
{{unsubscribe.command}}, {{unsubscribe.link}}, {{date.now}}, {{date.time}}

GESTION CAMPANAS:
- GET /api/get/wa.campaigns: listar campanas
- POST /api/remote (type=start.chats): reanudar campana
- POST /api/remote (type=stop.chats): pausar campana
- DELETE /api/delete/wa.campaign: eliminar campana

FORMATO RESPUESTA BULK: {"status":200,"data":{"count":N,"campaignId":ID}}

Genera codigo limpio, con manejo de errores y comentarios en espanol.