Volver al blog

Enviar mensajes de WhatsApp con una API REST: ejemplos en Node.js y Python

Enviar mensajes de WhatsApp desde tu aplicación no tiene por qué ser complicado. Con una API REST y tu API key, mandas un texto, una imagen o un audio con una sola petición HTTP. Aquí tienes ejemplos listos para copiar en cURL, Node.js y Python.

Antes de empezar

Necesitas dos cosas:

  1. Un número de WhatsApp conectado (en LoroAPI se hace escaneando un QR, en minutos).
  2. Tu API key, que va en la cabecera x-api-key de cada petición.

La URL base de la API es https://loroapi.com/api/v1. El número de destino se escribe con el código de país, sin el + (por ejemplo, 5215555555555).

Enviar un mensaje de texto

cURL

curl -X POST https://loroapi.com/api/v1/send \
  -H "x-api-key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "number": "5215555555555", "type": "text", "text": "Hola desde la API 👋" }'

Node.js (fetch nativo)

const res = await fetch("https://loroapi.com/api/v1/send", {
  method: "POST",
  headers: {
    "x-api-key": process.env.LOROAPI_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    number: "5215555555555",
    type: "text",
    text: "Hola desde Node.js 👋",
  }),
});
const data = await res.json();
console.log(data);

Python (requests)

import requests

resp = requests.post(
    "https://loroapi.com/api/v1/send",
    headers={"x-api-key": "TU_API_KEY"},
    json={"number": "5215555555555", "type": "text", "text": "Hola desde Python 👋"},
)
print(resp.json())

Enviar una imagen

Adjunta la imagen por URL y un pie de foto opcional:

curl -X POST https://loroapi.com/api/v1/send \
  -H "x-api-key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "5215555555555",
    "type": "image",
    "media": "https://tu-servidor.com/foto.jpg",
    "caption": "Mira esto 👀"
  }'

Enviar una nota de voz / audio

curl -X POST https://loroapi.com/api/v1/send \
  -H "x-api-key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "number": "5215555555555", "type": "audio", "media": "https://tu-servidor.com/nota.mp3" }'

Cómo interpretar la respuesta

La API devuelve códigos HTTP estándar:

  • 200 — Mensaje enviado; el cuerpo trae la respuesta del envío.
  • 400 — Falta un campo (number, text o media).
  • 401 — API key ausente o inválida.
  • 402 — Suscripción inactiva o sin créditos.
  • 409 — Aún no has conectado un número de WhatsApp.

Buenas prácticas

  • Guarda tu API key como variable de entorno, nunca en el código fuente.
  • Cada mensaje saliente consume 1 crédito; recibir es gratis.
  • Respeta las políticas de WhatsApp: nada de spam ni envíos masivos no solicitados (puede provocar el bloqueo del número).

Siguiente paso: recibir mensajes

Enviar es la mitad. Para recibir los mensajes entrantes en tu servidor (y, por ejemplo, responder con IA), configura un webhook: LoroAPI hará un POST firmado a tu URL con cada mensaje que llegue.

Crea tu cuenta gratis y obtén tu API key →

¿Listo para conectar tu WhatsApp con IA?

Crea tu cuenta gratis y conéctalo en minutos.

Empieza gratis