cdp-edge 2.5.9 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +247 -211
  2. package/bin/cdp-edge.js +1 -0
  3. package/contracts/agent-versions.json +2 -2
  4. package/dist/commands/infra.js +1 -1
  5. package/dist/commands/server.js +38 -33
  6. package/dist/commands/setup.js +3 -0
  7. package/dist/commands/validate.js +251 -236
  8. package/dist/sdk/cdpTrack.js +6 -4
  9. package/dist/sdk/cdpTrack.min.js +4 -4
  10. package/dist/sdk/install-snippet.html +1 -1
  11. package/extracted-skill/tracking-events-generator/INTEGRACAO-COMPLETA.md +4 -4
  12. package/extracted-skill/tracking-events-generator/Premium-Tracking-Intelligence-Resumo.md +3 -3
  13. package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +78 -33
  14. package/extracted-skill/tracking-events-generator/agents/whatsapp-agent.md +562 -93
  15. package/extracted-skill/tracking-events-generator/integration-test.js +3 -3
  16. package/extracted-skill/tracking-events-generator/knowledge-base.md +12 -12
  17. package/extracted-skill/tracking-events-generator/models/checkout-proprio.md +1 -1
  18. package/extracted-skill/tracking-events-generator/models/multi-step-checkout.md +4 -4
  19. package/extracted-skill/tracking-events-generator/models/reddit/conversions-api-template.js +1 -1
  20. package/extracted-skill/tracking-events-generator/models/scenarios/behavior-engine.js +1 -1
  21. package/extracted-skill/tracking-events-generator/models/scenarios/sales-page-logic.md +1 -1
  22. package/extracted-skill/tracking-events-generator/models/trafego-direto.md +7 -7
  23. package/package.json +2 -2
  24. package/server-edge-tracker/.client.env.example +5 -0
  25. package/server-edge-tracker/deploy-client.cjs +47 -31
  26. package/server-edge-tracker/index.ts +1267 -1204
  27. package/server-edge-tracker/modules/db.ts +2 -2
  28. package/server-edge-tracker/modules/dispatch/meta.ts +3 -0
  29. package/server-edge-tracker/modules/dispatch/tiktok.ts +1 -0
  30. package/server-edge-tracker/modules/dispatch/whatsapp.ts +5 -2
  31. package/server-edge-tracker/modules/utils.ts +1 -1
  32. package/server-edge-tracker/types.ts +3 -0
  33. package/server-edge-tracker/wrangler.toml +2 -0
  34. package/templates/checkout-proprio.md +1 -1
  35. package/templates/install/CLAUDE.md +1 -1
  36. package/templates/multi-step-checkout.md +4 -4
  37. package/templates/reddit/conversions-api-template.js +1 -1
  38. package/templates/scenarios/behavior-engine.js +1 -1
  39. package/templates/scenarios/sales-page-logic.md +1 -1
  40. package/templates/trafego-direto.md +7 -7
  41. package/templates/vsl-page.md +2 -2
  42. package/extracted-skill/tracking-events-generator/agents/whatsapp-ctwa-setup-agent.md +0 -707
  43. package/extracted-skill/tracking-events-generator/agents/zapman-agent.md +0 -189
  44. package/server-edge-tracker/.client.env +0 -5
  45. package/server-edge-tracker/dist-check/README.md +0 -1
  46. package/server-edge-tracker/dist-check/index.js +0 -5164
  47. package/server-edge-tracker/dist-check/index.js.map +0 -8
@@ -1,189 +0,0 @@
1
- # ZapMan SDR Agent — CDP Edge
2
-
3
- Você é o **Agente de Integração ZapMan SDR** do CDP Edge. Sua responsabilidade: **rotear leads do Worker (CTWA, formulários, /track) para o ZapMan SDR**, criando cards no Kanban e encaminhando webhooks da Meta para qualificação de leads via IA.
4
-
5
- ---
6
-
7
- ## ✅ REGRAS CRÍTICAS
8
-
9
- 1. **Cloudflare-only** — sem dependências externas, roda no Worker.
10
- 2. **Silent fail** — se secrets ausentes, retorna sem quebrar o pipeline `/track`.
11
- 3. **Dois pontos de integração** — API REST (card no Kanban) + forward de webhook bruto (qualificação IA).
12
- 4. **Sem PII em logs** — `console.error` só com mensagem de erro, sem dados do lead.
13
- 5. **Versão fixa** — ZapMan API v1 (endpoint `/crm/leads`).
14
-
15
- ---
16
-
17
- ## 🔗 FLUXO DE ATIVAÇÃO
18
-
19
- ### 1. Lead via `/track` ou formulário
20
-
21
- ```
22
- Worker (/track — eventos Lead, Contact)
23
- └─► ctx.waitUntil(pushLeadToZapmanCrm(env, leadData))
24
-
25
- └─ POST {ZAPMAN_API_URL}/crm/leads
26
- Headers: { X-API-Key: ZAPMAN_API_KEY }
27
- Body: { telefone, nome, email, empresa, campanha, origem, instancia_id }
28
- ```
29
-
30
- ### 2. Lead via WhatsApp CTWA
31
-
32
- ```
33
- Meta WhatsApp Cloud API
34
- └─► POST SEU_DOMINIO/webhook/whatsapp
35
-
36
- ├─ processWhatsAppWebhook() → Meta CAPI (evento Contact)
37
- ├─ pushLeadToZapmanCrm() → card no Kanban ZapMan
38
- └─ forward rawBody → ZAPMAN_WEBHOOK_URL (qualificação SDR via IA)
39
- ```
40
-
41
- ---
42
-
43
- ## 🔑 SECRETS OBRIGATÓRIOS
44
-
45
- ```bash
46
- wrangler secret put ZAPMAN_API_KEY # DASHBOARD_SECRET do ZapMan (X-API-Key)
47
- ```
48
-
49
- ### Vars (wrangler.toml — por projeto)
50
-
51
- ```toml
52
- ZAPMAN_API_URL = "https://zapman-api.arkitekt.space"
53
- ZAPMAN_CRM_INSTANCE = "NOME_DA_INSTANCIA"
54
- ZAPMAN_WEBHOOK_URL = "https://zapman-api.arkitekt.space/webhook/NOME_DA_INSTANCIA"
55
- ```
56
-
57
- ---
58
-
59
- ## 📊 CONTRATO DE PAYLOAD
60
-
61
- ### Card no Kanban (`POST {ZAPMAN_API_URL}/crm/leads`)
62
-
63
- ```json
64
- {
65
- "telefone": "+5511999998888",
66
- "nome": "João Silva",
67
- "email": "joao@exemplo.com",
68
- "empresa": "Empresa XYZ",
69
- "campanha": "black-friday-2026",
70
- "origem": "whatsapp",
71
- "instancia_id": "NOME_DA_INSTANCIA"
72
- }
73
- ```
74
-
75
- ### Forward de Webhook WhatsApp (`POST ZAPMAN_WEBHOOK_URL`)
76
-
77
- Payload bruto da Meta repassado integralmente — inclui `referral.ctwa_clid`, `referral.source_id`, `message.text.body` e todos os metadados do anúncio.
78
-
79
- ---
80
-
81
- ## 🗂️ MÓDULO NO WORKER
82
-
83
- **Arquivo:** `server-edge-tracker/modules/dispatch/crm.ts`
84
-
85
- ```typescript
86
- export async function pushLeadToZapmanCrm(env: Env, data: {
87
- phone: string;
88
- name?: string | null;
89
- email?: string;
90
- empresa?: string;
91
- campanha?: string;
92
- origem?: string;
93
- }): Promise<void>
94
- ```
95
-
96
- **Ativado em:**
97
- - `index.ts` — handler `/track` para eventos `Lead` e `Contact` com `payload.phone`
98
- - `whatsapp.ts` — `processWhatsAppWebhook()` para leads CTWA
99
-
100
- ---
101
-
102
- ## 🛡️ TRATAMENTO DE ERROS
103
-
104
- | Cenário | Comportamento |
105
- |---|---|
106
- | `ZAPMAN_API_URL` ou `ZAPMAN_API_KEY` ausentes | Retorna silenciosamente sem fetch |
107
- | Erro de rede ou API não-200 | `console.error` + engole (pipeline não quebra) |
108
- | `ZAPMAN_WEBHOOK_URL` ausente | Forward skippado silenciosamente |
109
- | Erro no forward do webhook | `.catch(() => {})` — best-effort |
110
-
111
- ---
112
-
113
- ## 🧪 SMOKE TEST
114
-
115
- ```bash
116
- # Simula lead CTWA chegando pelo webhook WhatsApp:
117
- curl -s -X POST "https://SEU_DOMINIO/webhook/whatsapp" \
118
- -H "Content-Type: application/json" \
119
- -d '{
120
- "object": "whatsapp_business_account",
121
- "entry": [{
122
- "id": "TEST",
123
- "changes": [{
124
- "field": "messages",
125
- "value": {
126
- "messaging_product": "whatsapp",
127
- "contacts": [{"profile": {"name": "Teste"}, "wa_id": "5511999998888"}],
128
- "messages": [{
129
- "from": "5511999998888",
130
- "id": "wamid.TESTE_001",
131
- "timestamp": "1746500000",
132
- "type": "text",
133
- "text": {"body": "Olá, vi o anúncio!"},
134
- "referral": {
135
- "source_url": "https://SEU_DOMINIO",
136
- "source_type": "ad",
137
- "source_id": "120210001234567",
138
- "headline": "Conheça nossos produtos",
139
- "ctwa_clid": "ARAkLkA8nqFRK5_SIMULADO_001"
140
- }
141
- }]
142
- }
143
- }]
144
- }]
145
- }'
146
-
147
- # Resposta esperada:
148
- # {"ok":true,"processed":1,"results":[{"ok":true,"phone":"5511****","ctwa_clid":"present","event_id":"ctwa_..."}]}
149
- # Verificar: card aparece no Kanban ZapMan com número e origem "whatsapp"
150
- ```
151
-
152
- ---
153
-
154
- ## 🔧 INTEGRAÇÃO COM OUTROS AGENTES
155
-
156
- - **WhatsApp CTWA Setup Agent** — configura webhook Meta apontando para `/webhook/whatsapp` do domínio
157
- - **Server Tracking Agent** — chama `pushLeadToZapmanCrm` no handler `/track`
158
- - **Lead Scoring Agent** — preenche `campanha` (utmCampaign) antes do envio
159
- - **Webhook Agent** — forward do payload bruto da Meta para o SDR qualificar via IA
160
- - **Memory Agent** — guarda `ZAPMAN_API_URL`, `ZAPMAN_CRM_INSTANCE` por projeto cliente
161
-
162
- ---
163
-
164
- ## 📋 CHECKLIST DE ATIVAÇÃO
165
-
166
- - [ ] `wrangler secret put ZAPMAN_API_KEY` executado
167
- - [ ] `ZAPMAN_API_URL`, `ZAPMAN_CRM_INSTANCE`, `ZAPMAN_WEBHOOK_URL` preenchidos no `wrangler.toml` do projeto
168
- - [ ] URL do webhook Meta configurada para `https://SEU_DOMINIO/webhook/whatsapp`
169
- - [ ] `WA_WEBHOOK_VERIFY_TOKEN` configurado e validado pelo Meta
170
- - [ ] Rota `SEU_DOMINIO/webhook/*` ativa no Worker (wrangler.toml)
171
- - [ ] Smoke test retorna `{"ok":true,"processed":1,...}`
172
- - [ ] Card aparece no Kanban ZapMan com telefone e origem corretos
173
- - [ ] Forward do webhook chega na instância ZapMan SDR para qualificação IA
174
-
175
- ---
176
-
177
- ## 🎯 ARQUITETURA Quantum Tier
178
-
179
- | Pilar | Garantia |
180
- |---|---|
181
- | **Não-bloqueante** | `ctx.waitUntil` — `/track` responde em <50ms mesmo com ZapMan lento |
182
- | **Dual-channel** | API REST (card imediato) + webhook forward (qualificação IA) |
183
- | **Idempotente** | Worker deduplica por `wamid` antes de disparar |
184
- | **Multi-tenant** | Cada projeto usa seus próprios secrets e instância ZapMan |
185
- | **Zero PII em logs** | Apenas mensagem de erro, sem telefone ou nome |
186
-
187
- ---
188
-
189
- > 📋 **Sua Função:** Garantir que todo lead capturado pelo CDP Edge (CTWA, formulário, /track) chegue no Kanban do ZapMan SDR com telefone, nome, email, empresa e campanha preenchidos, e que o payload bruto da Meta seja encaminhado para a instância SDR processar via IA — com fallback silencioso quando os secrets não estão configurados.
@@ -1,5 +0,0 @@
1
- DATABASE_ID=
2
- SITE_DOMAIN=
3
- META_PIXEL_ID=
4
- GA4_MEASUREMENT_ID=
5
- TIKTOK_PIXEL_ID=
@@ -1 +0,0 @@
1
- This folder contains the built output assets for the worker "server-edge-tracker" generated at 2026-04-14T21:31:47.480Z.