API e Integración Destacado Acceso Libre 20 Feb, 2026

Tutorial: WhatsApp Business API — Guía completa

Todo lo que necesitas para integrar WhatsApp Business API en tu proyecto. Desde la configuración en Meta hasta envío de templates y recepción de mensajes.

#whatsapp #api #meta #chatbot #mensajeria

Contenido

WhatsApp Business API: De cero a producción

Requisitos previos

  • Cuenta de Meta Business Suite
  • Aplicación de Meta Developers
  • Número de teléfono verificado
  • Servidor con HTTPS para webhooks

Enviar un mensaje

import requests

PHONE_NUMBER_ID = "tu_phone_number_id"
ACCESS_TOKEN = "tu_access_token"
API_URL = f"https://graph.facebook.com/v18.0/{PHONE_NUMBER_ID}/messages"

def send_text_message(to: str, text: str):
    response = requests.post(
        API_URL,
        headers={"Authorization": f"Bearer {ACCESS_TOKEN}"},
        json={
            "messaging_product": "whatsapp",
            "to": to,
            "type": "text",
            "text": {"body": text}
        }
    )
    return response.json()

def send_template_message(to: str, template_name: str, language: str = "es"):
    response = requests.post(
        API_URL,
        headers={"Authorization": f"Bearer {ACCESS_TOKEN}"},
        json={
            "messaging_product": "whatsapp",
            "to": to,
            "type": "template",
            "template": {
                "name": template_name,
                "language": {"code": language}
            }
        }
    )
    return response.json()

Recibir mensajes (webhook)

# Con FastAPI
@app.post("/webhook/whatsapp")
async def whatsapp_webhook(request: Request):
    body = await request.json()

    for entry in body.get("entry", []):
        for change in entry.get("changes", []):
            value = change.get("value", {})
            messages = value.get("messages", [])

            for msg in messages:
                sender = msg["from"]
                msg_type = msg["type"]

                if msg_type == "text":
                    text = msg["text"]["body"]
                    print(f"De {sender}: {text}")
                    # Procesar y responder

    return {"status": "ok"}

Reglas importantes

  • Solo puedes enviar mensajes libres dentro de la ventana de 24h (después del último mensaje del usuario)
  • Fuera de la ventana, solo puedes usar templates aprobados por Meta
  • Los templates se aprueban en 1-2 días hábiles

Recurso Externo

Este recurso incluye un enlace externo. Regístrate para acceder.

Inicia Sesión para Acceder

Únete a la Comunidad

Regístrate gratis para descargar archivos, guardar recursos en favoritos, ganar XP y acceder a cursos y el foro de la comunidad.

¿Ya tienes cuenta? Inicia sesión

Erik Taveras

Autor

Erik Taveras

Recursos Relacionados