cdp-edge 1.2.2 → 1.3.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 (141) hide show
  1. package/README.md +153 -306
  2. package/bin/cdp-edge.js +71 -61
  3. package/contracts/agent-versions.json +682 -0
  4. package/contracts/api-versions.json +372 -368
  5. package/contracts/types.ts +81 -0
  6. package/dist/commands/analyze.js +52 -52
  7. package/dist/commands/infra.js +54 -54
  8. package/dist/commands/install.js +26 -3
  9. package/dist/commands/server.js +174 -174
  10. package/dist/commands/setup.js +332 -100
  11. package/dist/commands/validate.js +248 -84
  12. package/dist/index.js +12 -12
  13. package/dist/sdk/cdpTrack.js +2095 -0
  14. package/dist/sdk/cdpTrack.min.js +64 -0
  15. package/dist/sdk/install-snippet.html +10 -0
  16. package/docs/whatsapp-ctwa.md +5 -4
  17. package/extracted-skill/tracking-events-generator/INTEGRACAO-COMPLETA.md +89 -0
  18. package/extracted-skill/tracking-events-generator/MELHORIAS-IMPLEMENTADAS.md +101 -0
  19. package/extracted-skill/tracking-events-generator/advanced-matching.js +364 -364
  20. package/extracted-skill/tracking-events-generator/agents/ab-ltv-agent.md +196 -0
  21. package/extracted-skill/tracking-events-generator/agents/ab-testing-agent.md +1 -1
  22. package/extracted-skill/tracking-events-generator/agents/attribution-agent.md +41 -41
  23. package/extracted-skill/tracking-events-generator/agents/bidding-agent.md +347 -0
  24. package/extracted-skill/tracking-events-generator/agents/bing-agent.md +40 -50
  25. package/extracted-skill/tracking-events-generator/agents/browser-tracking.md +174 -74
  26. package/extracted-skill/tracking-events-generator/agents/code-guardian-agent.md +1 -1
  27. package/extracted-skill/tracking-events-generator/agents/compliance-agent.md +25 -5
  28. package/extracted-skill/tracking-events-generator/agents/dashboard-agent.md +10 -10
  29. package/extracted-skill/tracking-events-generator/agents/database-agent.md +43 -42
  30. package/extracted-skill/tracking-events-generator/agents/debug-agent.md +22 -22
  31. package/extracted-skill/tracking-events-generator/agents/devops-agent.md +232 -0
  32. package/extracted-skill/tracking-events-generator/agents/domain-setup-agent.md +23 -9
  33. package/extracted-skill/tracking-events-generator/agents/email-agent.md +28 -1
  34. package/extracted-skill/tracking-events-generator/agents/evo-crm-agent.md +244 -0
  35. package/extracted-skill/tracking-events-generator/agents/fingerprint-agent.md +206 -1
  36. package/extracted-skill/tracking-events-generator/agents/fraud-detection-agent.md +143 -0
  37. package/extracted-skill/tracking-events-generator/agents/google-agent.md +128 -2
  38. package/extracted-skill/tracking-events-generator/agents/intelligence-agent.md +191 -31
  39. package/extracted-skill/tracking-events-generator/agents/lead-scoring-agent.md +282 -0
  40. package/extracted-skill/tracking-events-generator/agents/linkedin-agent.md +145 -34
  41. package/extracted-skill/tracking-events-generator/agents/localization-agent.md +1 -1
  42. package/extracted-skill/tracking-events-generator/agents/ltv-predictor-agent.md +5 -5
  43. package/extracted-skill/tracking-events-generator/agents/master-feedback-loop.md +81 -21
  44. package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +313 -93
  45. package/extracted-skill/tracking-events-generator/agents/match-quality-agent.md +304 -0
  46. package/extracted-skill/tracking-events-generator/agents/memory-agent.md +190 -15
  47. package/extracted-skill/tracking-events-generator/agents/meta-agent.md +10 -2
  48. package/extracted-skill/tracking-events-generator/agents/ml-clustering-agent.md +749 -0
  49. package/extracted-skill/tracking-events-generator/agents/page-analyzer.md +21 -4
  50. package/extracted-skill/tracking-events-generator/agents/performance-agent.md +41 -31
  51. package/extracted-skill/tracking-events-generator/agents/performance-optimization-agent.md +18 -8
  52. package/extracted-skill/tracking-events-generator/agents/pinterest-agent.md +14 -6
  53. package/extracted-skill/tracking-events-generator/agents/premium-tracking-intelligence-agent.md +7 -7
  54. package/extracted-skill/tracking-events-generator/agents/r2-setup-agent.md +16 -8
  55. package/extracted-skill/tracking-events-generator/agents/reddit-agent.md +15 -7
  56. package/extracted-skill/tracking-events-generator/agents/security-enterprise-agent.md +157 -48
  57. package/extracted-skill/tracking-events-generator/agents/server-tracking.md +35 -35
  58. package/extracted-skill/tracking-events-generator/agents/spotify-agent.md +15 -7
  59. package/extracted-skill/tracking-events-generator/agents/tiktok-agent.md +73 -2
  60. package/extracted-skill/tracking-events-generator/agents/tracking-plan-agent.md +104 -9
  61. package/extracted-skill/tracking-events-generator/agents/utm-agent.md +322 -0
  62. package/extracted-skill/tracking-events-generator/agents/validator-agent.md +13 -9
  63. package/extracted-skill/tracking-events-generator/agents/webhook-agent.md +112 -4
  64. package/extracted-skill/tracking-events-generator/agents/whatsapp-agent.md +58 -5
  65. package/extracted-skill/tracking-events-generator/agents/whatsapp-ctwa-setup-agent.md +26 -18
  66. package/extracted-skill/tracking-events-generator/agents/youtube-agent.md +152 -37
  67. package/extracted-skill/tracking-events-generator/anti-blocking.js +285 -285
  68. package/extracted-skill/tracking-events-generator/cdpTrack.js +642 -641
  69. package/extracted-skill/tracking-events-generator/contracts/api-versions.json +14 -10
  70. package/extracted-skill/tracking-events-generator/engagement-scoring.js +226 -226
  71. package/extracted-skill/tracking-events-generator/evals/evals.json +235 -235
  72. package/extracted-skill/tracking-events-generator/integration-test.js +497 -497
  73. package/extracted-skill/tracking-events-generator/knowledge-base.md +172 -0
  74. package/extracted-skill/tracking-events-generator/micro-events.js +992 -992
  75. package/extracted-skill/tracking-events-generator/models/lancamento-imobiliario.md +344 -0
  76. package/extracted-skill/tracking-events-generator/models/pinterest/conversions-api-template.js +144 -144
  77. package/extracted-skill/tracking-events-generator/models/pinterest/event-mappings.json +48 -48
  78. package/extracted-skill/tracking-events-generator/models/pinterest/tag-template.js +28 -28
  79. package/extracted-skill/tracking-events-generator/models/quiz-funnel.md +83 -19
  80. package/extracted-skill/tracking-events-generator/models/reddit/conversions-api-template.js +205 -205
  81. package/extracted-skill/tracking-events-generator/models/reddit/event-mappings.json +56 -56
  82. package/extracted-skill/tracking-events-generator/models/reddit/pixel-template.js +19 -19
  83. package/extracted-skill/tracking-events-generator/models/scenarios/behavior-engine.js +425 -425
  84. package/extracted-skill/tracking-events-generator/route-intent-capture.js +222 -0
  85. package/extracted-skill/tracking-events-generator/tracking.config.js +3 -3
  86. package/package.json +89 -75
  87. package/scripts/build-sdk.js +106 -0
  88. package/server-edge-tracker/.client.env.example +14 -0
  89. package/server-edge-tracker/INSTALAR.md +222 -23
  90. package/server-edge-tracker/SEGMENTATION-DOCS.md +513 -0
  91. package/server-edge-tracker/config/utm-mapping.json +64 -0
  92. package/server-edge-tracker/deploy-client.cjs +76 -0
  93. package/server-edge-tracker/index.ts +1230 -0
  94. package/server-edge-tracker/migrate-v7.sql +64 -0
  95. package/server-edge-tracker/modules/db.ts +710 -0
  96. package/server-edge-tracker/modules/dispatch/crm.ts +382 -0
  97. package/server-edge-tracker/modules/dispatch/ga4.ts +72 -0
  98. package/server-edge-tracker/modules/dispatch/meta.ts +143 -0
  99. package/server-edge-tracker/modules/dispatch/platforms.ts +255 -0
  100. package/server-edge-tracker/modules/dispatch/tiktok.ts +107 -0
  101. package/server-edge-tracker/modules/dispatch/whatsapp.ts +296 -0
  102. package/server-edge-tracker/modules/intelligence.ts +589 -0
  103. package/server-edge-tracker/modules/ml/bidding.ts +247 -0
  104. package/server-edge-tracker/modules/ml/fraud.ts +302 -0
  105. package/server-edge-tracker/modules/ml/logistic.ts +226 -0
  106. package/server-edge-tracker/modules/ml/ltv.ts +531 -0
  107. package/server-edge-tracker/modules/ml/matchquality.ts +232 -0
  108. package/server-edge-tracker/modules/ml/quiz.ts +343 -0
  109. package/server-edge-tracker/modules/ml/roas.ts +255 -0
  110. package/server-edge-tracker/modules/ml/segmentation.ts +407 -0
  111. package/server-edge-tracker/modules/nurture.ts +257 -0
  112. package/server-edge-tracker/modules/utils.ts +311 -0
  113. package/server-edge-tracker/modules/utm/utm-enricher.ts +231 -0
  114. package/server-edge-tracker/schema-ab-ltv.sql +97 -0
  115. package/server-edge-tracker/schema-bidding.sql +86 -0
  116. package/server-edge-tracker/schema-fraud.sql +90 -0
  117. package/server-edge-tracker/schema-indexes.sql +67 -0
  118. package/server-edge-tracker/schema-ltv-feedback.sql +11 -0
  119. package/server-edge-tracker/schema-quiz.sql +52 -0
  120. package/server-edge-tracker/schema-sales-engine.sql +113 -0
  121. package/server-edge-tracker/schema-segmentation.sql +219 -0
  122. package/server-edge-tracker/schema-utm.sql +82 -0
  123. package/server-edge-tracker/schema.sql +281 -265
  124. package/server-edge-tracker/types.ts +275 -0
  125. package/server-edge-tracker/wrangler.toml +140 -85
  126. package/templates/lancamento-imobiliario.md +344 -0
  127. package/templates/multi-step-checkout.md +3 -4
  128. package/templates/pinterest/conversions-api-template.js +144 -144
  129. package/templates/pinterest/event-mappings.json +48 -48
  130. package/templates/pinterest/tag-template.js +28 -28
  131. package/templates/quiz-funnel.md +83 -19
  132. package/templates/reddit/conversions-api-template.js +205 -205
  133. package/templates/reddit/event-mappings.json +56 -56
  134. package/templates/reddit/pixel-template.js +12 -39
  135. package/templates/scenarios/behavior-engine.js +45 -22
  136. package/docs/PixelBuilder-Documentacao-Completa (2).docx +0 -0
  137. package/docs/installation.md +0 -155
  138. package/docs/quick-start.md +0 -185
  139. package/extracted-skill/tracking-events-generator/agents/crm-integration-agent.md +0 -1419
  140. package/extracted-skill/tracking-events-generator/agents/intelligence-scheduling.md +0 -643
  141. package/server-edge-tracker/worker.js +0 -2574
@@ -1,5 +1,5 @@
1
1
  # Setup Completo — server-edge-tracker
2
- ## groof.com.br | Meta CAPI v22.0 + GA4 Measurement Protocol + D1 Database
2
+ ## SEU_DOMINIO | Meta CAPI v22.0 + GA4 Measurement Protocol + D1 Database
3
3
 
4
4
  > Execute cada bloco no terminal, um de cada vez.
5
5
  > Tempo total estimado: 15–20 minutos.
@@ -77,15 +77,39 @@ pelo ID que você copiou. Salve o arquivo.
77
77
 
78
78
  ## PASSO 5 — Criar as tabelas no banco
79
79
 
80
+ Execute os arquivos de schema na ordem abaixo. Cada arquivo usa `IF NOT EXISTS` e é idempotente — pode ser executado mais de uma vez sem risco.
81
+
80
82
  ```bash
81
- wrangler d1 execute cdp-edge-db --file=schema.sql
83
+ # Core: tabelas principais (leads, user_profiles, events_log, identity_graph)
84
+ wrangler d1 execute cdp-edge-db --file=schema.sql --remote
85
+
86
+ # Migrations históricas (retry_queue, escalation_log, intelligence_logs)
87
+ wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
88
+
89
+ # Fase 1 — ML Clustering (ml_segments, ml_segment_members, views de segmentação)
90
+ wrangler d1 execute cdp-edge-db --file=schema-segmentation.sql --remote
91
+
92
+ # Fase 2 — Bidding ML (bid_recommendations, view v_active_bid_recs)
93
+ wrangler d1 execute cdp-edge-db --file=schema-bidding.sql --remote
94
+
95
+ # Fase 3 — A/B LTV Testing (ltv_ab_tests, ltv_ab_variations, ltv_ab_assignments)
96
+ wrangler d1 execute cdp-edge-db --file=schema-ab-ltv.sql --remote
97
+
98
+ # Fase 4 — Fraud Detection (fraud_signals, fraud_alerts, view v_fraud_dashboard)
99
+ wrangler d1 execute cdp-edge-db --file=schema-fraud.sql --remote
100
+
101
+ # Índices compostos de performance para queries D1 (todas as fases)
102
+ wrangler d1 execute cdp-edge-db --file=schema-indexes.sql --remote
103
+
104
+ # Fase 5 — LTV Real + Match Quality (ltv_model_weights, match_quality_log, view v_match_quality_24h)
105
+ wrangler d1 execute cdp-edge-db --file=migrate-v7.sql --remote
82
106
  ```
83
107
 
84
- > Resultado esperado: "✅ Successfully executed SQL"
108
+ > Resultado esperado para cada arquivo: "✅ Successfully executed SQL"
85
109
 
86
110
  Verificar se as tabelas foram criadas:
87
111
  ```bash
88
- wrangler d1 execute cdp-edge-db --command="SELECT name FROM sqlite_master WHERE type='table';"
112
+ wrangler d1 execute cdp-edge-db --remote --command="SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;"
89
113
  ```
90
114
 
91
115
  ---
@@ -118,21 +142,30 @@ wrangler secret put META_TEST_CODE
118
142
  > Encontrar no Gerenciador de Eventos Meta → Testar Eventos → copie o código "TEST12345"
119
143
  > **Lembrar de remover esse secret em produção** (veja PASSO 10)
120
144
 
121
- ### WhatsApp — Meta Cloud API v22.0 (notificações de venda/lead):
145
+ ### WhatsApp — Webhook Verification (CTWA Tracking):
146
+ ```bash
147
+ wrangler secret put WA_WEBHOOK_VERIFY_TOKEN
148
+ ```
149
+ > Token de verificação do webhook WhatsApp (obrigatório para CTWA). Meta exige este token para registrar o webhook.
150
+ > Defina qualquer string segura, ex: `cdp-edge-webhook-2026-secret-xyz`.
151
+
152
+ ### WhatsApp — Meta Cloud API v22.0 (mensagens automáticas - OPCIONAL):
153
+ > ⚠️ Estes secrets são **OPCIONAIS**. Se você precisa apenas de tracking de dados (ctwaclid), não configure-os.
154
+
122
155
  ```bash
123
- wrangler secret put WA_PHONE_ID
156
+ wrangler secret put WHATSAPP_PHONE_NUMBER_ID
124
157
  ```
125
- > Phone Number ID do WhatsApp Business. Encontrar em: developers.facebook.com App → WhatsApp → Configuração da API.
158
+ > Meta: "Phone Number ID" — ID do número WhatsApp Business. Necessário apenas para enviar mensagens automáticas.
126
159
 
127
160
  ```bash
128
- wrangler secret put WA_ACCESS_TOKEN
161
+ wrangler secret put WHATSAPP_ACCESS_TOKEN
129
162
  ```
130
- > Token de acesso permanente do WhatsApp Business (Meta Developers Token de acesso).
163
+ > Meta: "Access Token" — Token de acesso do WhatsApp Business. Necessário apenas para enviar mensagens automáticas.
131
164
 
132
165
  ```bash
133
166
  wrangler secret put WA_NOTIFY_NUMBER
134
167
  ```
135
- > Número que vai receber as notificações de venda/lead. Ex: `5511999998888` (com código do país, sem `+`).
168
+ > Número que vai receber as notificações de venda/lead. Necessário apenas para enviar mensagens automáticas.
136
169
 
137
170
  ### WhatsApp — CallMeBot (alertas internos do sistema):
138
171
  ```bash
@@ -197,8 +230,8 @@ Ainda com `META_TEST_CODE` configurado, rode este comando no terminal
197
230
  ```bash
198
231
  curl -X POST https://server-edge-tracker.seu-usuario.workers.dev/track \
199
232
  -H "Content-Type: application/json" \
200
- -H "Origin: https://groof.com.br" \
201
- -d "{\"eventName\":\"Lead\",\"email\":\"teste@email.com\",\"pageUrl\":\"https://groof.com.br/teste\"}"
233
+ -H "Origin: https://SEU_DOMINIO" \
234
+ -d "{\"eventName\":\"Lead\",\"email\":\"teste@email.com\",\"pageUrl\":\"https://SEU_DOMINIO/teste\"}"
202
235
  ```
203
236
 
204
237
  Resultado esperado:
@@ -210,7 +243,97 @@ Verificar no Meta: Gerenciador de Eventos → Testar Eventos → deve aparecer "
210
243
 
211
244
  ---
212
245
 
213
- ## PASSO 10 — Remover o Test Code antes de ir ao ar
246
+ ## PASSO 10 — Verificar Plano Workers ($5) e Dados Geográficos
247
+
248
+ ### IMPORTANTE: Plano Workers Paid ($5/mês)
249
+
250
+ O CDP Edge foi desenvolvido para aproveitar todos os recursos do **Cloudflare Workers Paid ($5/mês)**, especialmente os dados geográficos avançados.
251
+
252
+ **O que você ganha com o plano $5:**
253
+ - **Cidade exata:** Ex: "São Paulo" (plano free: NULL)
254
+ - **Estado completo:** Ex: "São Paulo" (plano free: NULL)
255
+ - **Estado (sigla):** Ex: "SP" (plano free: NULL)
256
+ - **CEP:** Ex: "01310-100" (plano free: NULL)
257
+ - **Latitude/Longitude:** Ex: "-23.5505", "-46.6333" (plano free: NULL)
258
+ - **Timezone:** Ex: "America/Sao_Paulo" (plano free: NULL)
259
+
260
+ **Como verificar se está funcionando:**
261
+
262
+ 1. **Enviar evento de teste:**
263
+ ```bash
264
+ curl -X POST "https://SEU_DOMINIO/track" \
265
+ -H "Content-Type: application/json" \
266
+ -H "Origin: https://SEU_DOMINIO" \
267
+ -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
268
+ -d '{"eventName":"TestGeo","pageUrl":"https://SEU_DOMINIO/teste","email":"teste@exemplo.com","firstName":"Teste","lastName":"Geo"}'
269
+ ```
270
+
271
+ 2. **Verificar no banco D1 se os dados geográficos foram capturados:**
272
+ ```bash
273
+ wrangler d1 execute cdp-edge-db --remote --command="SELECT event_name, email, city, state, country FROM leads WHERE email = 'teste@exemplo.com' ORDER BY created_at DESC LIMIT 1"
274
+ ```
275
+
276
+ **Resultado esperado (com plano $5):**
277
+ ```json
278
+ {
279
+ "event_name": "TestGeo",
280
+ "email": "teste@exemplo.com",
281
+ "city": "São Bernardo do Campo", // ← Plano $5: nome da cidade
282
+ "state": "SP", // ← Plano $5: sigla do estado
283
+ "country": "BR" // ← Plano free: país
284
+ }
285
+ ```
286
+
287
+ **Se `city` e `state` aparecem como `NULL`:**
288
+ - O plano $5 não está ativo
289
+ - Verifique no painel Cloudflare se Workers está contratado
290
+ - Contrate o plano em: https://dash.cloudflare.com/[ID_DA_CONTA]/workers/plans
291
+
292
+ ---
293
+
294
+ ## PASSO 11.1 — Solução de Conflitos de Rotas
295
+
296
+ ### ⚠️ Se aparecer erro no deploy:
297
+
298
+ ```
299
+ ERROR: Can't deploy routes that are assigned to another worker.
300
+ "server-edge-tracker" is already assigned to routes:
301
+ - SEU_DOMINIO/track*
302
+ ```
303
+
304
+ ### SOLUÇÃO 1 — Via Painel Cloudflare (RECOMENDADO):
305
+
306
+ 1. Acesse: https://dash.cloudflare.com/[ID_DA_CONTA]/workers/overview
307
+ 2. Clique no worker que está usando as rotas do seu domínio
308
+ 3. Vá em Settings → Triggers → Routes
309
+ 4. Clique "Delete" nas rotas do domínio `SEU_DOMINIO`
310
+ 5. Repita o `wrangler deploy`
311
+
312
+ ### SOLUÇÃO 2 — Via Wrangler CLI:
313
+
314
+ ```bash
315
+ # Listar workers para encontrar o deployment conflitante
316
+ wrangler deployments list
317
+
318
+ # Remover deployment conflitante (substituir pelo ID correto)
319
+ wrangler deployment delete --id <ID_DO_DEPLOYMENT_CONFLITANTE>
320
+ ```
321
+
322
+ ### SOLUÇÃO 3 — Usar Sufixo nas Rotas:
323
+
324
+ Se não quiser remover rotas existentes, use sufixo:
325
+
326
+ ```toml
327
+ [[routes]]
328
+ pattern = "SEU_DOMINIO/track-worker-novo*"
329
+ zone_name = "SEU_DOMINIO"
330
+ ```
331
+
332
+ **URL do tracking:** `https://SEU_DOMINIO/track-worker-novo`
333
+
334
+ ---
335
+
336
+ ## PASSO 11.2 — Remover o Test Code antes de ir ao ar
214
337
 
215
338
  ```bash
216
339
  wrangler secret delete META_TEST_CODE
@@ -219,18 +342,94 @@ wrangler deploy
219
342
 
220
343
  ---
221
344
 
222
- ## PASSO 11 — Configurar domínio personalizado (opcional)
345
+ ## PASSO 12 — Configurar domínio personalizado (OBRIGATÓRIO para produção)
346
+
347
+ ### ⚠️ ATENÇÃO: Domínio OBRIGATÓRIO
348
+
349
+ Para o tracking funcionar corretamente em produção, você **PRECISA** configurar um domínio personalizado. **NÃO** use o domínio `.workers.dev` em produção.
350
+
351
+ ### INSTRUÇÕES EXATAS:
352
+
353
+ #### 1. Verificar se o domínio está na Cloudflare
354
+ ```bash
355
+ # No painel Cloudflare: https://dash.cloudflare.com
356
+ # Verifique se o domínio está listado em "Websites"
357
+ # Se não estiver, adicione o domínio antes de continuar
358
+ ```
359
+
360
+ #### 2. Configurar rotas no wrangler.toml
361
+
362
+ Edite o arquivo `wrangler.toml` e substitua:
363
+ ```toml
364
+ # SUBSTITUIR estes valores:
365
+ pattern = "SEU_DOMINIO/track*" # ← Substituir pelo domínio real
366
+ zone_name = "SEU_DOMINIO" # ← Substituir pelo domínio real
367
+
368
+ # Exemplo real:
369
+ # pattern = "cliente.com.br/track*"
370
+ # zone_name = "cliente.com.br"
371
+ ```
372
+
373
+ #### 3. Fazer o deploy com as rotas
374
+ ```bash
375
+ wrangler deploy
376
+ ```
223
377
 
224
- Se quiser usar `track.groof.com.br` em vez do domínio `.workers.dev`:
378
+ #### 4. Resolver conflitos de rotas (se ocorrer erro)
225
379
 
226
- 1. No painel da Cloudflare Workers & Pages seu Worker → Settings → Domains & Routes
227
- 2. Clique "Add Custom Domain"
228
- 3. Digite: `track.groof.com.br`
229
- 4. Cloudflare configura o DNS automaticamente (como o domínio já está na Cloudflare)
380
+ Se aparecer erro: `Can't deploy routes that are assigned to another worker`:
381
+
382
+ **SOLUÇÃO A - Via painel Cloudflare:**
383
+ 1. Acesse: https://dash.cloudflare.com/[ID_DA_CONTA]/workers/overview
384
+ 2. Clique no worker que está usando as rotas do seu domínio
385
+ 3. Vá em Settings → Triggers → Routes
386
+ 4. Clique "Delete" nas rotas do domínio
387
+ 5. Repita o `wrangler deploy`
388
+
389
+ **SOLUÇÃO B - Via API (rápido):**
390
+ ```bash
391
+ # Listar workers para encontrar o ID
392
+ wrangler deployments list
393
+
394
+ # Remover rotas do worker conflitante (substituir pelo ID correto)
395
+ wrangler deployment delete --id <ID_DO_DEPLOYMENT>
396
+ ```
397
+
398
+ #### 5. Verificar se funcionou
399
+ ```bash
400
+ # Testar endpoint de health
401
+ curl "https://SEU_DOMINIO/track/health"
402
+
403
+ # Deve retornar:
404
+ # {"status": "ok", "bindings": {...}}
405
+ ```
406
+
407
+ #### 6. Testar endpoint de tracking
408
+ ```bash
409
+ curl -X POST "https://SEU_DOMINIO/track" \
410
+ -H "Content-Type: application/json" \
411
+ -H "Origin: https://SEU_DOMINIO" \
412
+ -d '{"eventName":"Test","pageUrl":"https://SEU_DOMINIO/teste"}'
413
+ ```
414
+
415
+ **URL FINAL DO TRACKING:**
416
+ - ✅ `https://SEU_DOMINIO/track` (CORRETO - produção)
417
+ - ❌ `https://seu-worker.workers.dev/track` (ERRADO - teste apenas)
418
+
419
+ ---
420
+
421
+ ### DOMÍNIOS SUPOSTOS (.workers.dev) — Apenas para testes locais:
422
+
423
+ ```bash
424
+ # Para testar localmente sem domínio real:
425
+ wrangler dev
426
+
427
+ # Acesso temporário: http://localhost:8787/track
428
+ ```
230
429
 
231
430
  ---
232
431
 
233
- ## PASSO 12 — Configurar webhooks nas plataformas
432
+ ## PASSO 13 — Configurar webhooks nas plataformas
234
433
 
235
434
  ### Ticto (plataforma principal):
236
435
 
@@ -243,8 +442,8 @@ Preencher:
243
442
  - **Formato:** `JSON`
244
443
  - **Evento:** marcar **Venda Realizada** (status `paid`)
245
444
 
246
- > Se usar domínio personalizado (ex: `track.groof.com.br`):
247
- > URL fica: `https://track.groof.com.br/webhook/ticto`
445
+ > Se usar domínio personalizado (ex: `track.SEU_DOMINIO`):
446
+ > URL fica: `https://track.SEU_DOMINIO/webhook/ticto`
248
447
 
249
448
  **Testar:** na tela de webhook da Ticto há um botão **"Enviar teste"**. Ao clicar, a Ticto envia um POST simulado. Confirme que o evento aparece no Gerenciador de Eventos do Meta como `Purchase` e que o dado foi registrado no banco D1 (ver comando no final deste guia).
250
449
 
@@ -296,7 +495,7 @@ Preencher:
296
495
  "userId": "usr_abc123",
297
496
  "gaClientId": "GA1.1.123456789.1234567890",
298
497
  "eventId": "CDP_1234567890_abc123",
299
- "pageUrl": "https://groof.com.br/obrigado",
498
+ "pageUrl": "https://SEU_DOMINIO/obrigado",
300
499
  "value": 297,
301
500
  "currency": "BRL",
302
501
  "utmSource": "facebook",