WaBot

WaBot / Guías

Envía mensajes de WhatsApp desde tu app

WaBot le da a tu propio número de WhatsApp una API HTTP sencilla: una solicitud POST envía un texto, una imagen, un video o un documento. Úsala para confirmaciones de pedidos, recordatorios de citas, facturas y alertas, desde tu código, Google Sheets, Zapier o Make.

Actualizado el 8 de octubre de 2026

Antes de empezar

  1. 1 Empieza la prueba gratis con tu correo: tu API key llega a tu bandeja de entrada (3 días, sin tarjeta).
  2. 2 Abre el enlace al portal que llega en ese correo, ve a Conectar dispositivo y escanea el código QR desde WhatsApp → Dispositivos vinculados.
  3. 3 Guarda tu API key en secreto, como una contraseña: envíala en el encabezado Authorization, nunca en una página web pública.

Envía un mensaje de texto

Envía una solicitud POST a https://wabot.astranexo.com/api/send-message con tu key como token Bearer:

curl -X POST https://wabot.astranexo.com/api/send-message \
  -H "Authorization: Bearer $WABOT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "50688887777", "message": "Tu pedido #1001 sale hoy"}'
  • to: el número del destinatario con su código de país (de 8 a 20 caracteres; se aceptan +, espacios, guiones y paréntesis).
  • message: el texto, hasta 4.096 caracteres. Funcionan los emojis y los saltos de línea.
  • idempotency_key (opcional): tu propio ID para el mensaje. Si lo envías otra vez con la misma key, recibes el primer mensaje en vez de enviarlo dos veces, así que los reintentos son seguros.

WaBot responde de inmediato y pone el mensaje en cola:

{
  "success": true,
  "message": "Message queued successfully",
  "message_id": 123,
  "status": "queued",
  "queue_position": 1,
  "estimated_wait_seconds": 0,
  "remaining_today": null
}

Envía una imagen, un video o un documento

Usa /api/send-media con un enlace público al archivo. WaBot lo descarga y lo envía desde tu número, con un texto opcional:

curl -X POST https://wabot.astranexo.com/api/send-media \
  -H "Authorization: Bearer $WABOT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "50688887777", "file_url": "https://example.com/factura-1001.pdf", "caption": "Factura #1001"}'
  • Imágenes: JPG, PNG, GIF, WebP. Video: MP4, 3GP. Documentos: PDF, Word, Excel, PowerPoint. Audio: MP3, OGG, WAV.
  • Hasta 16 MB, desde un enlace que cualquiera pueda abrir.

Revisa que salió

Cada envío devuelve un message_id. Consulta su estado:

curl https://wabot.astranexo.com/api/message/123/status \
  -H "Authorization: Bearer $WABOT_KEY"

El estado pasa de queued a sending y a sent, o a failed con el motivo en error. sent significa que WhatsApp aceptó el mensaje desde tu número.

Ejemplos en tu lenguaje

JavaScript (Node.js 18+, módulo ES)

const response = await fetch('https://wabot.astranexo.com/api/send-message', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.WABOT_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ to: '50688887777', message: 'Tu cita es mañana a las 9:00' }),
});
console.log(await response.json());

Python

import os, requests

response = requests.post(
    'https://wabot.astranexo.com/api/send-message',
    headers={'Authorization': f"Bearer {os.environ['WABOT_KEY']}"},
    json={'to': '50688887777', 'message': 'Tu cita es mañana a las 9:00'},
)
print(response.json())

PHP (Laravel)

use Illuminate\Support\Facades\Http;

$response = Http::withToken(config('services.wabot.key'))
    ->post('https://wabot.astranexo.com/api/send-message', [
        'to' => '50688887777',
        'message' => 'Tu cita es mañana a las 9:00',
    ]);

$messageId = $response->json('message_id');

Envía desde Google Sheets

En tu hoja, abre Extensiones → Apps Script y pega esta función. Guarda tu API key en Configuración del proyecto → Propiedades de la secuencia de comandos como WABOT_KEY, para que no quede en el código:

function sendWhatsApp(to, message) {
  const key = PropertiesService.getScriptProperties().getProperty('WABOT_KEY');
  const response = UrlFetchApp.fetch('https://wabot.astranexo.com/api/send-message', {
    method: 'post',
    contentType: 'application/json',
    headers: { Authorization: 'Bearer ' + key },
    payload: JSON.stringify({ to: String(to), message: message }),
    muteHttpExceptions: true,
  });
  return JSON.parse(response.getContentText());
}

Llámala desde tu propio script, por ejemplo en un ciclo sobre las filas de tu hoja. WaBot espacia los envíos por ti.

Zapier y Make

Sin código: en Zapier usa Webhooks by Zapier y en Make el módulo HTTP. Envía un POST a https://wabot.astranexo.com/api/send-message con el encabezado Authorization: Bearer más tu key, y un cuerpo JSON con to y message, igual que en los ejemplos de arriba.

Límites y buenas prácticas

  • Los mensajes de tu número salen de uno en uno, con al menos 5 segundos de separación (hasta 10 por minuto), para cumplir las pautas de WhatsApp. Puedes ponerlos todos en cola de una vez; WaBot hace el espaciado.
  • La prueba gratis incluye 50 mensajes en total. Los planes pagos no tienen límite diario.
  • Si tu teléfono se desconecta, los mensajes esperan hasta 24 horas y salen cuando lo vuelves a vincular.
  • La API envía; no te avisa de los mensajes que recibes. Para leer y responder chats, conecta Claude o ChatGPT.
  • WaBot no es la API oficial de WhatsApp Business de Meta: vincula tu número como lo hace WhatsApp Web. Úsalo para mensajes que la gente espera, no para envíos masivos ni mensajes no solicitados.

¿Qué plan necesito?

Para escribirles a clientes o a cualquier otra persona, elige Ilimitado ($6/mes o $60/año), con documentos incluidos. Personal ($1/mes o $10/año) envía texto, imágenes y video solo a tu propio número, ideal para alertas y recordatorios para ti. Compara los planes.

Si algo sale mal

  • 401: falta la API key o es incorrecta.
  • 403 con "reason": "plan_expired": tu prueba o tu plan terminó. La respuesta incluye un upgrade_url para suscribirte; tu key sigue siendo la misma.
  • 422: falta un campo o no es válido (por ejemplo, un número demasiado corto).
  • 403 con "reason": "trial_limit": se usaron los 50 mensajes de la prueba gratis. La respuesta incluye un upgrade_url para suscribirte; tu key sigue siendo la misma.
  • 429: estás enviando demasiado rápido. Espera los segundos de retry_after y vuelve a intentarlo.

Contacto

¿Preguntas? Escríbenos

Pregunta por los planes, la configuración o tu cuenta. Respondemos por WhatsApp y por correo.

O escríbenos directamente:

Tu mensaje se abre en WhatsApp o en tu app de correo, listo para enviar. No se envía nada hasta que lo envíes ahí.