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.
WhatsBoost ofrece dos metodos para realizar envios masivos de WhatsApp:
POST /api/send/whatsapp.bulkEnvio 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.
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.
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
| 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. |
recipients o groups. Puedes usar ambos simultaneamente para combinar destinatarios manuales con grupos de contactos.
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:
| Variable | Descripcion | Ejemplo 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 |
{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}}
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.
connected.account en la peticion. En ese caso no se aplica balanceo.Ademas de la API, puedes crear campanas de envio masivo directamente desde el Dashboard de WhatsBoost cargando un archivo Excel con los destinatarios.
.xlsx (Excel 2007 o superior).phone es obligatoria y debe contener los numeros de telefono en formato internacional E.164 (con prefijo de pais).name, email, etc., que se asociaran al contacto en la base de datos.| phone | name | |
|---|---|---|
+34612345678 | Maria Garcia | maria@ejemplo.com |
+34698765432 | Juan Lopez | juan@ejemplo.com |
+5215512345678 | Carlos Ruiz | carlos@ejemplo.com |
Para crear una campana desde Excel, accede a Dashboard > WhatsApp > Campanas > Nueva campana y selecciona la opcion de importar desde archivo.
Una vez creada una campana, puedes listarla, pausarla, reanudarla o eliminarla a traves de la API.
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"
{
"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).
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.
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.
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"
{
"status": 200,
"message": "WhatsApp campaign has been deleted!",
"data": true
}
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, "..."]
}
}
| Campo | Descripcion |
|---|---|
count | Numero total de mensajes que se han encolado para envio. |
campaignId | ID unico de la campana creada. Usalo para gestionar la campana (pausar, reanudar, eliminar). |
messageIds | Array con los IDs individuales de cada mensaje encolado. Util para tracking individual. |
Ejemplos completos de envio masivo en 4 lenguajes de programacion.
# 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"
)
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.