Ir al contenido

WhatsApp (Evolution API)

aiuda habla WhatsApp a través de Evolution API (open source). El conector vive en core/aiuda_core/connectors/evolution.py y está deliberadamente desacoplado: si un día conviene migrar a la Cloud API oficial de Meta, solo se toca ese módulo.

  1. Levanta tu instancia de Evolution API y crea una instancia por negocio (tenant).
  2. En .env: EVOLUTION_BASE_URL, EVOLUTION_API_KEY y un EVOLUTION_WEBHOOK_TOKEN que tú inventas.
  3. Configura el webhook de Evolution hacia:
POST https://<tu-host>/v1/webhooks/evolution?token=<EVOLUTION_WEBHOOK_TOKEN>
  1. El webhook valida el token y resuelve el tenant por nombre de instancia.
  2. Idempotencia: si el wa_message_id ya se procesó, responde duplicate (WhatsApp reintenta si no respondes en menos de 5 segundos — por eso el gateway solo persiste y encola).
  3. El worker invoca al agente, salvo que la conversación tenga human_takeover: ahí el humano manda y el agente calla.
  4. La respuesta sale por send_text de Evolution, y queda en el hilo con su autor.

Mensajes de grupos (@g.us), eventos que no son messages.upsert, y mensajes propios (fromMe) para no responderse a sí mismo.