Eventos
Cada webhook do uazapi capturado, mensagem por mensagem.
| id | recebido | nome | telefone | tipo | conteúdo / anúncio |
|---|
—
raw_payload preservado em D1 · clique numa linha para abrir
Conversões
Contatos vindos de anúncio e os eventos enviados à Meta CAPI.
| id | primeira msg | contato | campanha | conjunto | anúncio | lead | purchase | qualified | enviado em |
|---|
—
ctwa_clid → Meta Conversions API
Regras de disparo automático
Quando uma mensagem contém a frase, o evento dispara sozinho — sem clique manual.
| padrão | evento | direção | valor | disparos | último disparo | ativo |
|---|
—
match → fire via waitUntil()
Testar regras (dry-run · nada é enviado)
Nova regra
apenas para evento purchase
A regra roda dentro do webhook, depois do 200 — o uazapi nunca espera pela Meta.
Outbox
Fila durável de envio (ADR-0009) — cada evento agendado para um destino (ex.: meta_capi), com tentativas e backoff. Visibilidade que a stack canônica não tinha.
| id | criado | destino | idempotency_key | status | tentativas | próxima tentativa | último erro | enviado em |
|---|
—
event_outbox · drenado por drainOutbox() (backoff [1500,4000,10000,20000]ms)
CPA/ROAS por campanha
Gasto sincronizado da Meta Marketing API (ad_spend, via POST /api/sync/meta-ads) cruzado com vendas CTWA confirmadas (conversions.purchase_status='sent') por campaign_id — mesma fórmula do módulo web: CPA = spend/vendas, ROAS = receita/spend.
| campanha | spend | vendas | receita | CPA | ROAS |
|---|
—
ad_spend + conversions×meta_ads_cache · valores em BRL