Si eres desarrollador buscando "API WhatsApp", existen tres caminos: la
WhatsApp Cloud API oficial de Meta, la
WhatsApp Business API vía BSP (proveedor oficial) y las
APIs no oficiales (que deberías evitar). Esta guía explica cada una, cuándo usar y muestra código real en Python, Node.js y cURL para el camino recomendado.
Las 3 APIs de WhatsApp en 2026
- Hospedada por Meta
- Acceso directo vía Graph API
- Tú manejas tokens, templates, webhooks
- Buena para: equipos con buen DevOps
2. WhatsApp Business API vía BSP (recomendado)
- BSPs oficiales como Zavu, Twilio, MessageBird
- Abstraen la complejidad (tokens, retries, templates)
- SDK oficial en varios lenguajes
- Buena para: 99% de los casos
3. APIs no oficiales (no uses)
- Bibliotecas que hacen reverse engineering de WhatsApp Web
- Funcionan hasta que Meta las bloquea
- Sin soporte, sin garantía, sin sello verde
- Pueden banear tu número permanentemente
Cómo empezar con la API WhatsApp en 5 minutos
Camino más simple: BSP oficial. Así con Zavu:
1. Cuenta gratis
Crea en
zavu.dev. Sin tarjeta de crédito.
En el dashboard,
Add WhatsApp Sender → OAuth con Meta → autoriza Zavu. Demora 5 minutos.
3. Instalar SDK
bash
# Node.js / TypeScript
npm install @zavudev/sdk
# Python
pip install zavudev
4. Enviar primer mensaje
Node.js:typescript
import Zavu from "@zavudev/sdk"
const zavu = new Zavu({ apiKey: process.env.ZAVU_API_KEY })
const result = await zavu.messages.send({
to: "+525511223344",
channel: "whatsapp",
text: "¡Hola! Primer mensaje vía API."
})
console.log(result.message.id, result.message.status)
Python:python
from zavudev import Zavu
zavu = Zavu(api_key=os.environ["ZAVU_API_KEY"])
result = zavu.messages.send(
to="+525511223344",
channel="whatsapp",
text="¡Hola! Primer mensaje vía API."
)
print(result.message.id, result.message.status)
La regla de la ventana de 24 horas
Meta tiene regla estricta:
- Dentro de 24h después que el cliente respondió: cualquier tipo de mensaje
- Fuera de 24h: solo templates aprobados
Diseña tus flujos en torno a eso. Usa templates para outbound proactivo (confirmación de pedido, OTPs, recordatorios), texto libre dentro de la ventana.
Tipos de mensaje
Texto
typescript
await zavu.messages.send({ to, channel: "whatsapp", text: "Hola" })
Template (fuera de ventana)
typescript
await zavu.messages.send({
to, channel: "whatsapp", messageType: "template",
content: { templateId: "tpl_pedido_confirmado", templateVariables: { "1": "Juan" } }
})
typescript
await zavu.messages.send({
to, channel: "whatsapp", messageType: "image",
content: { mediaUrl: "https://..." }
})
Interactivo (botones, listas)
typescript
await zavu.messages.send({
to, channel: "whatsapp", messageType: "buttons",
text: "Elige opción",
content: { buttons: [{ id: "1", title: "Comprar" }, { id: "2", title: "Soporte" }] }
})
Webhooks para recibir
typescript
export async function POST(req: Request) {
const event = await req.json()
if (event.type === "message.inbound") {
await zavu.messages.send({
to: event.message.from,
channel: "whatsapp",
text: "Recibido"
})
}
return new Response("ok")
}
Tipos de evento:
message.inbound — cliente enviómessage.delivered — entregadomessage.read — leídomessage.failed — falló (con razón)button.reply — cliente apretó botóntemplate.status_changed — template aprobado/rechazado
Pitfalls comunes
Timeout de webhook: Meta reintenta si no respondes 200 en 2 segundos. Reconoce rápido, procesa async.
Ciclos de rechazo de template: Meta rechaza templates promocionales en categoría Utility. Lee las
guidelines de template.
Degradación de quality score: tasa de bloqueos alta limita tu número. Verifica opt-ins, respeta requests de STOP.
Rate limits: Meta aplica tiers (250/día → 1k → 10k → 100k). Verifica el negocio para aumentar.
Precios snapshot (México, 2026)
| Categoría | Costo por conversación 24h |
|---|
| Service (cliente inicia) | $0 |
|---|
| Authentication | $0.40 MXN |
|---|
| Utility | $0.60 MXN |
|---|
| Marketing | $3.20 MXN |
|---|
Cálculo completo de precios.
Eligiendo BSP
| Proveedor | Markup | Setup | Contrato | Mejor para |
|---|
| Zavu | 0% | $0 | Mes a mes | Devs multi-canal |
|---|
| Twilio | 5-20% | $0 | Mes a mes | Voz + SMS también |
|---|
| MessageBird | Variable | $12,000 MXN | 3 meses | Enterprise |
|---|
| Gupshup | 10-25% | $0 | Mes a mes | LATAM y India |
|---|
Recursos relacionados
Conclusión
La API WhatsApp en 2026 está madura y accesible. Elige BSP sin markup ni contrato, usa templates para outbound, texto libre dentro de ventana de 24h, e instrumenta con webhooks.
Zavu free tier cubre tus primeros 2,000 mensajes — sin tarjeta.