cdp-edge 1.24.1 → 1.24.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cdp-edge",
3
- "version": "1.24.1",
3
+ "version": "1.24.2",
4
4
  "description": "CDP Edge - Quantum Tracking - Sistema multi-agente para tracking digital Cloudflare Native (Workers + D1)",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -218,8 +218,8 @@ export default {
218
218
  META_ACCESS_TOKEN: env.META_ACCESS_TOKEN ? 'set' : 'MISSING',
219
219
  GA4_API_SECRET: env.GA4_API_SECRET ? 'set' : 'MISSING',
220
220
  WA_WEBHOOK_VERIFY_TOKEN: env.WA_WEBHOOK_VERIFY_TOKEN ? 'set' : 'MISSING',
221
- WHATSAPP_ACCESS_TOKEN: env.WHATSAPP_ACCESS_TOKEN ? 'set' : 'not set (optional - only for auto-reply)',
222
- WHATSAPP_PHONE_NUMBER_ID: env.WHATSAPP_PHONE_NUMBER_ID ? 'set' : 'not set (optional - only for auto-reply)',
221
+ WHATSAPP_ACCESS_TOKEN: (env.WHATSAPP_ACCESS_TOKEN || env.WA_ACCESS_TOKEN) ? 'set' : 'not set (optional - only for auto-reply)',
222
+ WHATSAPP_PHONE_NUMBER_ID: (env.WHATSAPP_PHONE_NUMBER_ID || env.WA_PHONE_ID) ? 'set' : 'not set (optional - only for auto-reply)',
223
223
  WA_NOTIFY_NUMBER: env.WA_NOTIFY_NUMBER ? 'set' : 'not set (optional - only for auto-reply)',
224
224
  TIKTOK_ACCESS_TOKEN: env.TIKTOK_ACCESS_TOKEN ? 'set' : 'not set (optional)',
225
225
  CALLMEBOT_PHONE: env.CALLMEBOT_PHONE ? 'set' : 'not set (optional)',
@@ -40,9 +40,19 @@ interface WhatsAppMessage {
40
40
  };
41
41
  }
42
42
 
43
+ // ── Resolvedores de secrets (canônico + legado) ────────────────────────────────
44
+ // Meta Cloud API v22.0 usa PHONE_NUMBER_ID e ACCESS_TOKEN como termos oficiais.
45
+ // Suportamos ambos os nomes para compatibilidade com secrets já configurados.
46
+ function resolvePhoneNumberId(env: Env): string | undefined {
47
+ return env.WHATSAPP_PHONE_NUMBER_ID || env.WA_PHONE_ID;
48
+ }
49
+ function resolveAccessToken(env: Env): string | undefined {
50
+ return env.WHATSAPP_ACCESS_TOKEN || env.WA_ACCESS_TOKEN;
51
+ }
52
+
43
53
  // ── sendWhatsApp — envia mensagem via Meta Cloud API ──────────────────────────
44
54
  export async function sendWhatsApp(env: Env, tipo: string, payload: TrackPayload, options: WhatsAppOptions = {}): Promise<any> {
45
- if (!env.WHATSAPP_PHONE_NUMBER_ID || !env.WHATSAPP_ACCESS_TOKEN || !env.WA_NOTIFY_NUMBER) {
55
+ if (!resolvePhoneNumberId(env) || !resolveAccessToken(env) || !env.WA_NOTIFY_NUMBER) {
46
56
  return { skipped: 'WhatsApp não configurado' };
47
57
  }
48
58
 
@@ -116,9 +126,11 @@ export async function sendWhatsApp(env: Env, tipo: string, payload: TrackPayload
116
126
  // ── _sendWARequest — executor interno ─────────────────────────────────────────
117
127
  async function _sendWARequest(env: Env, body: Record<string, any>): Promise<any> {
118
128
  try {
119
- const res = await fetch(`https://graph.facebook.com/v22.0/${env.WHATSAPP_PHONE_NUMBER_ID}/messages`, {
129
+ const phoneNumberId = resolvePhoneNumberId(env);
130
+ const accessToken = resolveAccessToken(env);
131
+ const res = await fetch(`https://graph.facebook.com/v22.0/${phoneNumberId}/messages`, {
120
132
  method: 'POST',
121
- headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${env.WHATSAPP_ACCESS_TOKEN}` },
133
+ headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${accessToken}` },
122
134
  body: JSON.stringify(body),
123
135
  });
124
136
  const data = await res.json();
@@ -33,8 +33,12 @@ export interface Env {
33
33
  GA4_API_SECRET?: string;
34
34
  TIKTOK_ACCESS_TOKEN?: string;
35
35
  WA_WEBHOOK_VERIFY_TOKEN?: string;
36
- WHATSAPP_ACCESS_TOKEN?: string;
37
- WHATSAPP_PHONE_NUMBER_ID?: string;
36
+ // WhatsApp Cloud API — nomes canônicos (Meta Cloud API v22.0)
37
+ WHATSAPP_ACCESS_TOKEN?: string; // canonical: Bearer token do System User
38
+ WHATSAPP_PHONE_NUMBER_ID?: string; // canonical: ID numérico do número no Meta Business
39
+ // WhatsApp Cloud API — nomes legados (backwards compat)
40
+ WA_ACCESS_TOKEN?: string;
41
+ WA_PHONE_ID?: string;
38
42
  WA_NOTIFY_NUMBER?: string;
39
43
  CALLMEBOT_PHONE?: string;
40
44
  WEBHOOK_SECRET_TICTO?: string;