Skip to content

Demo Bot de WhatsApp (Sesion Real)

Estado verificado al 28 de marzo de 2026. Nota de runtime: FastFN auto-instala dependencias locales por función desde requirements.txt / package.json; en fastfn dev --native necesitas runtimes instalados en host, mientras que fastfn dev depende de Docker daemon activo. Esta guia ejecuta una sesion real de WhatsApp Web desde una funcion Node.

1. Iniciar plataforma

docker compose up -d --build

2. Probar primero el demo QR

curl -sS 'http://127.0.0.1:8080/qr?text=HolaQR' -o /tmp/qr.svg

3. Ver intro del demo WhatsApp

curl -sS 'http://127.0.0.1:8080/whatsapp' | jq .

4. Pedir QR (auto-inicia conexion)

curl -sS 'http://127.0.0.1:8080/whatsapp?action=qr' --output /tmp/wa-qr.png

Escanea /tmp/wa-qr.png desde WhatsApp: - Configuracion - Dispositivos vinculados - Vincular dispositivo

5. Ver estado de sesion

curl -sS 'http://127.0.0.1:8080/whatsapp?action=status' | jq .

Debes ver: - "connected": true - "me": "<jid>"

6. Enviar mensaje

curl -sS -X POST 'http://127.0.0.1:8080/whatsapp?action=send' \
  -H 'Content-Type: application/json' \
  --data '{"to":"15551234567","text":"hola desde FastFN"}' | jq .

7. Leer inbox/outbox

curl -sS 'http://127.0.0.1:8080/whatsapp?action=inbox' | jq .
curl -sS 'http://127.0.0.1:8080/whatsapp?action=outbox' | jq .

8. Respuesta AI (opcional)

Configura fn.env.json de la funcion:

<FN_FUNCTIONS_ROOT>/whatsapp/fn.env.json

{
  "OPENAI_API_KEY": {"value":"sk-...","is_secret":true},
  "OPENAI_MODEL": {"value":"gpt-4o-mini","is_secret":false}
}

Luego:

curl -sS -X POST 'http://127.0.0.1:8080/whatsapp?action=chat' \
  -H 'Content-Type: application/json' \
  --data '{"to":"15551234567","text":"Responde breve y amable en espanol"}' | jq .

9. Resetear sesion

curl -sS -X DELETE 'http://127.0.0.1:8080/whatsapp?action=reset-session' | jq .

Diagrama de Flujo

flowchart LR
  A["Request del cliente"] --> B["Discovery de rutas"]
  B --> C["Validación de políticas y método"]
  C --> D["Ejecución del handler runtime"]
  D --> E["Respuesta HTTP + paridad OpenAPI"]

Objetivo

Alcance claro, resultado esperado y público al que aplica esta guía.

Prerrequisitos

  • CLI de FastFN disponible
  • Dependencias por modo verificadas (Docker para fastfn dev, OpenResty+runtimes para fastfn dev --native)

Checklist de Validación

  • Los comandos de ejemplo devuelven estados esperados
  • Las rutas aparecen en OpenAPI cuando aplica
  • Las referencias del final son navegables

Solución de Problemas

  • Si un runtime cae, valida dependencias de host y endpoint de health
  • Si faltan rutas, vuelve a ejecutar discovery y revisa layout de carpetas

Ver también

Última revisión: 28 de marzo de 2026 · Docs en fastfn.dev