cdp-edge 1.2.0

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 (128) hide show
  1. package/README.md +367 -0
  2. package/bin/cdp-edge.js +61 -0
  3. package/contracts/api-versions.json +368 -0
  4. package/dist/commands/analyze.js +52 -0
  5. package/dist/commands/infra.js +54 -0
  6. package/dist/commands/install.js +168 -0
  7. package/dist/commands/server.js +174 -0
  8. package/dist/commands/setup.js +123 -0
  9. package/dist/commands/validate.js +84 -0
  10. package/dist/index.js +12 -0
  11. package/docs/CI-CD-SETUP.md +217 -0
  12. package/docs/PixelBuilder-Documentacao-Completa (2).docx +0 -0
  13. package/docs/events-reference.md +359 -0
  14. package/docs/installation.md +155 -0
  15. package/docs/quick-start.md +185 -0
  16. package/docs/sdk-reference.md +371 -0
  17. package/docs/whatsapp-ctwa.md +209 -0
  18. package/extracted-skill/tracking-events-generator/INDEX.md +94 -0
  19. package/extracted-skill/tracking-events-generator/INSTALACAO-CDPEDGE.md +58 -0
  20. package/extracted-skill/tracking-events-generator/INTEGRACAO-COMPLETA.md +594 -0
  21. package/extracted-skill/tracking-events-generator/MELHORIAS-IMPLEMENTADAS.md +412 -0
  22. package/extracted-skill/tracking-events-generator/Premium-Tracking-Intelligence-Resumo.md +333 -0
  23. package/extracted-skill/tracking-events-generator/SKILL.md +257 -0
  24. package/extracted-skill/tracking-events-generator/advanced-matching.js +364 -0
  25. package/extracted-skill/tracking-events-generator/agents/ab-testing-agent.md +54 -0
  26. package/extracted-skill/tracking-events-generator/agents/attribution-agent.md +1304 -0
  27. package/extracted-skill/tracking-events-generator/agents/bing-agent.md +76 -0
  28. package/extracted-skill/tracking-events-generator/agents/browser-tracking.md +264 -0
  29. package/extracted-skill/tracking-events-generator/agents/code-guardian-agent.md +149 -0
  30. package/extracted-skill/tracking-events-generator/agents/compliance-agent.md +2077 -0
  31. package/extracted-skill/tracking-events-generator/agents/crm-integration-agent.md +1419 -0
  32. package/extracted-skill/tracking-events-generator/agents/dashboard-agent.md +456 -0
  33. package/extracted-skill/tracking-events-generator/agents/database-agent.md +667 -0
  34. package/extracted-skill/tracking-events-generator/agents/debug-agent.md +1455 -0
  35. package/extracted-skill/tracking-events-generator/agents/domain-setup-agent.md +224 -0
  36. package/extracted-skill/tracking-events-generator/agents/email-agent.md +61 -0
  37. package/extracted-skill/tracking-events-generator/agents/fingerprint-agent.md +52 -0
  38. package/extracted-skill/tracking-events-generator/agents/google-agent.md +109 -0
  39. package/extracted-skill/tracking-events-generator/agents/intelligence-agent.md +365 -0
  40. package/extracted-skill/tracking-events-generator/agents/intelligence-scheduling.md +643 -0
  41. package/extracted-skill/tracking-events-generator/agents/linkedin-agent.md +62 -0
  42. package/extracted-skill/tracking-events-generator/agents/localization-agent.md +55 -0
  43. package/extracted-skill/tracking-events-generator/agents/ltv-predictor-agent.md +59 -0
  44. package/extracted-skill/tracking-events-generator/agents/master-feedback-loop.md +900 -0
  45. package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +1922 -0
  46. package/extracted-skill/tracking-events-generator/agents/memory-agent.json +109 -0
  47. package/extracted-skill/tracking-events-generator/agents/memory-agent.md +703 -0
  48. package/extracted-skill/tracking-events-generator/agents/meta-agent.md +110 -0
  49. package/extracted-skill/tracking-events-generator/agents/page-analyzer.md +255 -0
  50. package/extracted-skill/tracking-events-generator/agents/performance-agent.md +1157 -0
  51. package/extracted-skill/tracking-events-generator/agents/performance-optimization-agent.md +1432 -0
  52. package/extracted-skill/tracking-events-generator/agents/pinterest-agent.md +310 -0
  53. package/extracted-skill/tracking-events-generator/agents/premium-tracking-intelligence-agent.md +849 -0
  54. package/extracted-skill/tracking-events-generator/agents/r2-setup-agent.md +250 -0
  55. package/extracted-skill/tracking-events-generator/agents/reddit-agent.md +313 -0
  56. package/extracted-skill/tracking-events-generator/agents/security-enterprise-agent.md +1752 -0
  57. package/extracted-skill/tracking-events-generator/agents/server-tracking.md +1188 -0
  58. package/extracted-skill/tracking-events-generator/agents/spotify-agent.md +383 -0
  59. package/extracted-skill/tracking-events-generator/agents/tiktok-agent.md +111 -0
  60. package/extracted-skill/tracking-events-generator/agents/tracking-plan-agent.md +364 -0
  61. package/extracted-skill/tracking-events-generator/agents/validator-agent.md +267 -0
  62. package/extracted-skill/tracking-events-generator/agents/webhook-agent.md +69 -0
  63. package/extracted-skill/tracking-events-generator/agents/whatsapp-agent.md +76 -0
  64. package/extracted-skill/tracking-events-generator/agents/whatsapp-ctwa-setup-agent.md +699 -0
  65. package/extracted-skill/tracking-events-generator/agents/youtube-agent.md +422 -0
  66. package/extracted-skill/tracking-events-generator/anti-blocking.js +285 -0
  67. package/extracted-skill/tracking-events-generator/cdpTrack.js +641 -0
  68. package/extracted-skill/tracking-events-generator/contracts/api-versions.json +368 -0
  69. package/extracted-skill/tracking-events-generator/docs/guia-cloudflare-iniciante.md +107 -0
  70. package/extracted-skill/tracking-events-generator/engagement-scoring.js +226 -0
  71. package/extracted-skill/tracking-events-generator/evals/evals.json +235 -0
  72. package/extracted-skill/tracking-events-generator/integration-test.js +497 -0
  73. package/extracted-skill/tracking-events-generator/knowledge-base.md +2894 -0
  74. package/extracted-skill/tracking-events-generator/micro-events.js +992 -0
  75. package/extracted-skill/tracking-events-generator/models/captura-de-lead.md +78 -0
  76. package/extracted-skill/tracking-events-generator/models/captura-lead-evento-externo.md +99 -0
  77. package/extracted-skill/tracking-events-generator/models/checkout-proprio.md +111 -0
  78. package/extracted-skill/tracking-events-generator/models/multi-step-checkout.md +672 -0
  79. package/extracted-skill/tracking-events-generator/models/pagina-obrigado.md +55 -0
  80. package/extracted-skill/tracking-events-generator/models/pinterest/conversions-api-template.js +144 -0
  81. package/extracted-skill/tracking-events-generator/models/pinterest/event-mappings.json +48 -0
  82. package/extracted-skill/tracking-events-generator/models/pinterest/tag-template.js +28 -0
  83. package/extracted-skill/tracking-events-generator/models/quiz-funnel.md +68 -0
  84. package/extracted-skill/tracking-events-generator/models/reddit/conversions-api-template.js +205 -0
  85. package/extracted-skill/tracking-events-generator/models/reddit/event-mappings.json +56 -0
  86. package/extracted-skill/tracking-events-generator/models/reddit/pixel-template.js +19 -0
  87. package/extracted-skill/tracking-events-generator/models/scenarios/behavior-engine.js +425 -0
  88. package/extracted-skill/tracking-events-generator/models/scenarios/real-estate-logic.md +50 -0
  89. package/extracted-skill/tracking-events-generator/models/scenarios/sales-page-logic.md +50 -0
  90. package/extracted-skill/tracking-events-generator/models/trafego-direto.md +582 -0
  91. package/extracted-skill/tracking-events-generator/models/webinar-registration.md +63 -0
  92. package/extracted-skill/tracking-events-generator/tracking.config.js +46 -0
  93. package/extracted-skill/tracking-events-generator/walkthrough.md +26 -0
  94. package/package.json +75 -0
  95. package/server-edge-tracker/INSTALAR.md +328 -0
  96. package/server-edge-tracker/migrate-new-db.sql +137 -0
  97. package/server-edge-tracker/migrate-v2.sql +16 -0
  98. package/server-edge-tracker/migrate-v3.sql +6 -0
  99. package/server-edge-tracker/migrate-v4.sql +18 -0
  100. package/server-edge-tracker/migrate-v5.sql +17 -0
  101. package/server-edge-tracker/migrate-v6.sql +24 -0
  102. package/server-edge-tracker/migrate.sql +111 -0
  103. package/server-edge-tracker/schema.sql +265 -0
  104. package/server-edge-tracker/worker.js +2574 -0
  105. package/server-edge-tracker/wrangler.toml +85 -0
  106. package/templates/afiliado-sem-landing.md +312 -0
  107. package/templates/captura-de-lead.md +78 -0
  108. package/templates/captura-lead-evento-externo.md +99 -0
  109. package/templates/checkout-proprio.md +111 -0
  110. package/templates/install/.claude/commands/cdp.md +1 -0
  111. package/templates/install/CLAUDE.md +65 -0
  112. package/templates/linkedin/tag-template.js +46 -0
  113. package/templates/multi-step-checkout.md +673 -0
  114. package/templates/pagina-obrigado.md +55 -0
  115. package/templates/pinterest/conversions-api-template.js +144 -0
  116. package/templates/pinterest/event-mappings.json +48 -0
  117. package/templates/pinterest/tag-template.js +28 -0
  118. package/templates/quiz-funnel.md +68 -0
  119. package/templates/reddit/conversions-api-template.js +205 -0
  120. package/templates/reddit/event-mappings.json +56 -0
  121. package/templates/reddit/pixel-template.js +46 -0
  122. package/templates/scenarios/behavior-engine.js +402 -0
  123. package/templates/scenarios/real-estate-logic.md +50 -0
  124. package/templates/scenarios/sales-page-logic.md +50 -0
  125. package/templates/spotify/pixel-template.js +46 -0
  126. package/templates/trafego-direto.md +582 -0
  127. package/templates/vsl-page.md +292 -0
  128. package/templates/webinar-registration.md +63 -0
@@ -0,0 +1,359 @@
1
+ # CDP Edge — Events Reference
2
+ > Catálogo completo de todos os eventos, payloads e mapeamento por plataforma.
3
+
4
+ ---
5
+
6
+ ## Como enviar um evento
7
+
8
+ ### Via SDK browser (cdpTrack.js)
9
+ ```javascript
10
+ // Genérico
11
+ window.cdpTrack.track('EventName', { param1: 'valor', param2: 'valor' });
12
+
13
+ // Atalhos
14
+ window.cdpTrack.trackLead({ email: '...', phone: '...' });
15
+ window.cdpTrack.trackPurchase({ value: 97, currency: 'BRL', order_id: '...' });
16
+ window.cdpTrack.trackViewContent({ content_name: '...', value: 97 });
17
+ window.cdpTrack.trackAddToCart({ content_id: '...', value: 97 });
18
+ ```
19
+
20
+ ### Via Worker direto (server-to-server)
21
+ ```bash
22
+ curl -X POST https://track.seudominio.com.br/track \
23
+ -H "Content-Type: application/json" \
24
+ -d '{ "event": "Lead", "email": "fulano@exemplo.com", "phone": "11999998888" }'
25
+ ```
26
+
27
+ ---
28
+
29
+ ## Eventos Principais
30
+
31
+ ### PageView
32
+ Disparado automaticamente pelo SDK ao carregar qualquer página.
33
+
34
+ ```json
35
+ {
36
+ "event": "PageView",
37
+ "url": "https://seudominio.com.br/pagina",
38
+ "title": "Título da Página"
39
+ }
40
+ ```
41
+
42
+ | Plataforma | Nome do evento |
43
+ |---|---|
44
+ | Meta CAPI | `PageView` |
45
+ | GA4 | `page_view` |
46
+ | TikTok | `PageView` |
47
+
48
+ ---
49
+
50
+ ### Lead
51
+ Captura de lead com dados pessoais. O Worker faz SHA256 automaticamente — enviar dados crus.
52
+
53
+ ```json
54
+ {
55
+ "event": "Lead",
56
+ "email": "fulano@exemplo.com",
57
+ "phone": "11999998888",
58
+ "firstName": "João",
59
+ "lastName": "Silva",
60
+ "city": "São Paulo",
61
+ "state": "SP",
62
+ "zip": "01310100",
63
+ "country": "BR"
64
+ }
65
+ ```
66
+
67
+ | Plataforma | Nome do evento |
68
+ |---|---|
69
+ | Meta CAPI | `Lead` |
70
+ | GA4 | `generate_lead` |
71
+ | TikTok | `SubmitForm` |
72
+ | Pinterest | `lead` |
73
+ | Reddit | `Lead` |
74
+ | LinkedIn | `LEAD` |
75
+
76
+ **Campos obrigatórios:** pelo menos um entre `email` ou `phone`.
77
+
78
+ ---
79
+
80
+ ### Purchase
81
+ Compra confirmada. Pode vir do browser ou do webhook de gateway.
82
+
83
+ ```json
84
+ {
85
+ "event": "Purchase",
86
+ "value": 297.00,
87
+ "currency": "BRL",
88
+ "order_id": "ORD-12345",
89
+ "email": "fulano@exemplo.com",
90
+ "phone": "11999998888",
91
+ "content_name": "Curso XYZ",
92
+ "content_ids": ["SKU-001"]
93
+ }
94
+ ```
95
+
96
+ | Plataforma | Nome do evento |
97
+ |---|---|
98
+ | Meta CAPI | `Purchase` |
99
+ | GA4 | `purchase` |
100
+ | TikTok | `CompletePayment` |
101
+ | Pinterest | `checkout` |
102
+ | Reddit | `Purchase` |
103
+ | LinkedIn | `PURCHASE` |
104
+
105
+ **Campos obrigatórios:** `value`, `currency`.
106
+
107
+ ---
108
+
109
+ ### InitiateCheckout
110
+ Clique no botão de compra ou entrada na página de checkout.
111
+
112
+ ```json
113
+ {
114
+ "event": "InitiateCheckout",
115
+ "value": 297.00,
116
+ "currency": "BRL",
117
+ "content_name": "Curso XYZ",
118
+ "content_ids": ["SKU-001"]
119
+ }
120
+ ```
121
+
122
+ | Plataforma | Nome do evento |
123
+ |---|---|
124
+ | Meta CAPI | `InitiateCheckout` |
125
+ | GA4 | `begin_checkout` |
126
+ | TikTok | `InitiateCheckout` |
127
+
128
+ ---
129
+
130
+ ### ViewContent
131
+ Visualização de produto, oferta ou conteúdo de valor.
132
+
133
+ ```json
134
+ {
135
+ "event": "ViewContent",
136
+ "content_name": "Página de Vendas — Curso XYZ",
137
+ "content_type": "product",
138
+ "value": 297.00,
139
+ "currency": "BRL",
140
+ "content_ids": ["SKU-001"]
141
+ }
142
+ ```
143
+
144
+ | Plataforma | Nome do evento |
145
+ |---|---|
146
+ | Meta CAPI | `ViewContent` |
147
+ | GA4 | `view_item` |
148
+ | TikTok | `ViewContent` |
149
+ | Pinterest | `pagevisit` |
150
+ | Reddit | `ViewContent` |
151
+
152
+ ---
153
+
154
+ ### AddToCart
155
+ Adição ao carrinho (e-commerce ou checkout multi-produto).
156
+
157
+ ```json
158
+ {
159
+ "event": "AddToCart",
160
+ "value": 97.00,
161
+ "currency": "BRL",
162
+ "content_name": "Produto XYZ",
163
+ "content_ids": ["SKU-002"],
164
+ "num_items": 1
165
+ }
166
+ ```
167
+
168
+ | Plataforma | Nome do evento |
169
+ |---|---|
170
+ | Meta CAPI | `AddToCart` |
171
+ | GA4 | `add_to_cart` |
172
+ | TikTok | `AddToCart` |
173
+ | Pinterest | `addtocart` |
174
+ | Reddit | `AddToCart` |
175
+
176
+ ---
177
+
178
+ ### CompleteRegistration
179
+ Cadastro completo (criação de conta, inscrição em lista, acesso liberado).
180
+
181
+ ```json
182
+ {
183
+ "event": "CompleteRegistration",
184
+ "email": "fulano@exemplo.com",
185
+ "content_name": "Webinar Gratuito XYZ"
186
+ }
187
+ ```
188
+
189
+ | Plataforma | Nome do evento |
190
+ |---|---|
191
+ | Meta CAPI | `CompleteRegistration` |
192
+ | GA4 | `sign_up` |
193
+ | TikTok | `CompleteRegistration` |
194
+ | LinkedIn | `REGISTRATION` |
195
+ | Spotify | `SIGN_UP` |
196
+
197
+ ---
198
+
199
+ ### Contact
200
+ Contato via WhatsApp (CTWA — Click to WhatsApp). Disparado automaticamente pelo webhook.
201
+
202
+ ```json
203
+ {
204
+ "event": "Contact",
205
+ "phone": "5511999998888",
206
+ "ctwa_clid": "ARAkLgFgg...",
207
+ "action_source": "chat"
208
+ }
209
+ ```
210
+
211
+ | Plataforma | Nome do evento |
212
+ |---|---|
213
+ | Meta CAPI | `Contact` (action_source: "chat") |
214
+
215
+ **Nota:** Este evento é gerado automaticamente pelo `processWhatsAppWebhook()` — não precisa ser disparado manualmente.
216
+
217
+ ---
218
+
219
+ ## Eventos de Micro-Engajamento
220
+
221
+ Gerados automaticamente pelo `micro-events.js`. Salvos no D1 (`behavioral_events`). Contribuem para o engagement score mas **não são enviados às plataformas de anúncio** individualmente.
222
+
223
+ ### Scroll
224
+ ```json
225
+ {
226
+ "event": "Scroll",
227
+ "scroll_depth": 75,
228
+ "scroll_percent": 78,
229
+ "signal_strength": 3.0,
230
+ "time_on_page": 45
231
+ }
232
+ ```
233
+
234
+ ### TimeOnPage
235
+ ```json
236
+ {
237
+ "event": "TimeOnPage",
238
+ "time_on_page": 180,
239
+ "intention_level": "comprador",
240
+ "signal_strength": 4.0
241
+ }
242
+ ```
243
+ **Níveis:** `curioso` (10s) → `interessado` (60s) → `comprador` (180s)
244
+
245
+ ### VideoPlay / VideoProgress / VideoComplete
246
+ ```json
247
+ {
248
+ "event": "VideoProgress",
249
+ "video_id": "vsl-principal",
250
+ "video_platform": "youtube",
251
+ "progress_percent": 75,
252
+ "progress_second": 423,
253
+ "engagement_score": 5.0,
254
+ "video_summary": {
255
+ "totalVideos": 1,
256
+ "startedCount": 1,
257
+ "completedCount": 0,
258
+ "maxProgress": 75
259
+ }
260
+ }
261
+ ```
262
+ **Plataformas suportadas:** `html5`, `youtube`, `vimeo`
263
+
264
+ ### VideoDropout
265
+ Registra o segundo exato em que o usuário parou de assistir.
266
+ ```json
267
+ {
268
+ "event": "VideoDropout",
269
+ "video_id": "vsl-principal",
270
+ "dropout_percent": 62,
271
+ "dropout_second": 743,
272
+ "engagement_score": 2.5
273
+ }
274
+ ```
275
+ **Disparado em:** pause sem retomada + `beforeunload` da página.
276
+
277
+ ### Click
278
+ ```json
279
+ {
280
+ "event": "Click",
281
+ "click_category": "cta",
282
+ "position": { "x": 640, "y": 980, "relativeX": 50, "relativeY": 72 },
283
+ "time_on_page": 120
284
+ }
285
+ ```
286
+ **Categorias:** `button`, `link`, `input`, `cta`, `price`, `whatsapp`, `email`, `phone`, `generic`
287
+
288
+ ### CTAHover
289
+ ```json
290
+ {
291
+ "event": "CTAHover",
292
+ "cta_selector": "a[href*='checkout']",
293
+ "hover_time_seconds": 4,
294
+ "engagement_score": 3.0
295
+ }
296
+ ```
297
+ Dispara apenas após 3 segundos de hover no botão de compra.
298
+
299
+ ---
300
+
301
+ ## Engagement Score
302
+
303
+ Calculado pelo Worker para cada evento recebido. Salvo em `leads.engagement_score`.
304
+
305
+ | Dimensão | Range | Descrição |
306
+ |---|---|---|
307
+ | `time_level` | 0–4.0 | Tempo na página |
308
+ | `scroll_score` | 0–4.0 | Profundidade de scroll |
309
+ | `click_score` | 0–2.5 | Cliques em CTAs |
310
+ | `video_score` | 0–5.0 | Progresso de vídeo |
311
+ | `hover_score` | 0–3.0 | Hover no botão de compra |
312
+ | **totalScore** | **0–5.0** | Média ponderada |
313
+
314
+ **Intention levels baseados no score:**
315
+
316
+ | Score | Label | Ação recomendada |
317
+ |---|---|---|
318
+ | 0.0–1.5 | `curioso` | Retargeting leve |
319
+ | 1.5–3.0 | `interessado` | Retargeting com oferta |
320
+ | 3.0–5.0 | `comprador` | Lookalike de alta qualidade |
321
+
322
+ ---
323
+
324
+ ## Webhooks de Gateway de Pagamento
325
+
326
+ Recebidos pelo Worker. Disparam `Purchase` automaticamente.
327
+
328
+ | Endpoint | Gateway | Autenticação |
329
+ |---|---|---|
330
+ | `POST /webhook/hotmart` | Hotmart | `HOTMART_HOTTOK` header |
331
+ | `POST /webhook/kiwify` | Kiwify | `KIWIFY_SECRET` HMAC |
332
+ | `POST /webhook/ticto` | Ticto | `TICTO_SECRET` HMAC-SHA256 |
333
+
334
+ ---
335
+
336
+ ## WhatsApp Webhook
337
+
338
+ | Endpoint | Método | Descrição |
339
+ |---|---|---|
340
+ | `/webhook/whatsapp` | `GET` | Verificação do Meta (challenge) |
341
+ | `/webhook/whatsapp` | `POST` | Recebe mensagens CTWA |
342
+
343
+ Configurar no Meta Business Suite → WhatsApp → Configuração → Webhook.
344
+
345
+ ---
346
+
347
+ ## Campos Normalizados Automaticamente
348
+
349
+ O Worker normaliza antes de fazer SHA256:
350
+
351
+ | Campo | Normalização |
352
+ |---|---|
353
+ | `email` | `lowercase` + `trim` |
354
+ | `phone` | Somente dígitos + DDI `55` (Brasil) |
355
+ | `firstName` / `lastName` | `Title Case` |
356
+ | `city` | `lowercase` + remove acentos |
357
+ | `state` | `uppercase` (ex: `SP`, `RJ`) |
358
+ | `zip` | Somente dígitos |
359
+ | `country` | `lowercase` (ex: `br`) |
@@ -0,0 +1,155 @@
1
+ # CDP Edge — Instalação em Projetos de Clientes
2
+
3
+ Como integrar o CDP Edge em qualquer projeto para que Claude Code, VS Code, Cursor e outras IDEs com IA o reconheçam automaticamente.
4
+
5
+ ---
6
+
7
+ ## Estrutura recomendada
8
+
9
+ ```
10
+ meu-projeto-cliente/ ← abrir esta pasta no Claude Code / VS Code
11
+ ├── CLAUDE.md ← ⭐ faz o Claude Code ativar o CDP Edge automaticamente
12
+ ├── .cursorrules ← (opcional) para Cursor IDE
13
+ ├── cdp-edge/ ← CDP Edge instalado aqui
14
+ │ ├── extracted-skill/
15
+ │ ├── server-edge-tracker/
16
+ │ ├── templates/
17
+ │ └── docs/
18
+ ├── src/ ← código do projeto do cliente
19
+ └── ...
20
+ ```
21
+
22
+ ---
23
+
24
+ ## Passo 1 — Instalar o CDP Edge na pasta do projeto
25
+
26
+ ```bash
27
+ # Dentro da pasta do projeto do cliente:
28
+ cd meu-projeto-cliente
29
+
30
+ # Opção A — clonar o CDP Edge como subpasta
31
+ git clone https://github.com/ricardosoli777/CDP-Edge-Premium cdp-edge
32
+
33
+ # Opção B — copiar manualmente
34
+ # Copiar a pasta CDP-Edge inteira e renomear para cdp-edge/
35
+ ```
36
+
37
+ ---
38
+
39
+ ## Passo 2 — Criar o CLAUDE.md na raiz do projeto
40
+
41
+ Copiar o template de ativação:
42
+
43
+ ```bash
44
+ cp cdp-edge/templates/install/CLAUDE.md ./CLAUDE.md
45
+ ```
46
+
47
+ Editar o `CLAUDE.md` e substituir `[NOME DO PROJETO]` pelo nome real do projeto.
48
+
49
+ **Por que isso funciona:**
50
+ O Claude Code lê o `CLAUDE.md` da raiz do diretório aberto automaticamente. Quando encontra a instrução de leitura do `master-orchestrator.md`, ativa o sistema imediatamente na abertura da sessão.
51
+
52
+ ---
53
+
54
+ ## Passo 3 — Abrir o projeto no Claude Code
55
+
56
+ ```bash
57
+ # Na pasta do projeto (não dentro do cdp-edge):
58
+ claude .
59
+ ```
60
+
61
+ O Claude Code vai:
62
+ 1. Ler o `CLAUDE.md` da raiz
63
+ 2. Encontrar a instrução de ativação do CDP Edge
64
+ 3. Carregar o `master-orchestrator.md`
65
+ 4. Exibir a mensagem de boas-vindas automaticamente
66
+
67
+ ---
68
+
69
+ ## Para VS Code com extensão Claude
70
+
71
+ O mesmo mecanismo funciona. O `CLAUDE.md` é lido pela extensão Claude Code no VS Code quando você abre a pasta do projeto.
72
+
73
+ ```bash
74
+ code meu-projeto-cliente/
75
+ ```
76
+
77
+ ---
78
+
79
+ ## Para Cursor IDE
80
+
81
+ Criar adicionalmente um `.cursorrules` na raiz:
82
+
83
+ ```bash
84
+ cp cdp-edge/templates/install/CLAUDE.md .cursorrules
85
+ ```
86
+
87
+ O Cursor lê `.cursorrules` automaticamente e aplica as instruções ao agente AI.
88
+
89
+ ---
90
+
91
+ ## Para qualquer outra IDE com AI
92
+
93
+ Qualquer IDE que suporte arquivos de instrução (`.aidioms`, `system-prompt.md`, etc.) pode usar o mesmo conteúdo do `CLAUDE.md` adaptado para o formato da IDE.
94
+
95
+ ---
96
+
97
+ ## Verificar se funcionou
98
+
99
+ Ao abrir o projeto no Claude Code, você deve ver imediatamente:
100
+
101
+ ```
102
+ 👋 Olá! Bem-vindo ao CDP Edge — Quantum Tracking.
103
+
104
+ Sou o seu Orquestrador de Rastreamento. Vou configurar toda a
105
+ infraestrutura de tracking server-side para o seu projeto...
106
+ ```
107
+
108
+ Se não aparecer automaticamente, digitar:
109
+
110
+ ```
111
+ /cdp
112
+ ```
113
+
114
+ ou simplesmente:
115
+
116
+ ```
117
+ ative o master orchestrator do cdp edge
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Se o CDP Edge estiver em um caminho diferente
123
+
124
+ Editar o `CLAUDE.md` na raiz e ajustar o path:
125
+
126
+ ```markdown
127
+ <!-- Padrão: -->
128
+ Leia o arquivo: `cdp-edge/extracted-skill/tracking-events-generator/agents/master-orchestrator.md`
129
+
130
+ <!-- Se instalado em outro lugar: -->
131
+ Leia o arquivo: `ferramentas/cdp/extracted-skill/tracking-events-generator/agents/master-orchestrator.md`
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Estrutura de múltiplos projetos (workspace compartilhado)
137
+
138
+ Se você trabalha com vários clientes e quer uma instalação única do CDP Edge:
139
+
140
+ ```
141
+ workspace/
142
+ ├── cdp-edge/ ← instalação única compartilhada
143
+ ├── cliente-1/
144
+ │ ├── CLAUDE.md ← aponta para ../cdp-edge/...
145
+ │ └── src/
146
+ ├── cliente-2/
147
+ │ ├── CLAUDE.md ← aponta para ../cdp-edge/...
148
+ │ └── src/
149
+ ```
150
+
151
+ No `CLAUDE.md` de cada cliente, usar path relativo:
152
+
153
+ ```markdown
154
+ Leia o arquivo: `../cdp-edge/extracted-skill/tracking-events-generator/agents/master-orchestrator.md`
155
+ ```
@@ -0,0 +1,185 @@
1
+ # CDP Edge — Quick Start
2
+ > Do zero ao primeiro evento em produção.
3
+
4
+ ---
5
+
6
+ ## Pré-requisitos
7
+
8
+ | Ferramenta | Instalar |
9
+ |---|---|
10
+ | Node.js 18+ | nodejs.org |
11
+ | Wrangler CLI | `npm install -g wrangler` |
12
+ | Conta Cloudflare | cloudflare.com (plano gratuito suficiente) |
13
+ | Conta Meta (Pixel + token CAPI) | business.facebook.com |
14
+
15
+ ---
16
+
17
+ ## 1. Autenticar no Cloudflare
18
+
19
+ ```bash
20
+ wrangler login
21
+ ```
22
+
23
+ ---
24
+
25
+ ## 2. Criar o banco D1
26
+
27
+ ```bash
28
+ wrangler d1 create cdp-edge-db
29
+ ```
30
+
31
+ Copie o `database_id` retornado e cole no `wrangler.toml`:
32
+
33
+ ```toml
34
+ [[d1_databases]]
35
+ binding = "DB"
36
+ database_name = "cdp-edge-db"
37
+ database_id = "COLE_O_ID_AQUI"
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 3. Aplicar o schema
43
+
44
+ ```bash
45
+ cd server-edge-tracker
46
+
47
+ wrangler d1 execute cdp-edge-db --file=schema.sql --remote
48
+ wrangler d1 execute cdp-edge-db --file=migrate-v2.sql --remote
49
+ wrangler d1 execute cdp-edge-db --file=migrate-v3.sql --remote
50
+ wrangler d1 execute cdp-edge-db --file=migrate-v4.sql --remote
51
+ wrangler d1 execute cdp-edge-db --file=migrate-v5.sql --remote
52
+ wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
53
+ ```
54
+
55
+ ---
56
+
57
+ ## 4. Configurar secrets
58
+
59
+ ```bash
60
+ wrangler secret put META_ACCESS_TOKEN
61
+ wrangler secret put GA4_API_SECRET
62
+ wrangler secret put TIKTOK_ACCESS_TOKEN
63
+ ```
64
+
65
+ Para WhatsApp CTWA (opcional):
66
+ ```bash
67
+ wrangler secret put WA_WEBHOOK_VERIFY_TOKEN
68
+ wrangler secret put WHATSAPP_TOKEN
69
+ wrangler secret put WHATSAPP_PHONE_NUMBER_ID
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 5. Atualizar variáveis públicas no wrangler.toml
75
+
76
+ ```toml
77
+ [vars]
78
+ META_PIXEL_ID = "SEU_PIXEL_ID"
79
+ GA4_MEASUREMENT_ID = "G-XXXXXXXXXX"
80
+ TIKTOK_PIXEL_ID = "CXXXXXXXXXXXXXXX"
81
+ SITE_DOMAIN = "seudominio.com.br"
82
+ ```
83
+
84
+ ---
85
+
86
+ ## 6. Deploy
87
+
88
+ ```bash
89
+ wrangler deploy
90
+ ```
91
+
92
+ O Worker ficará disponível em:
93
+ ```
94
+ https://server-edge-tracker.SEU-USUARIO.workers.dev
95
+ ```
96
+
97
+ ---
98
+
99
+ ## 7. Testar o Worker
100
+
101
+ ```bash
102
+ # Health check
103
+ curl https://server-edge-tracker.SEU-USUARIO.workers.dev/health
104
+
105
+ # Evento de teste
106
+ curl -X POST https://server-edge-tracker.SEU-USUARIO.workers.dev/track \
107
+ -H "Content-Type: application/json" \
108
+ -d '{
109
+ "event": "PageView",
110
+ "url": "https://seudominio.com.br/",
111
+ "email": "teste@exemplo.com"
112
+ }'
113
+ ```
114
+
115
+ Resposta esperada: `{"success":true}`
116
+
117
+ ---
118
+
119
+ ## 8. Instalar o SDK no site
120
+
121
+ ```html
122
+ <!-- No <head> de todas as páginas -->
123
+ <script>
124
+ window.CDP_CONFIG = {
125
+ endpoint: 'https://server-edge-tracker.SEU-USUARIO.workers.dev/track',
126
+ pixelId: 'SEU_PIXEL_ID'
127
+ };
128
+ </script>
129
+ <script src="/js/cdpTrack.js" type="module" async></script>
130
+ ```
131
+
132
+ O SDK inicializa automaticamente e dispara `PageView` ao carregar.
133
+
134
+ ---
135
+
136
+ ## 9. Verificar no Meta Events Manager
137
+
138
+ ```
139
+ Meta Business Suite
140
+ → Gerenciador de Eventos
141
+ → Seu Pixel
142
+ → Atividade de Teste
143
+ → Filtrar por "Servidor"
144
+ ```
145
+
146
+ Você deve ver o `PageView` chegando com `action_source: website`.
147
+
148
+ ---
149
+
150
+ ## 10. (Opcional) Conectar domínio próprio
151
+
152
+ Para máxima eficácia (cookie first-party no domínio do cliente):
153
+
154
+ ```
155
+ Cloudflare Dashboard → DNS → Add record
156
+ Type: CNAME
157
+ Name: track
158
+ Target: server-edge-tracker.SEU-USUARIO.workers.dev
159
+ Proxy: ✅ (nuvem laranja)
160
+ ```
161
+
162
+ Adicionar ao `wrangler.toml`:
163
+ ```toml
164
+ [[routes]]
165
+ pattern = "track.seudominio.com.br/*"
166
+ zone_name = "seudominio.com.br"
167
+ ```
168
+
169
+ ```bash
170
+ wrangler deploy
171
+ ```
172
+
173
+ Ver detalhes: `agents/domain-setup-agent.md`
174
+
175
+ ---
176
+
177
+ ## Próximos passos
178
+
179
+ | O que fazer | Onde está |
180
+ |---|---|
181
+ | Configurar WhatsApp CTWA | `agents/whatsapp-ctwa-setup-agent.md` |
182
+ | Ativar R2 audit log | `agents/r2-setup-agent.md` |
183
+ | Configurar gateways de pagamento | `agents/webhook-agent.md` |
184
+ | Ver todos os eventos disponíveis | `docs/events-reference.md` |
185
+ | Ver API do SDK browser | `docs/sdk-reference.md` |