WhatsAppAPIDesarrolladoresTutorial

API WhatsApp: Guía Completa para Desarrolladores (2026)

Todo sobre API WhatsApp en 2026: opciones (Cloud API, Business API, no oficial), precio, requisitos, ejemplos en Python, Node.js y cURL.

Redactado por: Victor VillalobosRevisado por: Jennifer Villalobos17 de mayo de 202611 min de lectura
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

1. WhatsApp Cloud API (oficial Meta)

  • 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.

2. Conectar Meta Business

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" } } })

Media

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 — entregado
  • message.read — leído
  • message.failed — falló (con razón)
  • button.reply — cliente apretó botón
  • template.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íaCosto 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

ProveedorMarkupSetupContratoMejor para
Zavu0%$0Mes a mesDevs multi-canal
Twilio5-20%$0Mes a mesVoz + SMS también
MessageBirdVariable$12,000 MXN3 mesesEnterprise
Gupshup10-25%$0Mes a mesLATAM 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.

Necesitas ayuda? Contáctanos o únete a nuestra comunidad en Discord para soporte.

Siguenos en redes sociales

Listo para empezar?

Comienza a construir gratis, o agenda una llamada para discutir tu caso de uso específico.

API WhatsApp — Guía Completa para Devs | Zavu Blog