@adatechnology/meta-whatsapp-module 0.2.0-rc.19 → 0.2.0-rc.20

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/dist/index.d.cts CHANGED
@@ -2336,11 +2336,13 @@ type ReceiveWebhookResult = {
2336
2336
  duplicate: boolean;
2337
2337
  messagesProcessed: number;
2338
2338
  statusesProcessed: number;
2339
+ ignoredForeignNumber: number;
2339
2340
  };
2340
2341
  declare class ReceiveWebhookUseCase {
2341
2342
  private readonly params;
2342
2343
  constructor(params: {
2343
2344
  appSecret: string;
2345
+ phoneNumberId: string;
2344
2346
  nonceStore: NonceStoreInterface;
2345
2347
  sessionRepository: SessionRepository;
2346
2348
  messageRepository: MessageRepository;
package/dist/index.d.ts CHANGED
@@ -2336,11 +2336,13 @@ type ReceiveWebhookResult = {
2336
2336
  duplicate: boolean;
2337
2337
  messagesProcessed: number;
2338
2338
  statusesProcessed: number;
2339
+ ignoredForeignNumber: number;
2339
2340
  };
2340
2341
  declare class ReceiveWebhookUseCase {
2341
2342
  private readonly params;
2342
2343
  constructor(params: {
2343
2344
  appSecret: string;
2345
+ phoneNumberId: string;
2344
2346
  nonceStore: NonceStoreInterface;
2345
2347
  sessionRepository: SessionRepository;
2346
2348
  messageRepository: MessageRepository;
package/dist/index.js CHANGED
@@ -2338,14 +2338,21 @@ var ReceiveWebhookUseCase = class {
2338
2338
  if (!claimed) return {
2339
2339
  duplicate: true,
2340
2340
  messagesProcessed: 0,
2341
- statusesProcessed: 0
2341
+ statusesProcessed: 0,
2342
+ ignoredForeignNumber: 0
2342
2343
  };
2343
2344
  const rawText = typeof input.rawBody === "string" ? input.rawBody : input.rawBody.toString("utf8");
2344
2345
  const payload = whatsAppWebhookPayloadSchema.parse(JSON.parse(rawText));
2345
2346
  let messagesProcessed = 0;
2346
2347
  let statusesProcessed = 0;
2348
+ let ignoredForeignNumber = 0;
2347
2349
  for (const entry of payload.entry) {
2348
2350
  for (const change of entry.changes) {
2351
+ const targetNumber = change.value.metadata?.phone_number_id;
2352
+ if (targetNumber && targetNumber !== this.params.phoneNumberId) {
2353
+ ignoredForeignNumber++;
2354
+ continue;
2355
+ }
2349
2356
  for (const message of change.value.messages ?? []) {
2350
2357
  await this.handleMessage(input.companyId, message);
2351
2358
  messagesProcessed++;
@@ -2359,7 +2366,8 @@ var ReceiveWebhookUseCase = class {
2359
2366
  return {
2360
2367
  duplicate: false,
2361
2368
  messagesProcessed,
2362
- statusesProcessed
2369
+ statusesProcessed,
2370
+ ignoredForeignNumber
2363
2371
  };
2364
2372
  }
2365
2373
  async handleMessage(companyId, message) {
@@ -2482,6 +2490,7 @@ function createMetaWhatsAppModule(params) {
2482
2490
  const sendMessage = new SendMessageUseCase(channel, sessionRepository, logMessage, providers.objectStorage, documentRepository);
2483
2491
  const receiveWebhook = new ReceiveWebhookUseCase({
2484
2492
  appSecret: config.appSecret,
2493
+ phoneNumberId: config.phoneNumberId,
2485
2494
  nonceStore,
2486
2495
  sessionRepository,
2487
2496
  messageRepository,