Inicio Precios Funcionalidades Reseñas NEW Developers

Enviar mensajes WhatsApp

Envia mensajes de texto, imagenes, videos, audios y documentos a numeros individuales o grupos de WhatsApp. Sistema de prioridad, spintax y acortador de URLs.

Requisitos previos

Antes de poder enviar mensajes de WhatsApp a traves de la API, asegurate de cumplir con los siguientes requisitos:

Suscripcion activa

Necesitas una suscripcion activa que incluya el servicio de WhatsApp. Puedes verificarlo en Dashboard > Suscripcion.

Cuenta WhatsApp vinculada

Al menos 1 cuenta de WhatsApp vinculada mediante escaneo de codigo QR desde Dashboard > WhatsApp > Cuentas.

Estado «Conectado»

La cuenta de WhatsApp debe mostrar el estado connected. Si esta desconectada, vuelve a escanear el QR.


Envio individual

POST /api/send/whatsapp

Envia un mensaje de WhatsApp a un unico destinatario (numero de telefono o grupo). Soporta mensajes de texto, imagenes, videos, audios y documentos adjuntos. Puedes elegir entre envio inmediato (prioridad alta) o encolar el mensaje para procesamiento asincrono.

URL completa del endpoint:

POST //whatsboost.netapi/send/whatsapp

Parametros

Parametro Tipo Estado Descripcion
secret string Obligatorio Tu API Key. Obtenla en Dashboard > API Keys. Consulta la guia de autenticacion para mas detalles.
recipient string Obligatorio Numero de telefono en formato E.164 (ej: +34612345678) o ID de grupo de WhatsApp terminado en @g.us (ej: 120363012345678@g.us). Consulta la seccion validacion de telefono para detalles sobre el formato.
account string Obligatorio Identificador unico (unique) de la cuenta de WhatsApp vinculada. No es el numero de telefono. Obtenlo desde el Dashboard o via GET /api/get/wa.accounts.
message string Obligatorio Contenido del mensaje de texto. Soporta spintax: {Hola|Buenos dias|Saludos}. En envios de tipo media o document, este campo se usa como caption (pie de foto/video o descripcion del documento).
type string Opcional Tipo de mensaje: "text" (por defecto), "media" o "document". Segun el tipo, se requieren parametros adicionales de media o documento.
priority integer Opcional Prioridad de envio: 1 = alta (envio inmediato sincrono), 2 = normal (cola asincrona). Valor por defecto: 2. Ver sistema de prioridad.
media_url string Condicional URL publica del archivo multimedia. Obligatorio si type=media y no se sube archivo via FormData. Debe ser accesible publicamente (HTTP/HTTPS).
media_type string Condicional Tipo de medio: "image", "video" o "audio". Obligatorio si type=media. Los audios no soportan caption.
document_url string Condicional URL publica del documento. Obligatorio si type=document y no se sube archivo via FormData.
document_type string Condicional Extension del documento: "pdf", "doc", "docx", "xls", "xlsx", "xml". Obligatorio si type=document.
document_name string Opcional Nombre personalizado del archivo que vera el destinatario. Si no se indica, se usara el nombre original del archivo de la URL.
shortener integer Opcional ID del acortador de URL. Si se proporciona, todas las URLs detectadas en el campo message seran acortadas automaticamente antes del envio.
Respuesta exitosa

Cuando el mensaje se envia o encola correctamente, la API devuelve un codigo 200 junto con el ID del mensaje:

{
  "status": 200,
  "message": "Message has been sent!",
  "data": 48291
}
Respuesta con error
{
  "status": 400,
  "message": "Invalid WhatsApp account!",
  "data": false
}

Sistema de prioridad

WhatsBoost implementa un sistema de prioridad de dos niveles que te permite controlar como y cuando se entregan tus mensajes. Elegir la prioridad correcta es clave para optimizar la experiencia del usuario y respetar los limites de envio de WhatsApp.

Prioridad 1 — Alta (Inmediata)

El mensaje se envia inmediatamente de forma sincrona mediante sendPriority(). La API espera la respuesta del servidor de WhatsApp antes de devolver el resultado.

Comportamiento
  • Envio sincrono: la peticion no retorna hasta que el mensaje se entrega o falla.
  • Si falla, el estado del mensaje se establece en 4 (fallido) y el error se devuelve en la respuesta.
  • No pasa por la cola de procesamiento.
  • La respuesta de la API incluye el resultado real de la entrega.
Casos de uso recomendados
  • Codigos OTP y verificacion
  • Respuestas de chatbot en tiempo real
  • Alertas urgentes (seguridad, transacciones)
  • Confirmaciones de pedido instantaneas
Prioridad 2 — Normal (Cola)

El mensaje se anade a la cola de procesamiento. Un proceso programado (cron/scheduler) se encarga de enviar los mensajes en el orden de la cola.

Comportamiento
  • Envio asincrono: la API responde inmediatamente con el ID del mensaje encolado.
  • El sistema procesa la cola respetando intervalos y limites de envio configurados.
  • Mejor gestion del rate limiting de WhatsApp.
  • Menor riesgo de bloqueo de la cuenta por WhatsApp.
Casos de uso recomendados
  • Campanas de marketing y promociones
  • Envios masivos (bulk)
  • Notificaciones no urgentes
  • Recordatorios programados

Validacion de telefono

El sistema aplica una serie de validaciones automaticas al parametro recipient antes de procesar el envio. Es importante conocer estas reglas para evitar errores:

ReglaDescripcion
Formato E.164 obligatorio El numero debe incluir el prefijo de pais con el signo +. Ejemplos validos: +34612345678 (Espana), +5215512345678 (Mexico), +573001234567 (Colombia). Numeros sin prefijo seran rechazados.
Reformateo automatico de Mexico Los numeros de Mexico se reformatean automaticamente al formato correcto de WhatsApp. El sistema anade o elimina el prefijo 1 despues de 52 segun sea necesario para garantizar la compatibilidad.
Validacion de movil El sistema comprueba que el numero corresponde a un telefono movil valido. Los numeros fijos o invalidos seran rechazados con un error descriptivo.
Lista de desuscripcion (STOP) Se verifica automaticamente si el destinatario ha solicitado la baja (STOP/unsubscribe). Si el numero esta en la lista de desuscritos, el mensaje no se enviara y se devolvera un error indicando que el contacto se ha dado de baja.
Grupos WhatsApp Para enviar a grupos, el recipient debe ser el ID del grupo en formato @g.us (ej: 120363012345678@g.us). Consulta la documentacion de Grupos WhatsApp para obtener el ID.

Spintax: variaciones automaticas de texto

El sistema soporta spintax, una sintaxis que permite definir variantes de texto separadas por el caracter | dentro de llaves. En cada envio, el sistema elige una variante aleatoria, haciendo que cada mensaje sea ligeramente diferente. Esto es especialmente util para evitar filtros de spam y personalizar comunicaciones masivas.

Spintax en el mensaje Posibles resultados
{Hola|Buenos dias|Hey} Juan "Hola Juan", "Buenos dias Juan", "Hey Juan"
Tu pedido {esta listo|ha sido preparado} "Tu pedido esta listo", "Tu pedido ha sido preparado"
{Gracias|Muchas gracias} por tu {compra|pedido} 4 combinaciones posibles: "Gracias por tu compra", "Muchas gracias por tu pedido", etc.

Puedes anidar multiples bloques de spintax en un mismo mensaje. Cada bloque se resuelve de forma independiente, lo que multiplica las posibles combinaciones de texto.


Ejemplos de codigo

Ejemplos completos y listos para copiar en 4 lenguajes de programacion. Cada ejemplo incluye manejo de errores y buenas practicas.

Enviar mensaje de texto

# Enviar texto con prioridad alta (inmediato)
curl -X POST //whatsboost.netapi/send/whatsapp \
  -d "secret=TU_API_KEY" \
  -d "recipient=+34612345678" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "message=Hola, tu pedido #1234 ha sido confirmado." \
  -d "type=text" \
  -d "priority=1"

# Enviar texto con prioridad normal (cola)
curl -X POST //whatsboost.netapi/send/whatsapp \
  -d "secret=TU_API_KEY" \
  -d "recipient=+34612345678" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "message=Te recordamos tu cita para manana a las 10:00." \
  -d "type=text" \
  -d "priority=2"

# Enviar a un grupo de WhatsApp
curl -X POST //whatsboost.netapi/send/whatsapp \
  -d "secret=TU_API_KEY" \
  -d "recipient=120363012345678@g.us" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "message=Reunion de equipo en 15 minutos."
<?php
/**
 * Enviar mensaje de texto por WhatsApp
 * Requiere: PHP 7.4+ con cURL
 */

function enviarWhatsApp(string $destinatario, string $mensaje, int $prioridad = 2): array
{
    $ch = curl_init("//whatsboost.netapi/send/whatsapp");

    curl_setopt_array($ch, [
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 30,
        CURLOPT_POSTFIELDS     => [
            "secret"    => "TU_API_KEY",
            "recipient" => $destinatario,
            "account"   => "WA_ACCOUNT_UNIQUE",
            "message"   => $mensaje,
            "type"      => "text",
            "priority"  => $prioridad
        ]
    ]);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    $result = json_decode($response, true);

    if ($result["status"] === 200) {
        echo "WhatsApp enviado! ID: " . $result["data"] . PHP_EOL;
    } else {
        echo "Error ({$result["status"]}): " . $result["message"] . PHP_EOL;
    }

    return $result;
}

// Uso: envio inmediato (OTP, chatbot)
enviarWhatsApp("+34612345678", "Tu codigo de verificacion es: 482910", 1);

// Uso: envio en cola (marketing)
enviarWhatsApp("+34612345678", "Aprovecha un 20% de descuento este fin de semana!", 2);
/**
 * Enviar mensaje de texto por WhatsApp
 * Compatible con Node.js (fetch nativo desde v18) y navegador
 */

async function enviarWhatsApp(destinatario, mensaje, prioridad = 2) {
  const response = await fetch("//whatsboost.netapi/send/whatsapp", {
    method: "POST",
    headers: {
      "Content-Type": "application/x-www-form-urlencoded"
    },
    body: new URLSearchParams({
      secret: "TU_API_KEY",
      recipient: destinatario,
      account: "WA_ACCOUNT_UNIQUE",
      message: mensaje,
      type: "text",
      priority: prioridad.toString()
    })
  });

  const data = await response.json();

  if (data.status === 200) {
    console.log("WhatsApp enviado! ID:", data.data);
  } else {
    console.error(`Error (${ data.status }):`, data.message);
  }

  return data;
}

// Uso: envio inmediato
enviarWhatsApp("+34612345678", "Tu codigo es: 482910", 1);

// Uso: envio en cola
enviarWhatsApp("+34612345678", "Recordatorio: tu cita es manana a las 10:00");
import requests

def enviar_whatsapp(destinatario: str, mensaje: str, prioridad: int = 2) -> dict:
    """
    Enviar mensaje de texto por WhatsApp.
    Requiere: pip install requests
    """
    response = requests.post(
        "//whatsboost.netapi/send/whatsapp",
        data={
            "secret": "TU_API_KEY",
            "recipient": destinatario,
            "account": "WA_ACCOUNT_UNIQUE",
            "message": mensaje,
            "type": "text",
            "priority": prioridad
        },
        timeout=30
    )

    result = response.json()

    if result["status"] == 200:
        print(f"WhatsApp enviado! ID: {result['data']}")
    else:
        print(f"Error ({result['status']}): {result['message']}")

    return result


# Uso: envio inmediato (OTP, chatbot)
enviar_whatsapp("+34612345678", "Tu codigo de verificacion es: 482910", prioridad=1)

# Uso: envio en cola (marketing)
enviar_whatsapp("+34612345678", "Aprovecha un 20% de descuento este fin de semana!")

Enviar imagen

# Enviar imagen desde URL con caption
curl -X POST //whatsboost.netapi/send/whatsapp \
  -d "secret=TU_API_KEY" \
  -d "recipient=+34612345678" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "message=Aqui tienes la foto de tu producto" \
  -d "type=media" \
  -d "media_type=image" \
  -d "media_url=https://ejemplo.com/producto.jpg" \
  -d "priority=2"
<?php
$ch = curl_init("//whatsboost.netapi/send/whatsapp");

curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_POSTFIELDS     => [
        "secret"     => "TU_API_KEY",
        "recipient"  => "+34612345678",
        "account"    => "WA_ACCOUNT_UNIQUE",
        "message"    => "Aqui tienes la foto de tu producto",
        "type"       => "media",
        "media_type" => "image",
        "media_url"  => "https://ejemplo.com/producto.jpg",
        "priority"   => 2
    ]
]);

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

$result = json_decode($response, true);
echo $result["status"] === 200
    ? "Imagen enviada! ID: " . $result["data"]
    : "Error: " . $result["message"];
const response = await fetch("//whatsboost.netapi/send/whatsapp", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    secret: "TU_API_KEY",
    recipient: "+34612345678",
    account: "WA_ACCOUNT_UNIQUE",
    message: "Aqui tienes la foto de tu producto",
    type: "media",
    media_type: "image",
    media_url: "https://ejemplo.com/producto.jpg",
    priority: "2"
  })
});

const data = await response.json();
console.log(data.status === 200 ? `Imagen enviada! ID: ${data.data}` : `Error: ${data.message}`);
import requests

response = requests.post(
    "//whatsboost.netapi/send/whatsapp",
    data={
        "secret": "TU_API_KEY",
        "recipient": "+34612345678",
        "account": "WA_ACCOUNT_UNIQUE",
        "message": "Aqui tienes la foto de tu producto",
        "type": "media",
        "media_type": "image",
        "media_url": "https://ejemplo.com/producto.jpg",
        "priority": 2
    },
    timeout=60
)

result = response.json()
print(f"Imagen enviada! ID: {result['data']}" if result["status"] == 200 else f"Error: {result['message']}")

Enviar documento PDF

# Enviar documento PDF desde URL
curl -X POST //whatsboost.netapi/send/whatsapp \
  -d "secret=TU_API_KEY" \
  -d "recipient=+34612345678" \
  -d "account=WA_ACCOUNT_UNIQUE" \
  -d "message=Aqui tienes tu factura de diciembre" \
  -d "type=document" \
  -d "document_type=pdf" \
  -d "document_url=https://ejemplo.com/factura.pdf" \
  -d "document_name=Factura_Dic_2024.pdf" \
  -d "priority=2"
<?php
$ch = curl_init("//whatsboost.netapi/send/whatsapp");

curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_POSTFIELDS     => [
        "secret"        => "TU_API_KEY",
        "recipient"     => "+34612345678",
        "account"       => "WA_ACCOUNT_UNIQUE",
        "message"       => "Aqui tienes tu factura de diciembre",
        "type"          => "document",
        "document_type" => "pdf",
        "document_url"  => "https://ejemplo.com/factura.pdf",
        "document_name" => "Factura_Dic_2024.pdf",
        "priority"      => 2
    ]
]);

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

$result = json_decode($response, true);
echo $result["status"] === 200
    ? "Documento enviado! ID: " . $result["data"]
    : "Error: " . $result["message"];
const response = await fetch("//whatsboost.netapi/send/whatsapp", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    secret: "TU_API_KEY",
    recipient: "+34612345678",
    account: "WA_ACCOUNT_UNIQUE",
    message: "Aqui tienes tu factura de diciembre",
    type: "document",
    document_type: "pdf",
    document_url: "https://ejemplo.com/factura.pdf",
    document_name: "Factura_Dic_2024.pdf",
    priority: "2"
  })
});

const data = await response.json();
console.log(data.status === 200 ? `Documento enviado! ID: ${data.data}` : `Error: ${data.message}`);
import requests

response = requests.post(
    "//whatsboost.netapi/send/whatsapp",
    data={
        "secret": "TU_API_KEY",
        "recipient": "+34612345678",
        "account": "WA_ACCOUNT_UNIQUE",
        "message": "Aqui tienes tu factura de diciembre",
        "type": "document",
        "document_type": "pdf",
        "document_url": "https://ejemplo.com/factura.pdf",
        "document_name": "Factura_Dic_2024.pdf",
        "priority": 2
    },
    timeout=60
)

result = response.json()
print(f"Documento enviado! ID: {result['data']}" if result["status"] == 200 else f"Error: {result['message']}")


Prompt para IA — Envio de WhatsApp

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

Eres un desarrollador backend experto en integraciones de mensajeria.
Tienes acceso a la API de WhatsBoost para enviar mensajes de WhatsApp.

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

PARAMETROS:
- secret (obligatorio): API Key
- recipient (obligatorio): telefono E.164 (+34...) o grupo @g.us
- account (obligatorio): unique ID de cuenta WA vinculada (no es el telefono)
- message (obligatorio): texto del mensaje, soporta spintax
- type: "text" (default), "media", "document"
- priority: 1 (inmediato sincrono) o 2 (cola asincrona, default)

MEDIA (type="media"):
- media_url: URL publica del archivo
- media_type: "image", "video", "audio"
- Imagenes/videos usan message como caption. Audio NO soporta caption.

DOCUMENTOS (type="document"):
- document_url: URL publica del documento
- document_type: "pdf", "doc", "docx", "xls", "xlsx", "xml"
- document_name: nombre personalizado (opcional)

OPCIONALES: shortener (ID acortador URL)

FORMATO RESPUESTA: {"status": 200, "message": "...", "data": messageId}

REGLAS:
- Prioridad 1 para OTP/chatbot/alertas urgentes
- Prioridad 2 para marketing/bulk/no urgente
- El parametro account NO es el numero de telefono
- Formato E.164 obligatorio para recipient

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