Óscar Romero Quincoces

Proyectos / Investigación

Pruebas de chatbot

Un bot de WhatsApp que responde con Claude

Prototipo2026Proyecto personal
Someone writes on WhatsAppAlguien escribe por WhatsApp Meta sends it to the webhookMeta lo envía al webhook FastAPI /webhookFastAPI /webhook reads the message from the payloadsaca el mensaje del payload Conversation historyHistorial de la conversación last 20 messages per number, in memory20 últimos mensajes por número, en memoria Claude writes the answerClaude escribe la respuesta Anthropic SDKSDK de Anthropic the reply goes backla respuesta vuelve to the same chatal mismo chat
Figura 1. Cómo funciona el prototipo, en diagrama: solo se probó con mensajes simulados

Resumen

Las pruebas que hice antes del bot de Telegram en producción: un backend que recibe mensajes de WhatsApp por el webhook de Meta, guarda el historial reciente de cada conversación y responde con Claude.

Python, FastAPI y el SDK de Anthropic.

Qué es

Un pequeño backend en FastAPI para WhatsApp. Un endpoint responde a la verificación del webhook de Meta; el otro recibe los mensajes, interpreta el formato de Meta, guarda en memoria los últimos 20 mensajes de cada conversación y contesta con Claude. Se puede probar sin credenciales de Meta simulando el webhook con curl, y exponer con ngrok cuando toca conectar el número real.

Por qué existe

Fueron las pruebas que hice antes de construir el bot de Telegram que hoy está en producción. Por ahora la respuesta de Claude aparece en el registro del servidor; el envío de respuestas de vuelta a través de Meta queda para cuando estén las credenciales reales.

Figuras

New WhatsApp messageMensaje nuevo de WhatsApp from one phone numberdesde un número de teléfono Recent historyHistorial reciente of that conversation, in memoryde esa conversación, en memoria Claude writes the replyClaude escribe la respuesta with the whole contextcon todo el contexto Reply sent and savedRespuesta enviada y guardada back into the historyde vuelta al historial
Figura 2. Qué recibe Claude con cada mensaje: el texto nuevo y el historial reciente de esa conversación

Hecho con

PythonFastAPIAnthropic SDKWhatsApp Cloud APIngrok