DEV Community

LeoJulieta
LeoJulieta

Posted on

Crea y escala tu chatbot IA en WhatsApp en 2024

Agentes IA en WhatsApp: Guía práctica para crear, lanzar y escalar tu chatbot en 2024

Introducción

En menos de un mes, WhatsApp AI Agents pasó de ser una idea de ciencia‑ficción a una funcionalidad disponible para cualquier desarrollador. Desde que Meta abrió la plataforma a agentes de IA de terceros, las búsquedas de “WhatsApp chatbot OpenAI” y “conectar LLM a WhatsApp Business API” se dispararon un 350 %. Emprendedores, marketers y equipos de soporte ya están usando bots para reservar citas, responder preguntas de clientes, organizar trivias y, en algunos casos, generar ingresos mediante suscripciones o pagos por mensaje.

Este artículo te ofrece una guía paso a paso (≈ 2 500 palabras) para que, sin rodeos, puedas:

  1. Diseñar la arquitectura de tu agente IA.
  2. Registrar tu número y obtener credenciales en la Business API.
  3. Conectar tu bot a un modelo LLM (OpenAI, Anthropic o Falcon).
  4. Implementar ejemplos de código en Node.js y Python.
  5. Configurar prompts listos para atención al cliente, reservas y juegos.
  6. Asegurar el cumplimiento de GDPR y la normativa local.
  7. Monetizar mediante mensajes iniciados por el negocio (BIM) o suscripciones.

Al final tendrás un checklist de pruebas y un FAQ con enlaces oficiales para pasar de la teoría a la producción sin contratiempos.


1. ¿Por qué lanzar tu agente IA ahora?

Motivo Impacto concreto
Ventana limitada – Beta pública desde junio 2024 y apertura completa a finales de 2024. Los primeros adoptantes reportan tiempos de respuesta 4‑5× más rápidos y tasas de conversión > 12 % en e‑commerce.
Base de usuarios masiva – 2.9 mil millones de MAU, 85 % de penetración en Latinoamérica. Cada mensaje es una oportunidad directa, sin algoritmo que lo filtre.
LLM maduros – GPT‑4o, Claude 3, Falcon‑180B. Permiten “few‑shot prompting” y personalización sin entrenar modelos propios.
Regulación clara – GDPR y LFPDPPP exigen consentimiento explícito. Meta ofrece logs y herramientas de auditoría; basta configurarlas correctamente.
Monetización inmediata – “Business‑initiated messages” (≈ €0,0085 /msg) y suscripciones vía API de pagos. Puedes cobrar por reserva, por consulta o por acceso a contenido premium.

2. Arquitectura básica

Cliente ──► WhatsApp Business API ──► Middleware (Node.js / Python) ──► LLM (OpenAI, Anthropic, Falcon)
                                          │
                                          └─► Base de datos (Mongo / PostgreSQL)
Enter fullscreen mode Exit fullscreen mode
  1. WhatsApp Business API gestiona la entrega y recepción de mensajes (cifrado E2E garantizado).
  2. Middleware traduce los eventos de la API a llamadas HTTP a tu LLM y devuelve la respuesta al usuario.
  3. Base de datos almacena historial, consentimientos y métricas.

3. Registro y credenciales

  1. Crear cuenta Business ManagerConfiguración > Cuentas > WhatsApp > Configuración de la API.
  2. Solicitar número de teléfono (preferiblemente un número dedicado).
  3. Obtener WABA_ID, PHONE_NUMBER_ID, ACCESS_TOKEN.
  4. Configurar webhook:
   curl -X POST https://graph.facebook.com/v19.0/<PHONE_NUMBER_ID>/webhooks \
        -d "url=https://miapp.com/webhook" \
        -d "fields=messages,errors" \
        -d "access_token=<ACCESS_TOKEN>"
Enter fullscreen mode Exit fullscreen mode
  1. Verificar el webhook recibiendo el hub.challenge que Facebook envía.

4. Conexión a un modelo LLM

4.1 OpenAI (GPT‑4o)

import openai, os, json, requests

openai.api_key = os.getenv("OPENAI_API_KEY")

def generar_respuesta(prompt, user_id):
    response = openai.ChatCompletion.create(
        model="gpt-4o-mini",
        messages=[{"role":"system","content":"Eres un asistente de atención al cliente para una tienda de ropa."},
                  {"role":"user","content":prompt}],
        temperature=0.6,
        max_tokens=500,
    )
    return response.choices[0].message.content
Enter fullscreen mode Exit fullscreen mode

4.2 Anthropic (Claude 3)

const fetch = require('node-fetch');

async function generarRespuesta(prompt) {
  const resp = await fetch('https://api.anthropic.com/v1/messages', {
    method: 'POST',
    headers: {
      'x-api-key': process.env.ANTHROPIC_API_KEY,
      'content-type': 'application/json',
    },
    body: JSON.stringify({
      model: 'claude-3-opus-20240229',
      max_tokens: 500,
      temperature: 0.7,
      messages: [{ role: 'user', content: prompt }],
    }),
  });
  const data = await resp.json();
  return data.content[0].text;
}
Enter fullscreen mode Exit fullscreen mode

4.3 Falcon‑180B (via API de Hugging Face)

curl -X POST https://api-inference.huggingface.co/models/tiiuae/falcon-180b \
     -H "Authorization: Bearer $HF_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputs":"<prompt>", "parameters":{"max_new_tokens":300}}'
Enter fullscreen mode Exit fullscreen mode

5. Implementación del webhook (Node.js)

const express = require('express');
const bodyParser = require('body-parser');
const { generarRespuesta } = require('./llm');   // función del punto 4

const app = express();
app.use(bodyParser.json());

app.post('/webhook', async (req, res) => {
  const entry = req.body.entry?.[0];
  const changes = entry?.changes?.[0];
  const message = changes?.value?.messages?.[0];

  if (message && message.type === 'text') {
    const userMsg = message.text.body;
    const reply = await generarRespuesta(userMsg, message.from);

    await fetch(`https://graph.facebook.com/v19.0/${process.env.PHONE_NUMBER_ID}/messages`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.ACCESS_TOKEN}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        messaging_product: 'whatsapp',
        to: message.from,
        text: { body: reply },
      }),
    });
  }
  res.sendStatus(200);
});

app.listen(3000, () => console.log('Webhook escuchando en puerto 3000'));
Enter fullscreen mode Exit fullscreen mode

6. Prompts listos para usar

Caso de uso Prompt base (añade variables entre {{ }})
Atención al cliente Eres un agente de soporte de {{empresa}}. Responde de forma amable y clara a la siguiente consulta: "{{consulta}}"
Reserva de cita Actúa como asistente de reservas para {{negocio}}. Pregunta la fecha, hora y número de personas, confirma la disponibilidad y devuelve un mensaje de confirmación.
Trivia Eres un moderador de trivia. Formula una pregunta de cultura general de dificultad media y espera la respuesta del usuario. Si acierta, felicita; si falla, da la respuesta correcta.
Venta directa Como vendedor de {{producto}}, describe sus principales beneficios en 2‑3 frases y propone un botón de compra con el enlace {{url}}.

7. Seguridad y cumplimiento

  1. Consentimiento explícito – Envía un mensaje de bienvenida solicitando autorización antes de procesar datos personales.
  2. Almacenamiento cifrado – Usa campos encrypted de tu base de datos o servicios como AWS KMS.
  3. Logs de procesamiento – Habilita message_logs en la Business API; exporta a un bucket S3 para auditoría GDPR.
  4. Retención de datos – Configura una política de borrado automático (p. ej., 30 días) para cumplir con LFPDPPP.
  5. Rate limiting – Limita a 20 msg / segundo por número para evitar bloqueos de Meta.

8. Métricas clave y alertas

Métrica Herramienta Umbral de alerta
Tiempo medio de respuesta (TMR) CloudWatch / Grafana > 3 s
Tasa de entrega Dashboard de WhatsApp Business < 95 %
Conversiones (pago/subscripción) Firebase Analytics Caída > 20 % en

Herramienta mencionada: Groq Cloud

Top comments (0)