# WA-AKG Receiver — PX3 Lab

Receiver HTTP minimalista que captura eventos do WA-AKG (self-hosted WhatsApp
Gateway) e salva em JSONL local. É a cola entre o gateway e o resto do stack
(dashboard de funil, Linkia PX3, etc.).

## Status

- **Arquitetura pronta.** Não está ativado em systemd ainda (aguardando o 1º
  WhatsApp conectar — Monique PX3).
- Loga em `/opt/mia/logs/wa_akg_<slug>.jsonl` (um arquivo por "slug" de cliente).
- Valida secret por header `X-Webhook-Secret` **ou** query `?secret=`.

## Rodar manualmente (teste)

```bash
cd /opt/mia/workspace/clientes/px3lab/wa_akg_receiver
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
set -a; source /opt/mia/config/wa_akg.env; set +a
python app.py
# → ouvindo 127.0.0.1:8971
```

Teste de ponta:

```bash
curl -s http://127.0.0.1:8971/health
curl -s -X POST "http://127.0.0.1:8971/webhook/monique?secret=$WA_AKG_WEBHOOK_SECRET" \
  -H 'Content-Type: application/json' \
  -d '{"event":"message.received","sessionId":"monique","data":{"from":"5511934313883@s.whatsapp.net","content":"oi"}}'
tail -1 /opt/mia/logs/wa_akg_monique.jsonl
```

## Pra subir em systemd (quando Monique conectar)

Já há template pronto em `wa_akg_receiver.service.template` (nesta pasta).
Copiar pra `/etc/systemd/system/wa_akg_receiver.service`, `daemon-reload`,
`enable --now`.

## TODO

- [ ] Espelhar eventos pro Linkia PX3 como nota no contato
  (lookup por telefone -> `POST /notes` no contato).
- [ ] Normalizar JID -> E.164 antes de armazenar.
- [ ] Métrica de volume (eventos/min por slug) exposta em `/metrics`.
