⏱ Tiempo estimado: 24 minutos

🎯 Rama / Perfil: Automatización / negocios / marketers que quieren un caso de uso desplegable a usuarios reales, no solo a un servicio interno

🧠 Conocimiento previo necesario: Despliegue de la API en Railway (clase 17 del curso). Conceptos básicos de webhooks.

💡 ¿Qué vas a lograr? Un webhook funcional que recibe mensajes de WhatsApp y responde usando Claude, probado desde tu propio celular.

🛠 Lo que necesitas antes de empezar

bash

  pip install fastapi uvicorn anthropic

📋 Pasos

Paso 1 — Activa el Sandbox de WhatsApp de Twilio

Sigue las instrucciones oficiales para unirte al sandbox: te dan un número de Twilio y un código que debes enviar por WhatsApp desde tu celular para conectar tu número al sandbox. 🔗 Guía oficial del Sandbox de WhatsApp

Paso 2 — Crea un servidor FastAPI con un endpoint de webhook

Crea un endpoint POST /webhook que reciba el payload que Twilio envía cada vez que alguien te escribe por WhatsApp. 🔗 Documentación de FastAPI

Paso 3 — Extrae el mensaje y llama a la Claude API

Del payload de Twilio, toma el campo Body (el texto que escribió el usuario) y pásaselo a client.messages.create(...), igual que en la clase 2 del curso, pero ahora disparado por un mensaje de WhatsApp en vez de un input de terminal.

Paso 4 — Responde usando TwiML

Devuelve la respuesta de Claude envuelta en TwiML (el formato XML que espera Twilio) para que se reenvíe como un mensaje de WhatsApp de vuelta al usuario.

Paso 5 — Expón tu servidor local con ngrok

bash

ngrok http 8000

Esto te da una URL pública temporal que apunta a tu servidor local.

Paso 6 — Configura el webhook en la consola de Twilio

Pega la URL de ngrok (terminada en /webhook) en la configuración del Sandbox de WhatsApp, en el campo "WHEN A MESSAGE COMES IN".

Paso 7 — Pruébalo desde tu WhatsApp

Escríbele algo a tu número de sandbox y verifica que Claude te responde en segundos.

✅ Resultado esperado

Un número de WhatsApp (sandbox) que responde en tiempo real usando la Claude API, corriendo sobre un servidor FastAPI expuesto con ngrok — la base para, más adelante, desplegar ese mismo servidor en Railway (como en la clase 17) y usar un número de WhatsApp de producción.

🔥 Tu reto (siguiente acción)

Agrega memoria de conversación por número de teléfono: guarda el historial de cada usuario (un diccionario simple indexado por su número basta para empezar) para que el bot recuerde el contexto de mensajes anteriores, igual que el chatbot con memoria de la clase 3, pero por cada número de WhatsApp distinto.

📚 Recursos para ir más lejos

0 Comentarios

para escribir tu comentario

Artículos relacionados