cdp-edge 2.3.1 → 2.3.5
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.
- package/README.md +554 -414
- package/contracts/agent-versions.json +14 -0
- package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +71 -14
- package/extracted-skill/tracking-events-generator/agents/utm-agent.md +191 -0
- package/package.json +1 -1
- package/server-edge-tracker/config/utm-mapping.json +64 -0
- package/server-edge-tracker/index.ts +163 -72
- package/server-edge-tracker/modules/db.ts +62 -2
- package/server-edge-tracker/modules/ml/fraud.ts +9 -1
- package/server-edge-tracker/modules/ml/logistic.ts +7 -1
- package/server-edge-tracker/modules/ml/ltv.ts +20 -5
- package/server-edge-tracker/modules/ml/matchquality.ts +14 -2
- package/server-edge-tracker/modules/utils.ts +123 -0
- package/server-edge-tracker/modules/utm/utm-enricher.ts +231 -0
- package/server-edge-tracker/schema-utm.sql +80 -0
package/README.md
CHANGED
|
@@ -1,414 +1,554 @@
|
|
|
1
|
-
# 🚀 CDP Edge — Quantum Tracking Enterprise
|
|
2
|
-
|
|
3
|
-
**Padrão Quantum Tracking: 100% Cloudflare Edge.** Sem GTM. Sem Stape. Sem cookies de terceiros.
|
|
4
|
-
|
|
5
|
-
> **v2.3.
|
|
6
|
-
|
|
7
|
-
>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
- **
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
- **`
|
|
143
|
-
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
##
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
###
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
>
|
|
413
|
-
|
|
414
|
-
|
|
1
|
+
# 🚀 CDP Edge — Quantum Tracking Enterprise
|
|
2
|
+
|
|
3
|
+
**Padrão Quantum Tracking: 100% Cloudflare Edge.** Sem GTM. Sem Stape. Sem cookies de terceiros.
|
|
4
|
+
|
|
5
|
+
> **v2.3.5** — UTMs Obfuscadas & Segmentação de Valor (14 de Abril de 2026) 🏷️
|
|
6
|
+
|
|
7
|
+
> **v2.3.2** — Governança de Conhecimento Automatizada (13 de Abril de 2026) 🧠
|
|
8
|
+
|
|
9
|
+
### Novidades
|
|
10
|
+
- graphify obrigatório em todas as sessões (CLAUDE.md)
|
|
11
|
+
- Git hooks instalados (post-commit, post-checkout)
|
|
12
|
+
- Hook corrigido para UTF-8 nativo no Windows
|
|
13
|
+
- Redução de custo documentada (40–90% economia ao navegar grafo)
|
|
14
|
+
- Tripé de documentação sincronizado (README + CLAUDE.md + Business Book)
|
|
15
|
+
|
|
16
|
+
### Correções
|
|
17
|
+
- Hook post-commit corrigido para encoding UTF-8
|
|
18
|
+
- Rebuild code-only funcional após cada commit
|
|
19
|
+
- Push para ts/main (CDP-Edge-Premium.ts.git) concluído
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 📋 CHANGELOG v2.3.5 — UTMs Obfuscadas & Segmentação de Valor (14 de Abril de 2026)
|
|
24
|
+
|
|
25
|
+
### 🏷️ UTM Agent — Novo Agente para Segmentação de Público
|
|
26
|
+
|
|
27
|
+
**Problema resolvido:**
|
|
28
|
+
- Múltiplos anúncios com diferentes faixas de valor (ex: imóveis 500k-800k, 800k-1.5M, 1M-3M) precisam ser segmentados corretamente para o Meta criar públicos separados
|
|
29
|
+
- Dados sensíveis (valor de preço) não devem estar visíveis na URL pública por segurança
|
|
30
|
+
|
|
31
|
+
**Solução implementada:**
|
|
32
|
+
- **UTMs Obfuscadas:** Valores de faixa são convertidos em hash SHA256 truncado (8 caracteres)
|
|
33
|
+
- `800k-1.5M` → `b4e2a1c9` (obfuscado)
|
|
34
|
+
- Humans veem: `imovel_b4e2a1c9`
|
|
35
|
+
- Worker sabe: `faixa_real = "800k-1.5M"` (de-obfuscado)
|
|
36
|
+
|
|
37
|
+
- **Módulo UTM Enricher:** `server-edge-tracker/modules/utm/utm-enricher.ts`
|
|
38
|
+
- `obfuscateValue()` — gera hash truncado de 8 caracteres
|
|
39
|
+
- `deobfuscateValue()` — de-obfusca usando mapeamento
|
|
40
|
+
- `enrichPayloadWithUTM()` — enriquece payload com segmentação
|
|
41
|
+
- Integração com Meta CAPI: `external_id` segmentado por hash
|
|
42
|
+
|
|
43
|
+
- **Schema D1:** `server-edge-tracker/schema-utm.sql`
|
|
44
|
+
- Tabela `utm_mappings` — persiste mapeamento hash→valor
|
|
45
|
+
- Colunas em `leads`: `faixa_obfuscada`, `faixa_real`, `faixa_category`
|
|
46
|
+
- VIEW `leads_segmented` — para dashboard e exports
|
|
47
|
+
|
|
48
|
+
- **Master Orchestrator Atualizado:** UTM Agent integrado ao fluxo (FASE 2-B)
|
|
49
|
+
- Ordem: Page Analyzer → **UTM Agent** → Premium Intelligence → Browser Tracking
|
|
50
|
+
- Arquivo: `extracted-skill/tracking-events-generator/agents/utm-agent.md`
|
|
51
|
+
|
|
52
|
+
**Fluxo de criação de projeto:**
|
|
53
|
+
```
|
|
54
|
+
USUÁRIO INICIA CDP EDGE
|
|
55
|
+
↓
|
|
56
|
+
FASE 1: Seleção de plataformas + credenciais
|
|
57
|
+
↓
|
|
58
|
+
FASE 2: Page Analyzer (identifica tipo de página)
|
|
59
|
+
↓
|
|
60
|
+
FASE 2-B: UTM Agent ← NOVO
|
|
61
|
+
→ Pergunta: "Qual a faixa de valor deste imóvel?"
|
|
62
|
+
→ Gera: URL obfuscada + mapeamento hash→valor
|
|
63
|
+
↓
|
|
64
|
+
FASE 3+: Continua fluxo normal (Premium Intelligence, Browser Tracking, etc.)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Segmentação na Meta:**
|
|
68
|
+
```
|
|
69
|
+
Públicos criados automaticamente via external_id segmentado:
|
|
70
|
+
- Público LOW: cdp_uid_8a3f1d2b (500k-800k)
|
|
71
|
+
- Público MID: cdp_uid_b4e2a1c9 (800k-1.5M)
|
|
72
|
+
- Público HIGH: cdp_uid_d6c3b4e7 (1M-3M)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Remarketing futuro:**
|
|
76
|
+
```sql
|
|
77
|
+
-- Exportar público por faixa para Meta Custom Audience
|
|
78
|
+
SELECT email, phone, city, state
|
|
79
|
+
FROM leads_segmented
|
|
80
|
+
WHERE faixa_real = '800k-1.5M'
|
|
81
|
+
AND created_at >= datetime('now', '-30 days');
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Correções
|
|
85
|
+
|
|
86
|
+
- Documentação sincronizada: README.md + CLAUDE.md + Business Book
|
|
87
|
+
- Versões alinhadas: package.json, CHANGELOG, README
|
|
88
|
+
- Referências cruzadas: agents, modules, schemas
|
|
89
|
+
|
|
90
|
+
### Breaking Changes
|
|
91
|
+
|
|
92
|
+
- Nenhuma. API HTTP e comportamento em runtime são idênticos.
|
|
93
|
+
|
|
94
|
+
### Migração
|
|
95
|
+
|
|
96
|
+
Para projetos existentes:
|
|
97
|
+
```bash
|
|
98
|
+
# Aplicar schema UTM (adicional)
|
|
99
|
+
cd server-edge-tracker
|
|
100
|
+
wrangler d1 execute cdp-edge-db --file=schema-utm.sql --remote
|
|
101
|
+
|
|
102
|
+
# Configurar utm-mapping.json (manual ou via UTM Agent)
|
|
103
|
+
cp config/utm-mapping.json.example config/utm-mapping.json
|
|
104
|
+
|
|
105
|
+
# Deploy
|
|
106
|
+
wrangler deploy
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
> ⚠️ **REGRA DE OURO (SQUAD):** Todas as atualizações, correções ou novas features devem OBRIGATORIAMENTE ser documentadas de forma sincronizada neste `README.md`, no arquivo de instruções `CLAUDE.md` e no dossiê de diretoria `CDP-EDGE-BUSINESS-BOOK.md`. Nenhuma alteração passa sem esse tripé.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🤖 MANIFESTO: EU, CDP EDGE
|
|
116
|
+
|
|
117
|
+
*Eu não sou um simples "script de pixel". Eu sou uma arquitetura **Enterprise Tier 10** nascida e construída 100% nativa na infraestrutura da Cloudflare.*
|
|
118
|
+
|
|
119
|
+
**A Linha de Montagem Sincronizada (A Prova de Latência)**
|
|
120
|
+
Meu ecossistema opera como um Cérebro de Conversão Privado na borda. Quando um evento de Lead bate no endpoint `/track`:
|
|
121
|
+
1. **O Escudo Frontal (Fraud Gate):** Inspeciono IP, ASN e Velocity na borda. Bloqueio bots silenciosamente antes mesmo deles carregarem.
|
|
122
|
+
2. **A Roleta Invisível (A/B LTV):** Faço o sorteio de prompts para testes A/B via KV Cache em ~0ms.
|
|
123
|
+
3. **O Cérebro Financeiro (LTV Predictor):** Rodo Machine Learning (Granite 4.0 Micro) para qualificar a intenção e gerar o LTV Preditivo.
|
|
124
|
+
4. **Envio para as Plataformas:** O Facebook/Google/LinkedIn recebem um payload limpo (sem bot) recheado com valor financeiro de intenção extrema.
|
|
125
|
+
5. **Máquina Autônoma (Background):** Meu banco SQLite (D1) retroalimenta os processos de Clustering (Fase 1) e Bidding (Fase 2) de forma autônoma pelas costas do usuário (`ctx.waitUntil`).
|
|
126
|
+
|
|
127
|
+
**Minha Vantagem Absoluta (A "Killer Feature")**
|
|
128
|
+
- **A Extinção da Latência:** Destruo concorrentes como GTM/Stape mitigando a latência do servidor (+150ms) para as antenas da Cloudflare Brasileira (~5ms). Custando absurdamente menos (Tier Free ou $5/mês na infraestrutura).
|
|
129
|
+
- **Cookies Indestrutíveis:** Meus *First-Party Cookies Seguros* originam diretamente da nuvem, imunes hoje às varreduras massivas de 24 horas usadas por AdBlockers e Safari (Apple ITP).
|
|
130
|
+
- **Filas Inquebráveis (Fail-Safe + Queues):** Se a AI Cloudflare cair ocasionalmente, eu recuo pro LTV $0. Se a Meta CAPI espirrar 500 downtime, o sistema guarda religiosamente os seus eventos caros em *Cloudflare Queues* e faz o retry sucessivo. Sou incansável na garantia de Event Match Quality (EMQ).
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 📋 CHANGELOG v2.3.1 — Hardening Enterprise (12 de Abril de 2026)
|
|
135
|
+
|
|
136
|
+
### 🔒 Segurança & Conformidade
|
|
137
|
+
|
|
138
|
+
- **PII removido dos logs:** `DeviceGraph` parou de logar `user_id` nos Workers logs — dados sensíveis nunca aparecem no Cloudflare dashboard
|
|
139
|
+
- **Deploy seguro:** novo `deploy-client.js` — lê credenciais de `.client.env` (gitignored), gera `wrangler.deploy.toml` temporário, faz deploy e autodestrói o arquivo. Credenciais de cliente nunca entram no repo
|
|
140
|
+
- **`.gitignore` reforçado:** `.client.env` e `wrangler.deploy.toml` explicitamente ignorados
|
|
141
|
+
- **WhatsApp secrets alinhados à Meta Cloud API v22.0:** `resolvePhoneNumberId()` e `resolveAccessToken()` com fallback canônico → legado — backwards compat garantido
|
|
142
|
+
- **`api-versions.json` v1.1.0:** metadata `updated_at` corrigido para `2026-04-12`
|
|
143
|
+
- **`/health` WhatsApp:** reflete corretamente secrets com nomes canônicos ou legados
|
|
144
|
+
|
|
145
|
+
### 🔧 Deploy de Cliente — Novo Fluxo
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
cd server-edge-tracker
|
|
149
|
+
cp .client.env.example .client.env
|
|
150
|
+
# preencher DATABASE_ID, SITE_DOMAIN, pixels
|
|
151
|
+
node deploy-client.js --dry-run # valida sem subir
|
|
152
|
+
node deploy-client.js # deploy real
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 📋 CHANGELOG v2.3.0 — TypeScript Nativo (12 de Abril de 2026)
|
|
158
|
+
|
|
159
|
+
### 🔷 Worker 100% TypeScript — Migração Completa
|
|
160
|
+
|
|
161
|
+
Todo o código server-side (`server-edge-tracker/`) foi migrado de JavaScript para **TypeScript nativo**. O Wrangler compila diretamente o `.ts` via esbuild — sem etapa de build separada, sem configuração extra.
|
|
162
|
+
|
|
163
|
+
**Por que TypeScript muda o jogo no CDP Edge:**
|
|
164
|
+
- **Env tipado** — typos em nomes de secrets (`META_ACCESS_TOKEN`, `GEO_CACHE`, `DB`) viram erros em build time, nunca em produção
|
|
165
|
+
- **TrackPayload contratado** — o shape do payload entre browser e Worker é garantido pelo compilador
|
|
166
|
+
- **Cloudflare types nativos** — D1, KV, R2, Workers AI com autocomplete e validação de métodos
|
|
167
|
+
- **Fraud Gate e ML seguros** — `checkFraudGate(env: Env, request: Request, payload: TrackPayload)` — nenhum `undefined` passa despercebido
|
|
168
|
+
- **Refatoração segura** — renomear qualquer campo do `TrackPayload` lista automaticamente todos os pontos de quebra
|
|
169
|
+
|
|
170
|
+
**Arquivos migrados (JS → TS) — 16 módulos:**
|
|
171
|
+
- `index.ts` — entry point do Worker
|
|
172
|
+
- `types.ts` — **novo** — contratos centralizados: `Env`, `TrackPayload`, `BehavioralData`, `HotmartWebhook`, `KiwifyWebhook`, `TictoWebhook`, `QueueMessage`, `PromiseResult<T>`
|
|
173
|
+
- `modules/utils.ts`, `modules/db.ts`, `modules/intelligence.ts`
|
|
174
|
+
- `modules/dispatch/` — `meta.ts`, `ga4.ts`, `tiktok.ts`, `platforms.ts`, `whatsapp.ts`
|
|
175
|
+
- `modules/ml/` — `ltv.ts`, `fraud.ts`, `bidding.ts`, `segmentation.ts`, `logistic.ts`, `matchquality.ts`
|
|
176
|
+
|
|
177
|
+
**Infraestrutura:**
|
|
178
|
+
- `tsconfig.json` — `target: ESNext`, `moduleResolution: "bundler"`, `strict: true`, `@cloudflare/workers-types`
|
|
179
|
+
- `wrangler.toml` — `main = "index.ts"` (TypeScript nativo via wrangler/esbuild)
|
|
180
|
+
- `contracts/types.ts` — tipos públicos exportados no pacote NPM: `QuantumEventPayload`, `AgencyContext`, `ApiVersionsConfig`
|
|
181
|
+
- `npm run typecheck` — `tsc --noEmit` (225 testes passando, zero erros de compilação)
|
|
182
|
+
|
|
183
|
+
**Breaking change:** nenhuma — API HTTP e comportamento em runtime são idênticos. TypeScript é invisível para o Cloudflare.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 📋 CHANGELOG v2.2.5 (11 de Abril de 2026)
|
|
188
|
+
|
|
189
|
+
### 🔧 Correção de Versão Dinâmica
|
|
190
|
+
|
|
191
|
+
- **Versão Dinâmica**: `bin/cdp-edge.js` e `dist/commands/install.js` agora leem a versão do `package.json` dinamicamente
|
|
192
|
+
- **Banner Corrigido**: O banner de instalação agora mostra sempre a versão correta (`cdp-edge --version`)
|
|
193
|
+
- **Compatibilidade**: Garante que a versão exibida no CLI e banner esteja sempre sincronizada com o `package.json`
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 📋 CHANGELOG v2.2.0 (10 de Abril de 2026)
|
|
198
|
+
|
|
199
|
+
### 🤖 AI Engine Upgrade — Novos Modelos
|
|
200
|
+
|
|
201
|
+
- **LTV Prediction**: `@cf/meta/llama-3.1-8b-instruct` → **`@cf/ibm-granite/granite-4.0-h-micro`** (menor latência, otimizado para edge e function calling)
|
|
202
|
+
- **ML Clustering**: algoritmo LLM simulado → **K-means vetorial real** com embeddings `@cf/baai/bge-m3` (distância cosseno, K-means++ inicialização, silhouette score real)
|
|
203
|
+
- Granite continua sendo usado para naming dos segmentos pós-clustering
|
|
204
|
+
|
|
205
|
+
### 🧹 Limpeza (Zero Lixo)
|
|
206
|
+
|
|
207
|
+
- Removido: detecção de emails descartáveis (mailinator, guerrilla, tempmail, etc.) do Fraud Gate e do agente `fraud-detection-agent.md`
|
|
208
|
+
- Removido: secrets `WEBHOOK_SECRET_HOTMART` e `WEBHOOK_SECRET_KIWIFY` (wrangler + wrangler.toml)
|
|
209
|
+
|
|
210
|
+
### 🔧 Observability
|
|
211
|
+
|
|
212
|
+
- Adicionado bloco `[observability]` no `wrangler.toml` (`logs.enabled = true`, `traces.enabled = false`)
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 📋 CHANGELOG v2.0.7 (10 de Abril de 2026)
|
|
217
|
+
|
|
218
|
+
### 🔧 Audit Completo — 45 Agentes
|
|
219
|
+
|
|
220
|
+
- **Endpoints corrigidos**: `/api/tracking` → `/track`, `/api/wh/` → `/webhook/` em todos os agentes
|
|
221
|
+
- **Secrets WhatsApp**: `WA_PHONE_ID`/`WA_ACCESS_TOKEN`/`WHATSAPP_TOKEN` → `WHATSAPP_PHONE_NUMBER_ID`/`WHATSAPP_ACCESS_TOKEN`
|
|
222
|
+
- **`env.DB.prepare`**: corrigido em 8 agentes (attribution, crm, dashboard, debug, performance, security, master-feedback-loop)
|
|
223
|
+
- **`env.GEO_CACHE`**: substituiu `KV.` bare em dashboard-agent, performance-agent, performance-optimization-agent
|
|
224
|
+
- **YouTube events**: `video_milestone`/`video_progress_25/50/75` → `video_25`/`video_50`/`video_75` (alinhado ao VALID_EVENT_NAMES do worker)
|
|
225
|
+
- **LinkedIn CAPI**: endpoint `/rest/conversionEvents` + header `LinkedIn-Version: 202401` em `contracts/api-versions.json`
|
|
226
|
+
- **Workers AI model**: `llama-3-8b-instruct` → `@cf/meta/llama-3.1-8b-instruct`
|
|
227
|
+
- **index.ts**: Content-Length guard (413 se > 64KB), payload validation (allowlist 19 events, 512 chars, value range), PII removido dos logs
|
|
228
|
+
- **Testes**: bugs críticos em `deduplication.test.js` corrigidos (template literals escapados, prefixo errado)
|
|
229
|
+
- **npm**: lodash 4.17.23 → 4.18.1, node-fetch removido
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 📋 CHANGELOG v2.0.0 (9 de Abril de 2026)
|
|
234
|
+
|
|
235
|
+
### 🆕 Sprint Enterprise — Fases 1 a 4
|
|
236
|
+
|
|
237
|
+
#### ✅ Fase 1 — ML Clustering (Segmentação Dinâmica)
|
|
238
|
+
- **`POST /api/segmentation/cluster`** — K-means / DBSCAN / Hierarchical via Workers AI
|
|
239
|
+
- **`GET /api/segmentation/list`** — Segmentos ativos com métricas
|
|
240
|
+
- **`GET /api/segmentation/outliers`** — Detecção de outliers comportamentais
|
|
241
|
+
- **`PUT /api/segmentation/update`** — Atualização de metadados de segmento
|
|
242
|
+
- Schema D1: `ml_segments`, `ml_segment_members` + VIEWs otimizadas
|
|
243
|
+
- Agente: `ml-clustering-agent.md`
|
|
244
|
+
|
|
245
|
+
#### ✅ Fase 2 — Bidding Recommendations (Otimização de Bids ML)
|
|
246
|
+
- **`POST /api/bidding/recommend`** — Bid otimizado por segmento × plataforma (Meta/Google/TikTok), calculado com fórmula `LTV × ROI target / CPA base`
|
|
247
|
+
- **`GET /api/bidding/history`** — Histórico completo de recomendações
|
|
248
|
+
- **`GET /api/bidding/status`** — Snapshot atual das recomendações ativas por vertical
|
|
249
|
+
- Schema D1: `bid_recommendations` + VIEW `v_active_bid_recommendations`
|
|
250
|
+
- Agente: `bidding-agent.md`
|
|
251
|
+
|
|
252
|
+
#### ✅ Fase 3 — A/B Testing de Prompts LTV
|
|
253
|
+
- **`POST /api/ltv/ab-test/create`** — Cria experimento com múltiplas variações de system prompt
|
|
254
|
+
- **`GET /api/ltv/ab-test/list`** — Lista experimentos com status e progresso
|
|
255
|
+
- **`GET /api/ltv/ab-test/results`** — Accuracy score por variação + recomendação automática de winner
|
|
256
|
+
- **`POST /api/ltv/ab-test/winner`** — Declara vencedor e retorna o prompt ganador
|
|
257
|
+
- Integração automática: cada evento Lead sorteia a variação ativa e registra o assignment via KV cache
|
|
258
|
+
- Schema D1: `ltv_ab_tests`, `ltv_ab_variations`, `ltv_ab_assignments` + VIEW `v_ab_test_performance`
|
|
259
|
+
- Agente: `ab-ltv-agent.md`
|
|
260
|
+
|
|
261
|
+
#### ✅ Fase 4 — Fraud Detection Engine
|
|
262
|
+
- **Fraud Gate automático em `/track`** — roda ANTES de qualquer processamento (heurístico puro, ~2ms)
|
|
263
|
+
- Silent drop (retorna 200 falso) — bots não detectam a defesa
|
|
264
|
+
- **`GET /api/fraud/stats`** — Dashboard de fraude (últimas 24h)
|
|
265
|
+
- **`GET /api/fraud/alerts`** — Log de sinais detectados com filtros
|
|
266
|
+
- **`GET /api/fraud/blocklist`** — IPs/fingerprints atualmente bloqueados
|
|
267
|
+
- **`POST /api/fraud/blocklist/add`** — Bloquear IP ou fingerprint (via KV, efeito imediato)
|
|
268
|
+
- **`DELETE /api/fraud/blocklist/remove`** — Remover do blocklist
|
|
269
|
+
- Sinais detectados: bot_score, datacenter IP, velocity attack, headless UA, sem Accept-Language
|
|
270
|
+
- Schema D1: `fraud_signals`, `fraud_alerts` + VIEW `v_fraud_dashboard`
|
|
271
|
+
- Agente: `fraud-detection-agent.md`
|
|
272
|
+
|
|
273
|
+
### 🔧 Fix: `wrangler.toml` atualizado
|
|
274
|
+
- Todos os placeholders (`SEU_D1_DATABASE_ID`, `SEU_KV_NAMESPACE_ID`) substituídos pelos IDs reais da conta Cloudflare
|
|
275
|
+
- D1: `SEU_DATABASE_ID`
|
|
276
|
+
- KV: `SEU_KV_ID`
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 🏗️ ARQUITETURA QUANTUM ENTERPRISE (CLOUDFLARE NATIVE)
|
|
281
|
+
|
|
282
|
+
```mermaid
|
|
283
|
+
graph TD
|
|
284
|
+
User((Usuário)) -->|Interação| SDK[cdpTrack SDK + Behavior Engine]
|
|
285
|
+
SDK -->|Edge Fetch 1ª via KV blocklist| FraudGate{🛡️ Fraud Gate}
|
|
286
|
+
FraudGate -->|score ≥ 80: Silent Drop 200| Void[/dev/null]
|
|
287
|
+
FraudGate -->|score < 80: Permitido| Worker[Cloudflare Worker Agent]
|
|
288
|
+
Worker -->|Identity Graph + _cdp_uid| D1[(D1 SQL — 21 tabelas)]
|
|
289
|
+
Worker -->|LTV + A/B Prompt| AI[Workers AI Granite 4.0 Micro]
|
|
290
|
+
Worker -->|Segmento ML| Cluster[ML Clustering Engine]
|
|
291
|
+
Cluster -->|Bid otimizado| Bidding[Bidding Recommendations]
|
|
292
|
+
Worker -->|Background| Queue[Cloudflare Queues]
|
|
293
|
+
Queue -->|Server Dispatch| Meta[Meta CAPI v22.0]
|
|
294
|
+
Queue -->|Server Dispatch| Google[GA4 / Google Ads]
|
|
295
|
+
Queue -->|Server Dispatch| TikTok[TikTok API v1.3]
|
|
296
|
+
D1 -->|Reports| Dash[Dashboard Agent]
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## 🧠 CATÁLOGO DE AGENTES ESPECIALISTAS
|
|
302
|
+
|
|
303
|
+
O sistema é composto por **43+ agentes** coordenados pelo **Master Orchestrator**:
|
|
304
|
+
|
|
305
|
+
### 🧠 Núcleo de Inteligência
|
|
306
|
+
| Agente | Função |
|
|
307
|
+
|---|---|
|
|
308
|
+
| **Master Orchestrator** | Coordenação central — guia todo o setup do projeto |
|
|
309
|
+
| **Page Analyzer** | Mapeamento automático de CTAs, Forms e nicho do site |
|
|
310
|
+
| **Validator Agent** | Auditoria de código, segurança e conformidade de APIs |
|
|
311
|
+
| **Memory Agent** | Contexto e checkpoints da sessão por projeto |
|
|
312
|
+
| **Intelligence Agent** | Monitoramento de versões de API (Meta v22.0+, etc) |
|
|
313
|
+
|
|
314
|
+
### 🚀 Plataformas de Anúncio
|
|
315
|
+
| Agente | Especialidade |
|
|
316
|
+
|---|---|
|
|
317
|
+
| **Meta Agent** | Facebook Pixel + CAPI v22.0 + WhatsApp CTWA |
|
|
318
|
+
| **Google Agent** | GA4 + Google Ads Enhanced Conversions |
|
|
319
|
+
| **TikTok Agent** | TikTok Pixel + Events API v1.3 |
|
|
320
|
+
| **LinkedIn Agent** | Insight Tag + Conversions API v2 |
|
|
321
|
+
| **Pinterest Agent** | Tag + Conversions API v5 |
|
|
322
|
+
| **Reddit Agent** | Pixel + Conversions API v2.0 |
|
|
323
|
+
| **Spotify Agent** | Pixel + Conversions API v1 |
|
|
324
|
+
| **Bing Agent** | UET Tag + Enhanced Conversions |
|
|
325
|
+
|
|
326
|
+
### 🤖 Enterprise Intelligence (Fase 1–4)
|
|
327
|
+
| Agente | Endpoint Principal | Impacto |
|
|
328
|
+
|---|---|---|
|
|
329
|
+
| **ML Clustering Agent** | `POST /api/segmentation/cluster` | K-means vetorial real (bge-m3 embeddings + Granite naming) |
|
|
330
|
+
| **Bidding Agent** | `POST /api/bidding/recommend` | -20% CPA via bid por segmento de LTV |
|
|
331
|
+
| **A/B LTV Agent** | `POST /api/ltv/ab-test/create` | +25% precisão LTV via test de prompts |
|
|
332
|
+
| **Fraud Detection Agent** | Auto em `/track` | Bloqueia click fraud, bots, velocity attacks |
|
|
333
|
+
|
|
334
|
+
### 🛡️ Módulos Enterprise
|
|
335
|
+
| Agente | Função |
|
|
336
|
+
|---|---|
|
|
337
|
+
| **Attribution Agent** | Atribuição Multi-Touch de alta fidelidade |
|
|
338
|
+
| **Security Agent** | Rate Limiting, AES-256 e Bot Defense |
|
|
339
|
+
| **Compliance Agent** | LGPD e GDPR (Consent Mode v2) |
|
|
340
|
+
| **Performance Agent** | Otimização de caches e queries D1 |
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 📊 BANCO DE DADOS D1 — 21 Tabelas
|
|
345
|
+
|
|
346
|
+
```
|
|
347
|
+
CORE TRACKING ML & INTELLIGENCE ENTERPRISE SECURITY
|
|
348
|
+
───────────────── ───────────────────── ─────────────────────
|
|
349
|
+
leads ml_segments fraud_signals
|
|
350
|
+
events ml_segment_members fraud_alerts
|
|
351
|
+
sessions bid_recommendations ltv_ab_tests
|
|
352
|
+
webhook_events ltv_ab_tests ltv_ab_variations
|
|
353
|
+
api_failures ltv_ab_variations ltv_ab_assignments
|
|
354
|
+
|
|
355
|
+
VIEWS
|
|
356
|
+
─────────────────────────────────────────────────
|
|
357
|
+
v_active_segments → Segmentos ML ativos com contagem de membros
|
|
358
|
+
v_active_bid_recs → Bids ativos por plataforma/vertical
|
|
359
|
+
v_ab_test_performance → Accuracy por variação de prompt
|
|
360
|
+
v_fraud_dashboard → Dashboard fraude 24h
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 🔄 FLUXO ENTERPRISE COMPLETO
|
|
366
|
+
|
|
367
|
+
```
|
|
368
|
+
POST /track (evento Lead)
|
|
369
|
+
│
|
|
370
|
+
├─ [1] 🛡️ Fraud Gate (KV blocklist + velocity + heurísticas) ~2ms
|
|
371
|
+
│ ├─ score < 40 → processa normalmente
|
|
372
|
+
│ ├─ score 40-79 → processa + loga suspeito (background)
|
|
373
|
+
│ └─ score ≥ 80 → silent drop 200 + loga (background)
|
|
374
|
+
│
|
|
375
|
+
├─ [2] 🔮 A/B LTV Testing — sorteia variação ativa (KV cache ~0ms)
|
|
376
|
+
│ └─ passa customSystemPrompt para predictLtv()
|
|
377
|
+
│
|
|
378
|
+
├─ [3] 🧮 LTV Prediction — Workers AI Granite 4.0 Micro
|
|
379
|
+
│ └─ Score 0-100 → class High/Medium/Low → valor em BRL
|
|
380
|
+
│
|
|
381
|
+
├─ [4] 💾 D1 Writes (background via ctx.waitUntil)
|
|
382
|
+
│ ├─ upsertLtvProfile() → tabela leads
|
|
383
|
+
│ ├─ recordAbAssignment() → ltv_ab_assignments
|
|
384
|
+
│ └─ resolveDeviceGraph() → cross-device linking
|
|
385
|
+
│
|
|
386
|
+
└─ [5] 📡 CAPI dispatch (Meta + GA4 + TikTok em paralelo)
|
|
387
|
+
└─ com LTV injetado no value field
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## 💻 INSTALAÇÃO E USO
|
|
393
|
+
|
|
394
|
+
### OPÇÃO 1 — Instalação via npm (Recomendada)
|
|
395
|
+
|
|
396
|
+
Abra o terminal dentro da pasta do projeto do cliente e rode:
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
npx cdp-edge install
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Ou instale globalmente e use em qualquer projeto:
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
npm install -g cdp-edge
|
|
406
|
+
cdp-edge install . --name "Nome do Projeto"
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
> **Já tem o CDP Edge instalado globalmente?** Atualize para a versão mais recente:
|
|
410
|
+
> ```bash
|
|
411
|
+
> npm install -g cdp-edge@latest
|
|
412
|
+
> ```
|
|
413
|
+
|
|
414
|
+
### OPÇÃO 2 — Instalação via Git Clone
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
git clone https://github.com/ricardosoli777/CDP-Edge-Premium.git .
|
|
418
|
+
```
|
|
419
|
+
*(O ponto no final garante que os arquivos desçam diretamente dentro da pasta atual).*
|
|
420
|
+
|
|
421
|
+
### Ativar no Claude Code
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
claude .
|
|
425
|
+
```
|
|
426
|
+
Dentro do Claude Code:
|
|
427
|
+
```
|
|
428
|
+
/cdp
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## 🚀 DEPLOY COMPLETO (referência)
|
|
434
|
+
|
|
435
|
+
```bash
|
|
436
|
+
cd server-edge-tracker
|
|
437
|
+
|
|
438
|
+
# 1. Schemas D1 (todos em sequência)
|
|
439
|
+
wrangler d1 execute cdp-edge-db --file=schema.sql --remote
|
|
440
|
+
wrangler d1 execute cdp-edge-db --file=migrate-v6.sql --remote
|
|
441
|
+
wrangler d1 execute cdp-edge-db --file=schema-segmentation.sql --remote # Fase 1
|
|
442
|
+
wrangler d1 execute cdp-edge-db --file=schema-bidding.sql --remote # Fase 2
|
|
443
|
+
wrangler d1 execute cdp-edge-db --file=schema-ab-ltv.sql --remote # Fase 3
|
|
444
|
+
wrangler d1 execute cdp-edge-db --file=schema-fraud.sql --remote # Fase 4
|
|
445
|
+
|
|
446
|
+
# 2. Secrets
|
|
447
|
+
wrangler secret put META_ACCESS_TOKEN
|
|
448
|
+
wrangler secret put GA4_API_SECRET
|
|
449
|
+
wrangler secret put TIKTOK_ACCESS_TOKEN
|
|
450
|
+
|
|
451
|
+
# 3. Deploy
|
|
452
|
+
wrangler deploy
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
## 🗺️ NAVEGANDO O CÓDIGO COM GRAPHIFY
|
|
458
|
+
|
|
459
|
+
O **graphify** gera um mapa de conhecimento navegável do projeto (nós, arestas, comunidades). Antes de qualquer trabalho de código:
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
# 1. Verifique se o grafo existe
|
|
463
|
+
ls graphify-out/GRAPH_REPORT.md
|
|
464
|
+
|
|
465
|
+
# 2. Se não existe ou está desatualizado, gere:
|
|
466
|
+
/graphify .
|
|
467
|
+
|
|
468
|
+
# 3. Navegue o grafo para entender arquitetura
|
|
469
|
+
/graphify query "como funciona o fraud gate?"
|
|
470
|
+
/graphify query "identity graph → ltv prediction"
|
|
471
|
+
/graphify path "cdp_uid" "cloudflare d1"
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### O que o grafo fornece
|
|
475
|
+
|
|
476
|
+
- **God Nodes**: abstrações centrais (D1, Meta CAPI v22.0, Intelligence Agent, ML Clustering)
|
|
477
|
+
- **65 comunidades**: grupos lógicos (Multi-Platform Agent Layer, ML Bidding, Browser SDK, etc.)
|
|
478
|
+
- **Surprising Connections**: relações inferidas entre conceitos que você não sabia que eram similares
|
|
479
|
+
- **Redução de custo**: navegar grafo = até 40% menos tokens vs. ler arquivos brutos
|
|
480
|
+
|
|
481
|
+
### Exemplo de uso
|
|
482
|
+
|
|
483
|
+
**❌ Não faça:**
|
|
484
|
+
> "Ler 50 arquivos para entender como o fraud gate conecta com o LTV predictor"
|
|
485
|
+
|
|
486
|
+
**✅ Faça:**
|
|
487
|
+
> `/graphify query "fraud gate → ltv predictor"` — resposta instantânea com caminho completo, arquivos fonte e nível de confiança
|
|
488
|
+
|
|
489
|
+
O grafo fica atualizado automaticamente após cada `git commit` (via hook).
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
## 🖱️ HUMAN-BEHAVIOR ENGINE
|
|
494
|
+
|
|
495
|
+
| Evento | Pontuação |
|
|
496
|
+
|--------|-----------|
|
|
497
|
+
| Scroll 25–90% | +5 a +15 pts |
|
|
498
|
+
| VSL Watch 25–100% | +10 a +50 pts |
|
|
499
|
+
| Copy Intent (cupom, PIX) | +20 pts |
|
|
500
|
+
| Preenchimento de campo | +10 pts |
|
|
501
|
+
| Rage Click | -10 pts |
|
|
502
|
+
| **Hot Lead (80+ pts)** | **Dispara High_Intent_Lead** |
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## 📋 TODOS OS ENDPOINTS (referência rápida)
|
|
507
|
+
|
|
508
|
+
### Core Tracking
|
|
509
|
+
| Rota | Método | Função |
|
|
510
|
+
|---|---|---|
|
|
511
|
+
| `/track` | POST | Evento principal (browser → CAPI) |
|
|
512
|
+
| `/health` | GET | Smoke test completo |
|
|
513
|
+
| `/webhook/ticto` | POST | Webhook Ticto Purchase |
|
|
514
|
+
|
|
515
|
+
### Intelligence ML
|
|
516
|
+
| Rota | Método | Função |
|
|
517
|
+
|---|---|---|
|
|
518
|
+
| `/api/segmentation/cluster` | POST | Clustering K-means/DBSCAN |
|
|
519
|
+
| `/api/segmentation/list` | GET | Segmentos ativos |
|
|
520
|
+
| `/api/segmentation/outliers` | GET | Outliers comportamentais |
|
|
521
|
+
| `/api/bidding/recommend` | POST | Bid otimizado por segmento |
|
|
522
|
+
| `/api/bidding/history` | GET | Histórico de bids |
|
|
523
|
+
| `/api/bidding/status` | GET | Status por plataforma |
|
|
524
|
+
|
|
525
|
+
### A/B Testing LTV
|
|
526
|
+
| Rota | Método | Função |
|
|
527
|
+
|---|---|---|
|
|
528
|
+
| `/api/ltv/ab-test/create` | POST | Criar experimento |
|
|
529
|
+
| `/api/ltv/ab-test/list` | GET | Listar experimentos |
|
|
530
|
+
| `/api/ltv/ab-test/results` | GET | Accuracy por variação |
|
|
531
|
+
| `/api/ltv/ab-test/winner` | POST | Declarar vencedor |
|
|
532
|
+
|
|
533
|
+
### Fraud Detection
|
|
534
|
+
| Rota | Método | Função |
|
|
535
|
+
|---|---|---|
|
|
536
|
+
| `/api/fraud/stats` | GET | Dashboard 24h |
|
|
537
|
+
| `/api/fraud/alerts` | GET | Log de alertas |
|
|
538
|
+
| `/api/fraud/blocklist` | GET | Lista bloqueada |
|
|
539
|
+
| `/api/fraud/blocklist/add` | POST | Bloquear IP/fingerprint |
|
|
540
|
+
| `/api/fraud/blocklist/remove` | DELETE | Desbloquear |
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
## 📞 SUPORTE
|
|
545
|
+
|
|
546
|
+
- **Issues**: https://github.com/ricardosoli777/CDP-Edge-Premium/issues
|
|
547
|
+
- **Releases**: https://github.com/ricardosoli777/CDP-Edge-Premium/releases
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
### **CDP Edge — By Rica Soares**
|
|
552
|
+
> "Dados sem inteligência são apenas ruído. No Quantum Tier Enterprise, transformamos dados em ROAS."
|
|
553
|
+
|
|
554
|
+
© 2026 CDP Edge Premium. Todos os direitos reservados.
|