meta-cloud-api 3.2.0 → 3.4.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.
package/dist/index.d.mts CHANGED
@@ -3,13 +3,27 @@ import { IncomingHttpHeaders, IncomingMessage } from "node:http";
3
3
 
4
4
  //#region src/types/enums.d.ts
5
5
  declare namespace enums_d_exports {
6
- export { AudioMediaTypesEnum, BusinessVerticalEnum, ButtonPositionEnum, CategoryEnum, ComponentTypesEnum, ConversationTypesEnum, CurrencyCodesEnum, DataLocalizationRegionEnum, DocumentMediaTypesEnum, HttpMethodsEnum, ImageMediaTypesEnum, InteractiveTypesEnum, LanguagesEnum, MessageTypesEnum, ParametersTypesEnum, ReferralSourceTypesEnum, RequestCodeMethodsEnum, StatusEnum, StickerMediaTypesEnum, SubTypeEnum, SystemChangeTypesEnum, TemplateStatusEnum, VideoMediaTypesEnum, WabaConfigEnum, WebhookTypesEnum };
6
+ export { AudioMediaTypesEnum, BusinessVerticalEnum, ButtonPositionEnum, CategoryEnum, ComponentTypesEnum, ConversationTypesEnum, CurrencyCodesEnum, DataLocalizationRegionEnum, DocumentMediaTypesEnum, HttpMethodsEnum, ImageMediaTypesEnum, InteractiveTypesEnum, LanguagesEnum, MessageCategoryEnum, MessageTypesEnum, ParametersTypesEnum, ReferralSourceTypesEnum, RequestCodeMethodsEnum, StatusEnum, StickerMediaTypesEnum, SubTypeEnum, SystemChangeTypesEnum, TemplateStatusEnum, VideoMediaTypesEnum, WabaConfigEnum, WebhookTypesEnum };
7
7
  }
8
8
  declare enum CategoryEnum {
9
9
  Authentication = "AUTHENTICATION",
10
10
  Marketing = "MARKETING",
11
11
  Utility = "UTILITY"
12
12
  }
13
+ /**
14
+ * Direct Send message categories, sent as the top-level `category` field on
15
+ * `POST /{PHONE_NUMBER_ID}/messages`.
16
+ *
17
+ * Omitting the field is equivalent to `Service` and keeps the existing
18
+ * free-form send behavior (outside Direct Send).
19
+ *
20
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/send-utility-and-authentication-messages | Direct Send}
21
+ */
22
+ declare enum MessageCategoryEnum {
23
+ Authentication = "authentication",
24
+ Service = "service",
25
+ Utility = "utility"
26
+ }
13
27
  declare enum TemplateStatusEnum {
14
28
  Approved = "APPROVED",
15
29
  Pending = "PENDING",
@@ -76,7 +90,8 @@ declare enum InteractiveTypesEnum {
76
90
  Carousel = "carousel",
77
91
  LocationRequest = "location_request_message",
78
92
  AddressMessage = "address_message",
79
- Flow = "flow"
93
+ Flow = "flow",
94
+ VoiceCall = "voice_call"
80
95
  }
81
96
  declare enum ButtonPositionEnum {
82
97
  First = 1,
@@ -172,8 +187,14 @@ declare enum WebhookTypesEnum {
172
187
  Video = "video"
173
188
  }
174
189
  declare enum SystemChangeTypesEnum {
190
+ /** @deprecated Meta renamed this to `user_changed_number`. Use {@link SystemChangeTypesEnum.UserChangedNumber}. */
175
191
  CustomerChangedNumber = "customer_changed_number",
176
- CustomerIdentityChanged = "customer_identity_changed"
192
+ /** @deprecated Meta renamed this to `user_identity_changed`. Use {@link SystemChangeTypesEnum.UserIdentityChanged}. */
193
+ CustomerIdentityChanged = "customer_identity_changed",
194
+ UserChangedNumber = "user_changed_number",
195
+ UserIdentityChanged = "user_identity_changed",
196
+ /** The user's business-scoped user ID (BSUID) changed. */
197
+ UserChangedUserId = "user_changed_user_id"
177
198
  }
178
199
  declare enum ReferralSourceTypesEnum {
179
200
  Ad = "ad",
@@ -1466,6 +1487,74 @@ declare class CommerceApi extends BaseAPI implements CommerceClass {
1466
1487
  updateCommerceSettings(params: UpdateCommerceSettingsRequest): Promise<ResponseSuccess>;
1467
1488
  }
1468
1489
  //#endregion
1490
+ //#region src/api/contactBook/types/contactBook.d.ts
1491
+ /**
1492
+ * Contact Book API Types
1493
+ * @see https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids/
1494
+ */
1495
+ /**
1496
+ * Parameters for deleting a contact book entry.
1497
+ */
1498
+ type DeleteContactBookEntryParams = {
1499
+ /**
1500
+ * Business-scoped user ID whose entry should be removed, in standard BSUID
1501
+ * format (e.g. "US.13491208655302741918").
1502
+ */
1503
+ bsuid: string;
1504
+ };
1505
+ /**
1506
+ * Response for a contact book delete request.
1507
+ */
1508
+ type DeleteContactBookEntryResponse = {
1509
+ messaging_product: 'whatsapp';
1510
+ success?: boolean;
1511
+ deleted?: boolean;
1512
+ };
1513
+ interface ContactBookClass {
1514
+ deleteEntry(params: DeleteContactBookEntryParams): Promise<DeleteContactBookEntryResponse>;
1515
+ }
1516
+ //#endregion
1517
+ //#region src/api/contactBook/ContactBookApi.d.ts
1518
+ /**
1519
+ * API for the Meta-hosted contact book.
1520
+ *
1521
+ * The contact book pairs a WhatsApp user's phone number with their
1522
+ * business-scoped user ID (BSUID). Meta populates it automatically: any message
1523
+ * or call between a business phone number in your portfolio and a user stores
1524
+ * that pairing, which is why webhooks keep including the phone number even after
1525
+ * the user adopts a username. It is scoped to the business portfolio, not to a
1526
+ * single phone number, and only captures interactions from early April 2026
1527
+ * onward — there is no historical backfill.
1528
+ *
1529
+ * Endpoints covered:
1530
+ * - `DELETE /{PHONE_NUMBER_ID}/contact_book` - Delete a user's contact book entry
1531
+ *
1532
+ * @see https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids/
1533
+ */
1534
+ declare class ContactBookApi extends BaseAPI implements ContactBookClass {
1535
+ private readonly endpoint;
1536
+ /**
1537
+ * Delete a user's entry from your contact book.
1538
+ *
1539
+ * Once deleted, the user's phone number and BSUID are no longer included in
1540
+ * webhook payloads for any business phone number in the portfolio — unless
1541
+ * the number is still in the 30-day cache, or a new interaction recreates the
1542
+ * entry.
1543
+ *
1544
+ * @param params - Delete parameters.
1545
+ * @param params.bsuid - BSUID of the entry to delete (e.g. "US.13491208655302741918").
1546
+ * @returns Response reporting whether the entry was deleted.
1547
+ * @see https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids/
1548
+ *
1549
+ * @example
1550
+ * ```typescript
1551
+ * const result = await client.contactBook.deleteEntry({ bsuid: 'US.13491208655302741918' });
1552
+ * console.log(result.deleted);
1553
+ * ```
1554
+ */
1555
+ deleteEntry(params: DeleteContactBookEntryParams): Promise<DeleteContactBookEntryResponse>;
1556
+ }
1557
+ //#endregion
1469
1558
  //#region src/api/encryption/types/publicKey.d.ts
1470
1559
  type EncryptionPublicKeyResponse = ResponseData<{
1471
1560
  business_public_key: string;
@@ -1906,6 +1995,32 @@ type CallPermissionRequestInteractiveObject = {
1906
1995
  header?: HeaderObject;
1907
1996
  action: CallPermissionRequestActionObject;
1908
1997
  };
1998
+ type VoiceCallParameters = {
1999
+ /** Button label. Maximum 20 characters. Defaults to "Call on WhatsApp" when omitted. */display_text?: string; /** Active duration in minutes, 1 to 43200 (30 days). Defaults to 10080 (7 days). */
2000
+ ttl_minutes?: number;
2001
+ };
2002
+ type VoiceCallActionObject = {
2003
+ name: 'voice_call';
2004
+ parameters?: VoiceCallParameters;
2005
+ };
2006
+ /**
2007
+ * "Call on WhatsApp" voice call button, a Direct Send interactive type.
2008
+ *
2009
+ * Send it on its own with a top-level `category: 'utility'`; it cannot be combined
2010
+ * with CTA URL or reply buttons, and footers are not allowed. Calling must be
2011
+ * enabled on the business phone number first, otherwise the send fails with
2012
+ * error `138000`.
2013
+ *
2014
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/supported-message-types | Direct Send supported message types}
2015
+ */
2016
+ type VoiceCallInteractiveObject = {
2017
+ type: InteractiveTypesEnum.VoiceCall | 'voice_call';
2018
+ body: SimpleTextObject; /** Text header only, maximum 60 characters. */
2019
+ header?: HeaderObject & {
2020
+ type: 'text';
2021
+ };
2022
+ action: VoiceCallActionObject;
2023
+ };
1909
2024
  type CtaUrlParameters = {
1910
2025
  display_text: string;
1911
2026
  url: string;
@@ -2034,7 +2149,7 @@ type CarouselInteractiveObject = {
2034
2149
  body: SimpleTextObject;
2035
2150
  action: CarouselActionObject;
2036
2151
  };
2037
- type InteractiveObject = ButtonInteractiveObject | ListInteractiveObject | ProductInteractiveObject | ProductListInteractiveObject | CatalogMessageInteractiveObject | CallPermissionRequestInteractiveObject | CtaUrlInteractiveObject | CarouselInteractiveObject | LocationRequestInteractiveObject | AddressMessageInteractiveObject | FlowInteractiveObject;
2152
+ type InteractiveObject = ButtonInteractiveObject | ListInteractiveObject | ProductInteractiveObject | ProductListInteractiveObject | CatalogMessageInteractiveObject | CallPermissionRequestInteractiveObject | CtaUrlInteractiveObject | VoiceCallInteractiveObject | CarouselInteractiveObject | LocationRequestInteractiveObject | AddressMessageInteractiveObject | FlowInteractiveObject;
2038
2153
  //#endregion
2039
2154
  //#region src/api/messages/types/reaction.d.ts
2040
2155
  interface ReactionParams {
@@ -2065,17 +2180,54 @@ type ConTextObject = {
2065
2180
  message_id: string;
2066
2181
  };
2067
2182
  type MessageRecipientType = 'individual' | 'group';
2183
+ /**
2184
+ * Category of a Direct Send message. Omitting it is equivalent to `'service'`
2185
+ * and keeps the existing free-form Cloud API send behavior.
2186
+ *
2187
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/send-utility-and-authentication-messages | Direct Send}
2188
+ */
2189
+ type DirectSendCategory = MessageCategoryEnum | 'authentication' | 'service' | 'utility';
2190
+ /**
2191
+ * Optional Direct Send configuration.
2192
+ *
2193
+ * Supplying `template_name` makes message-to-template attribution predictable:
2194
+ * Direct Send creates or reuses a template with that exact name instead of
2195
+ * auto-matching. Supported for `category: 'utility'` only.
2196
+ *
2197
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/business-named-templates | Business-named templates}
2198
+ */
2199
+ type DirectSendConfig = {
2200
+ /**
2201
+ * Unique template name within the WABA.
2202
+ * Lowercase alphanumeric characters and underscores only (`^[a-z0-9_]+$`), max 512 characters.
2203
+ */
2204
+ template_name?: string;
2205
+ };
2206
+ /** Direct Send options accepted by `MessagesApi.bodyBuilder`. */
2207
+ type DirectSendOptions = {
2208
+ category?: DirectSendCategory;
2209
+ directSendConfig?: DirectSendConfig;
2210
+ };
2068
2211
  type MessageRequestBody<T extends MessageTypesEnum> = GeneralMessageBody & {
2069
2212
  recipient_type?: MessageRecipientType;
2070
2213
  to: string;
2071
2214
  context?: ConTextObject;
2072
2215
  type?: T;
2216
+ category?: DirectSendCategory;
2217
+ direct_send_config?: DirectSendConfig;
2073
2218
  };
2074
2219
  interface MessageRequestParams<T> {
2075
2220
  body: T;
2076
2221
  to: string;
2077
2222
  recipientType?: MessageRecipientType;
2078
2223
  replyMessageId?: string;
2224
+ /**
2225
+ * Direct Send category. Set to `'utility'` or `'authentication'` to send a
2226
+ * business-initiated message without a pre-approved template.
2227
+ */
2228
+ category?: DirectSendCategory;
2229
+ /** Direct Send configuration, applied only when {@link MessageRequestParams.category} is set. */
2230
+ directSendConfig?: DirectSendConfig;
2079
2231
  }
2080
2232
  interface StatusParams {
2081
2233
  status: StatusObject['status'];
@@ -2116,6 +2268,9 @@ declare class MessagesClass extends BaseClass {
2116
2268
  interactiveCtaUrl(params: MessageRequestParams<InteractiveObject & {
2117
2269
  type: InteractiveTypesEnum.CtaUrl;
2118
2270
  }>): Promise<MessagesResponse>;
2271
+ interactiveVoiceCall(params: MessageRequestParams<InteractiveObject & {
2272
+ type: InteractiveTypesEnum.VoiceCall;
2273
+ }>): Promise<MessagesResponse>;
2119
2274
  interactiveLocationRequest(params: MessageRequestParams<InteractiveObject & {
2120
2275
  type: InteractiveTypesEnum.LocationRequest;
2121
2276
  }>): Promise<MessagesResponse>;
@@ -2148,7 +2303,19 @@ declare class MessagesClass extends BaseClass {
2148
2303
  * @see https://developers.facebook.com/documentation/business-messaging/whatsapp/marketing-messages/send-marketing-messages/
2149
2304
  */
2150
2305
  type MarketingMessageRequest = {
2151
- to: string;
2306
+ /**
2307
+ * WhatsApp user phone number. Omit when addressing the user by `recipient`
2308
+ * (BSUID) instead.
2309
+ */
2310
+ to?: string;
2311
+ /**
2312
+ * Business-scoped user ID (BSUID) or parent BSUID of the recipient, used in
2313
+ * place of `to` for individual messages.
2314
+ *
2315
+ * Templates carrying `bid_spec` (max price) cannot be sent to a BSUID
2316
+ * recipient — that combination fails with error `131062`.
2317
+ */
2318
+ recipient?: string;
2152
2319
  template: MessageTemplateObject<ComponentTypesEnum>;
2153
2320
  message_activity_sharing?: boolean;
2154
2321
  product_policy?: 'CLOUD_API_FALLBACK' | 'STRICT';
@@ -2845,11 +3012,31 @@ type ProductCarouselCard = {
2845
3012
  components: TemplateHeader[];
2846
3013
  };
2847
3014
  type ComponentTypes = TemplateHeader | TemplateBody | TemplateFooter | TemplateButtons | TemplateLimitedTimeOffer | TemplateCarousel;
3015
+ /**
3016
+ * Max price ("bid") configuration for a marketing template.
3017
+ *
3018
+ * Max price is set per template, and templates carrying it must be sent through
3019
+ * the Marketing Messages API (`POST /{PHONE_NUMBER_ID}/marketing_messages`).
3020
+ * Sending one through the Cloud API `/messages` endpoint fails with error
3021
+ * `131061`; sending one to a BSUID recipient fails with error `131062`.
3022
+ * Omitting `bid_spec` leaves the template on standard rate card pricing.
3023
+ *
3024
+ * @see https://developers.facebook.com/documentation/business-messaging/whatsapp/marketing-messages/send-marketing-messages/
3025
+ */
3026
+ type TemplateBidSpec = {
3027
+ /**
3028
+ * Maximum price per 1,000 message deliveries, in the smallest unit of the
3029
+ * WABA's currency. Multiply the desired per-delivery price by 1,000 after
3030
+ * converting it to the smallest unit.
3031
+ */
3032
+ bid_amount: number;
3033
+ };
2848
3034
  type TemplateRequestBody = GeneralRequestBody & {
2849
3035
  name: string;
2850
3036
  language: LanguagesEnum;
2851
3037
  category?: CategoryEnum;
2852
- components?: ComponentTypes[];
3038
+ components?: ComponentTypes[]; /** Max price configuration. Marketing templates only, MM API sends only. */
3039
+ bid_spec?: TemplateBidSpec;
2853
3040
  };
2854
3041
  type TemplateResponse = {
2855
3042
  id: string;
@@ -4172,12 +4359,25 @@ interface OrderMessage extends BaseMessage {
4172
4359
  }>;
4173
4360
  };
4174
4361
  }
4362
+ /**
4363
+ * System message webhook (identity changes).
4364
+ *
4365
+ * - `user_changed_number` — the user's phone number changed; `wa_id` holds the new number.
4366
+ * - `user_identity_changed` — the user's identity (profile) changed.
4367
+ * - `user_changed_user_id` — the user's business-scoped user ID (BSUID) changed;
4368
+ * `user_id` / `parent_user_id` hold the new BSUID / parent BSUID.
4369
+ *
4370
+ * Note: there is no subscribable `user_id_update` webhook field. BSUID changes are
4371
+ * delivered as these `messages` field system messages.
4372
+ */
4175
4373
  interface SystemMessage extends BaseMessage {
4176
4374
  type: MessageTypesEnum.System;
4177
4375
  system: {
4178
- body: string;
4179
- wa_id: string;
4180
- type: 'user_changed_number';
4376
+ /** Human-readable description, e.g. "User A changed from <OLD_BSUID> to <NEW_BSUID>" */body: string; /** New WhatsApp ID of the user */
4377
+ wa_id: string; /** New business-scoped user ID, present for `user_changed_user_id` */
4378
+ user_id?: string; /** New parent business-scoped user ID, present for `user_changed_user_id` */
4379
+ parent_user_id?: string;
4380
+ type: 'user_changed_number' | 'user_identity_changed' | 'user_changed_user_id';
4181
4381
  };
4182
4382
  }
4183
4383
  /**
@@ -4478,6 +4678,48 @@ interface MessageEchoesWebhookValue {
4478
4678
  value: MessageEchoesValue;
4479
4679
  }
4480
4680
  //#endregion
4681
+ //#region src/core/webhook/types/status.d.ts
4682
+ interface StatusWebhook {
4683
+ id: string;
4684
+ status: 'sent' | 'delivered' | 'read' | 'failed';
4685
+ timestamp: string;
4686
+ recipient_id: string;
4687
+ recipient_type?: 'group';
4688
+ recipient_participant_id?: string;
4689
+ recipient_identity_key_hash?: string;
4690
+ biz_opaque_callback_data?: string;
4691
+ /**
4692
+ * ID of the template used to send a Direct Send message.
4693
+ * Present only on statuses for messages sent with a `category` field.
4694
+ *
4695
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/supported-message-types | Direct Send}
4696
+ */
4697
+ template_id?: string;
4698
+ conversation?: {
4699
+ id: string;
4700
+ expiration_timestamp?: string;
4701
+ origin: {
4702
+ type: 'authentication' | 'authentication_international' | 'marketing' | 'marketing_lite' | 'referral_conversion' | 'service' | 'utility';
4703
+ };
4704
+ };
4705
+ pricing?: {
4706
+ billable: boolean;
4707
+ pricing_model: 'CBP' | 'PMP';
4708
+ type: 'regular' | 'free_customer_service' | 'free_entry_point';
4709
+ category: 'authentication' | 'authentication_international' | 'marketing' | 'marketing_lite' | 'referral_conversion' | 'service' | 'utility';
4710
+ };
4711
+ errors?: Array<WebhookError>;
4712
+ }
4713
+ /**
4714
+ * Message status enum
4715
+ */
4716
+ declare enum MessageStatus {
4717
+ DELIVERED = "delivered",
4718
+ READ = "read",
4719
+ SENT = "sent",
4720
+ FAILED = "failed"
4721
+ }
4722
+ //#endregion
4481
4723
  //#region src/core/webhook/types/messaging.d.ts
4482
4724
  interface MessagingHandoverControlPassed {
4483
4725
  /** Optional metadata string passed with the handover */
@@ -4503,19 +4745,86 @@ interface MessagingHandoversWebhookValue {
4503
4745
  field: 'messaging_handovers';
4504
4746
  value: MessagingHandoversValue;
4505
4747
  }
4748
+ /**
4749
+ * Flow definition attached to a standby message echo, present only for flow
4750
+ * message echoes.
4751
+ */
4752
+ interface StandbyMessageEchoFlow {
4753
+ id: string;
4754
+ name: string;
4755
+ status: string;
4756
+ categories: string[];
4757
+ }
4758
+ /**
4759
+ * A single echoed outbound message observed while in standby. Carries the raw
4760
+ * Send Message API request body used by the active handler, not rendered content.
4761
+ */
4762
+ interface StandbyMessageEcho {
4763
+ /** WhatsApp message ID (wamid.*) of the echoed outbound message */
4764
+ id: string;
4765
+ /** Unix timestamp (seconds, as a string) of when the message was sent */
4766
+ timestamp: string;
4767
+ /**
4768
+ * The exact Send Message API request body used to send the message, e.g.
4769
+ * `{ messaging_product, to, recipient_type?, type, [type]: {...}, context? }`.
4770
+ * For template messages the send-time variable values live here under `template`.
4771
+ */
4772
+ message: {
4773
+ messaging_product: 'whatsapp';
4774
+ recipient_type?: string;
4775
+ to: string;
4776
+ type: string;
4777
+ context?: {
4778
+ message_id: string;
4779
+ };
4780
+ [key: string]: unknown;
4781
+ };
4782
+ /**
4783
+ * Full unhydrated template definition (layout with placeholders). Present only
4784
+ * for template message echoes, alongside `message`.
4785
+ */
4786
+ template?: Record<string, unknown>;
4787
+ /** Full flow definition. Present only for flow message echoes, alongside `message`. */
4788
+ flow?: StandbyMessageEchoFlow;
4789
+ }
4790
+ /**
4791
+ * The standby event payload nested under `value.standby`. Contains exactly one of
4792
+ * `messages`, `message_echoes`, or `statuses` (with `contacts` alongside `messages`).
4793
+ */
4794
+ interface StandbyEvent {
4795
+ /** Contact profiles for the users in an inbound standby message event */
4796
+ contacts?: WebhookContact[];
4797
+ /** Inbound messages received while your app is not the active handler */
4798
+ messages?: WhatsAppMessage[];
4799
+ /** Echoes of outbound messages sent by the active handler (e.g. Meta Business Agent) */
4800
+ message_echoes?: StandbyMessageEcho[];
4801
+ /** Delivery/read status updates for messages sent by the active handler */
4802
+ statuses?: StatusWebhook[];
4803
+ }
4506
4804
  interface StandbyValue {
4507
4805
  messaging_product: 'whatsapp';
4508
- [key: string]: unknown;
4806
+ metadata: WebhookMetadata;
4807
+ /** The standby event payload; carries exactly one event array */
4808
+ standby: StandbyEvent;
4509
4809
  }
4510
4810
  interface StandbyWebhookValue {
4511
4811
  field: 'standby';
4512
4812
  value: StandbyValue;
4513
4813
  }
4514
4814
  interface UserPreferenceEntry {
4515
- /** WhatsApp ID of the user */
4516
- wa_id: string;
4517
- /** Meta user ID (e.g. "US.1234567") */
4518
- user_id: string;
4815
+ /** WhatsApp ID of the user. May be absent when only BSUIDs are shared. */
4816
+ wa_id?: string;
4817
+ /**
4818
+ * Business-scoped user ID the preference applies to (e.g. "US.1234567").
4819
+ * The preference is always scoped to this ID.
4820
+ */
4821
+ user_id?: string;
4822
+ /**
4823
+ * Parent business-scoped user ID of the user, when the user is enrolled in a
4824
+ * parent BSUID. Informational only — preferences are never applied at the
4825
+ * parent BSUID level.
4826
+ */
4827
+ parent_user_id?: string;
4519
4828
  /** Human-readable description of the preference change */
4520
4829
  detail: string;
4521
4830
  /**
@@ -4525,9 +4834,9 @@ interface UserPreferenceEntry {
4525
4834
  category: 'marketing_messages' | string;
4526
4835
  /**
4527
4836
  * New preference value.
4528
- * Known value: "stop" (user opted out)
4837
+ * Known values: "stop" (user opted out), "resume" (user opted back in)
4529
4838
  */
4530
- value: 'stop' | string;
4839
+ value: 'stop' | 'resume' | string;
4531
4840
  /** Unix timestamp of when the preference was changed */
4532
4841
  timestamp: number;
4533
4842
  /** Signup ID associated with the preference, if applicable */
@@ -4538,10 +4847,12 @@ interface UserPreferencesContact {
4538
4847
  /** Display name of the user */name: string; /** WhatsApp username, if available */
4539
4848
  username?: string;
4540
4849
  };
4541
- /** WhatsApp ID of the user */
4542
- wa_id: string;
4543
- /** Meta user ID */
4850
+ /** WhatsApp ID of the user. May be absent when only BSUIDs are shared. */
4851
+ wa_id?: string;
4852
+ /** Business-scoped user ID of the user */
4544
4853
  user_id?: string;
4854
+ /** Parent business-scoped user ID of the user, when enrolled */
4855
+ parent_user_id?: string;
4545
4856
  }
4546
4857
  interface UserPreferencesValue {
4547
4858
  messaging_product: 'whatsapp';
@@ -4654,41 +4965,6 @@ interface SecurityWebhookValue {
4654
4965
  value: SecurityValue;
4655
4966
  }
4656
4967
  //#endregion
4657
- //#region src/core/webhook/types/status.d.ts
4658
- interface StatusWebhook {
4659
- id: string;
4660
- status: 'sent' | 'delivered' | 'read' | 'failed';
4661
- timestamp: string;
4662
- recipient_id: string;
4663
- recipient_type?: 'group';
4664
- recipient_participant_id?: string;
4665
- recipient_identity_key_hash?: string;
4666
- biz_opaque_callback_data?: string;
4667
- conversation?: {
4668
- id: string;
4669
- expiration_timestamp?: string;
4670
- origin: {
4671
- type: 'authentication' | 'authentication_international' | 'marketing' | 'marketing_lite' | 'referral_conversion' | 'service' | 'utility';
4672
- };
4673
- };
4674
- pricing?: {
4675
- billable: boolean;
4676
- pricing_model: 'CBP' | 'PMP';
4677
- type: 'regular' | 'free_customer_service' | 'free_entry_point';
4678
- category: 'authentication' | 'authentication_international' | 'marketing' | 'marketing_lite' | 'referral_conversion' | 'service' | 'utility';
4679
- };
4680
- errors?: Array<WebhookError>;
4681
- }
4682
- /**
4683
- * Message status enum
4684
- */
4685
- declare enum MessageStatus {
4686
- DELIVERED = "delivered",
4687
- READ = "read",
4688
- SENT = "sent",
4689
- FAILED = "failed"
4690
- }
4691
- //#endregion
4692
4968
  //#region src/core/webhook/types/template.d.ts
4693
4969
  /**
4694
4970
  * Message template status events
@@ -4918,13 +5194,13 @@ type MetaErrorData = {
4918
5194
  interface MetaError extends Error {
4919
5195
  error: MetaErrorData;
4920
5196
  }
4921
- declare const WHATSAPP_ERROR_CODES: readonly [0, 1, 2, 3, 4, 10, 33, 100, 190, 200, 299, 368, 613, 80007, 130429, 130472, 130497, 131000, 131005, 131008, 131009, 131016, 131020, 131021, 131026, 131030, 131031, 131037, 131041, 131042, 131044, 131045, 131047, 131048, 131049, 131050, 131051, 131052, 131053, 131055, 131056, 131057, 131059, 131201, 131202, 131203, 131204, 131207, 131208, 131209, 131210, 131211, 131212, 131213, 131214, 131215, 132000, 132001, 132005, 132007, 132008, 132012, 132015, 132016, 132068, 132069, 133000, 133004, 133005, 133006, 133008, 133009, 133010, 133015, 133016, 134011, 134100, 134101, 134102, 135000, 137000, 138000, 138001, 138002, 138003, 138004, 138005, 138006, 138007, 138009, 138012, 138013, 138018, 139000, 139001, 139002, 139003, 139004, 139100, 139101, 139102, 139103, 147005, 200005, 200006, 200007, 1752041, 2388001, 2388012, 2388019, 2388040, 2388047, 2388072, 2388073, 2388091, 2388093, 2388103, 2388293, 2388299, 2494100, 2593079, 2593085, 2593107, 2593108];
5197
+ declare const WHATSAPP_ERROR_CODES: readonly [0, 1, 2, 3, 4, 10, 33, 100, 190, 200, 299, 368, 613, 80007, 130429, 130472, 130497, 131000, 131005, 131008, 131009, 131016, 131020, 131021, 131026, 131030, 131031, 131037, 131041, 131042, 131044, 131045, 131047, 131048, 131049, 131050, 131051, 131052, 131053, 131055, 131056, 131057, 131059, 131061, 131062, 131201, 131202, 131203, 131204, 131207, 131208, 131209, 131210, 131211, 131212, 131213, 131214, 131215, 132000, 132001, 132005, 132007, 132008, 132012, 132015, 132016, 132068, 132069, 133000, 133004, 133005, 133006, 133008, 133009, 133010, 133015, 133016, 134011, 134100, 134101, 134102, 135000, 137000, 138000, 138001, 138002, 138003, 138004, 138005, 138006, 138007, 138009, 138012, 138013, 138018, 139000, 139001, 139002, 139003, 139004, 139100, 139101, 139102, 139103, 147005, 200005, 200006, 200007, 1752041, 2388001, 2388012, 2388019, 2388040, 2388047, 2388072, 2388073, 2388091, 2388093, 2388103, 2388293, 2388299, 2494100, 2593079, 2593085, 2593107, 2593108];
4922
5198
  type ApiPermissionErrorCode = number;
4923
5199
  type WhatsAppErrorCode = (typeof WHATSAPP_ERROR_CODES)[number] | ApiPermissionErrorCode;
4924
5200
  declare const AUTHORIZATION_ERROR_CODES: readonly [0, 3, 10, 190];
4925
5201
  declare const THROTTLING_ERROR_CODES: readonly [4, 80007, 130429, 131048, 131056];
4926
5202
  declare const INTEGRITY_ERROR_CODES: readonly [368, 130497, 131031];
4927
- declare const SEND_MESSAGE_ERROR_CODES: readonly [130472, 131000, 131005, 131008, 131009, 131016, 131021, 131026, 131030, 131042, 131044, 131045, 131047, 131050, 131051, 131052, 131053, 131056, 131057, 131048, 132000, 132001, 132005, 132007, 132008, 132012, 132015, 132016, 132068, 132069, 135000, 137000];
5203
+ declare const SEND_MESSAGE_ERROR_CODES: readonly [130472, 131000, 131005, 131008, 131009, 131016, 131021, 131026, 131030, 131042, 131044, 131045, 131047, 131050, 131051, 131052, 131053, 131056, 131057, 131048, 131061, 131062, 132000, 132001, 132005, 132007, 132008, 132012, 132015, 132016, 132068, 132069, 135000, 137000];
4928
5204
  declare const FLOW_ERROR_CODES: readonly [139000, 139001, 139002, 139003, 139004];
4929
5205
  declare const BLOCK_USER_ERROR_CODES: readonly [139100, 139101, 139102, 139103];
4930
5206
  declare const CALLING_ERROR_CODES: readonly [138000, 138001, 138002, 138003, 138004, 138005, 138006, 138007, 138009, 138012, 138013, 138018, 613];
@@ -5024,6 +5300,12 @@ declare const Category: {
5024
5300
  readonly Utility: "UTILITY";
5025
5301
  };
5026
5302
  type CategoryType = (typeof Category)[keyof typeof Category];
5303
+ declare const MessageCategory: {
5304
+ readonly Authentication: "authentication";
5305
+ readonly Service: "service";
5306
+ readonly Utility: "utility";
5307
+ };
5308
+ type MessageCategoryType = (typeof MessageCategory)[keyof typeof MessageCategory];
5027
5309
  declare const TemplateStatus: {
5028
5310
  readonly Approved: "APPROVED";
5029
5311
  readonly Pending: "PENDING";
@@ -5088,6 +5370,7 @@ declare const InteractiveTypes: {
5088
5370
  readonly LocationRequest: "location_request_message";
5089
5371
  readonly AddressMessage: "address_message";
5090
5372
  readonly Flow: "flow";
5373
+ readonly VoiceCall: "voice_call";
5091
5374
  };
5092
5375
  type InteractiveTypesType = (typeof InteractiveTypes)[keyof typeof InteractiveTypes];
5093
5376
  declare const ButtonPosition: {
@@ -5177,8 +5460,11 @@ declare const WebhookTypes: {
5177
5460
  };
5178
5461
  type WebhookTypesType = (typeof WebhookTypes)[keyof typeof WebhookTypes];
5179
5462
  declare const SystemChangeTypes: {
5180
- readonly CustomerChangedNumber: "customer_changed_number";
5463
+ /** @deprecated Meta renamed this to `user_changed_number`. Use `UserChangedNumber`. */readonly CustomerChangedNumber: "customer_changed_number"; /** @deprecated Meta renamed this to `user_identity_changed`. Use `UserIdentityChanged`. */
5181
5464
  readonly CustomerIdentityChanged: "customer_identity_changed";
5465
+ readonly UserChangedNumber: "user_changed_number";
5466
+ readonly UserIdentityChanged: "user_identity_changed"; /** The user's business-scoped user ID (BSUID) changed. */
5467
+ readonly UserChangedUserId: "user_changed_user_id";
5182
5468
  };
5183
5469
  type SystemChangeTypesType = (typeof SystemChangeTypes)[keyof typeof SystemChangeTypes];
5184
5470
  declare const ReferralSourceTypes: {
@@ -6212,8 +6498,12 @@ declare class MarketingMessagesApi extends BaseAPI implements MarketingMessagesC
6212
6498
  /**
6213
6499
  * Send a marketing template message to a WhatsApp user.
6214
6500
  *
6501
+ * Address the user either by phone number (`to`) or by business-scoped user ID
6502
+ * (`recipient`). Exactly one of the two is required.
6503
+ *
6215
6504
  * @param params - The marketing message request parameters.
6216
6505
  * @param params.to - The recipient's WhatsApp phone number.
6506
+ * @param params.recipient - The recipient's BSUID or parent BSUID, used instead of `to`.
6217
6507
  * @param params.template - The template configuration (name, language, components).
6218
6508
  * @param params.message_activity_sharing - Optional flag to enable message activity sharing.
6219
6509
  * @param params.product_policy - Optional product policy for marketing messages.
@@ -6419,6 +6709,7 @@ type MessagePayloadType<T extends MessageTypesEnum> = T extends MessageTypesEnum
6419
6709
  * - {@link MessagesApi.interactive | interactive} - Send interactive messages (generic)
6420
6710
  * - {@link MessagesApi.interactiveList | interactiveList} - Send list interactive messages
6421
6711
  * - {@link MessagesApi.interactiveCtaUrl | interactiveCtaUrl} - Send CTA URL interactive messages
6712
+ * - {@link MessagesApi.interactiveVoiceCall | interactiveVoiceCall} - Send "Call on WhatsApp" voice call button messages
6422
6713
  * - {@link MessagesApi.interactiveLocationRequest | interactiveLocationRequest} - Send location request messages
6423
6714
  * - {@link MessagesApi.interactiveAddressMessage | interactiveAddressMessage} - Send address message interactive messages
6424
6715
  * - {@link MessagesApi.interactiveReplyButtons | interactiveReplyButtons} - Send reply button interactive messages
@@ -6456,9 +6747,12 @@ declare class MessagesApi extends BaseAPI implements MessagesClass {
6456
6747
  * @param payload - The message payload object matching the specified type
6457
6748
  * @param to - The recipient's phone number in international format (e.g., "1234567890")
6458
6749
  * @param replyMessageId - Optional message ID to reply to, setting the message context
6750
+ * @param recipientType - Whether `to` addresses an individual or a group
6751
+ * @param directSend - Optional Direct Send options (`category` and `directSendConfig`)
6459
6752
  * @returns The formatted request body ready to be serialized and sent
6460
6753
  *
6461
6754
  * @see {@link https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages | Messages API Reference}
6755
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/ | Direct Send}
6462
6756
  *
6463
6757
  * @example
6464
6758
  * ```ts
@@ -6469,7 +6763,7 @@ declare class MessagesApi extends BaseAPI implements MessagesClass {
6469
6763
  * );
6470
6764
  * ```
6471
6765
  */
6472
- bodyBuilder<T extends MessageTypesEnum>(type: T, payload: MessagePayloadType<T>, to: string, replyMessageId?: string, recipientType?: MessageRecipientType): MessageRequestBody<T>;
6766
+ bodyBuilder<T extends MessageTypesEnum>(type: T, payload: MessagePayloadType<T>, to: string, replyMessageId?: string, recipientType?: MessageRecipientType, directSend?: DirectSendOptions): MessageRequestBody<T>;
6473
6767
  /**
6474
6768
  * Sends a request to the WhatsApp Cloud API messages endpoint.
6475
6769
  *
@@ -6879,6 +7173,43 @@ declare class MessagesApi extends BaseAPI implements MessagesClass {
6879
7173
  interactiveCtaUrl(params: MessageRequestParams<InteractiveObject & {
6880
7174
  type: InteractiveTypesEnum.CtaUrl | 'cta_url';
6881
7175
  }>): Promise<MessagesResponse>;
7176
+ /**
7177
+ * Sends a "Call on WhatsApp" voice call button message via Direct Send.
7178
+ *
7179
+ * The button lets the recipient tap to start a WhatsApp voice call to your business
7180
+ * phone number. It is a Direct Send interactive type, so the request is always sent
7181
+ * with `category: 'utility'`; the button must be sent on its own and cannot be
7182
+ * combined with CTA URL or reply buttons, and footers are not supported.
7183
+ *
7184
+ * Calling must be enabled on the business phone number first
7185
+ * (`POST /{PHONE_NUMBER_ID}/settings` with `{ calling: { status: 'ENABLED' } }`) and the
7186
+ * app must be subscribed to the `calls` webhook field, otherwise the send fails with
7187
+ * error `138000`.
7188
+ *
7189
+ * @param params - The voice call interactive message parameters
7190
+ * @param params.body - Interactive object with `type: 'voice_call'` and a `voice_call` action
7191
+ * @param params.to - Recipient phone number in international format
7192
+ * @param params.replyMessageId - Optional message ID to reply to
7193
+ * @param params.directSendConfig - Optional Direct Send template attribution config
7194
+ * @returns A promise resolving to the message response with the sent message ID
7195
+ *
7196
+ * @see {@link https://developers.facebook.com/documentation/business-messaging/whatsapp/direct-send/supported-message-types | Direct Send supported message types}
7197
+ *
7198
+ * @example
7199
+ * ```ts
7200
+ * await client.messages.interactiveVoiceCall({
7201
+ * body: {
7202
+ * type: 'voice_call',
7203
+ * body: { text: 'Call our support team for help with your order.' },
7204
+ * action: { name: 'voice_call', parameters: { display_text: 'Call Support', ttl_minutes: 1440 } },
7205
+ * },
7206
+ * to: '1234567890',
7207
+ * });
7208
+ * ```
7209
+ */
7210
+ interactiveVoiceCall(params: MessageRequestParams<InteractiveObject & {
7211
+ type: InteractiveTypesEnum.VoiceCall | 'voice_call';
7212
+ }>): Promise<MessagesResponse>;
6882
7213
  /**
6883
7214
  * Sends a location request interactive message via the WhatsApp Cloud API.
6884
7215
  *
@@ -8190,6 +8521,7 @@ declare class WhatsApp {
8190
8521
  business: BusinessApi;
8191
8522
  calling: CallingApi;
8192
8523
  commerce: CommerceApi;
8524
+ contactBook: ContactBookApi;
8193
8525
  groups: GroupsApi;
8194
8526
  marketingMessages: MarketingMessagesApi;
8195
8527
  messageHistory: MessageHistoryApi;
@@ -9165,5 +9497,5 @@ declare function isFlowErrorRequest(request: FlowEndpointRequest): request is Fl
9165
9497
  */
9166
9498
  declare function isFlowPingRequest(request: FlowEndpointRequest): request is FlowHealthCheckRequest;
9167
9499
  //#endregion
9168
- export { AUTHORIZATION_ERROR_CODES, type AcceptCallRequest, AcceptSolutionRequest, AccountMode, AddPhoneNumbersRequest, type ApiPermissionErrorCode, AssignedUserRequest, AssignedUsersListParams, type AudioMediaObject, AudioMediaTypes, AudioMediaTypesEnum, AudioMediaTypesType, type AudioMessage, type AudioMessageHandler, type AudioProcessedMessage, type AuthenticationTemplateOptions, BLOCK_USER_ERROR_CODES, type BaseApiRequest, type BaseApiResponse, type BaseClass, BlockUserObject, BlockUsersApi, BlockUsersClass, BlockUsersRequest, BlockUsersResponse, BlockedUserInfo, type BodyOptions, BusinessApi, BusinessClass, BusinessComplianceInfoResponse, BusinessFieldsParam, BusinessGraphListResponse, BusinessGraphObject, BusinessListParams, BusinessProfileApi, type BusinessProfileClass, type BusinessProfileData, type BusinessProfileField, type BusinessProfileFieldsParam, type BusinessProfileResponse, BusinessVerticalEnum, type ButtonMessage, type ButtonMessageHandler, type ButtonOptions, ButtonPosition, ButtonPositionEnum, ButtonPositionType, type ButtonProcessedMessage, CALLING_ERROR_CODES, type CallAction, type CallActionResponse, type CallAnnouncementLanguage, type CallCaptureStatus, type CallHours, type CallHoursDay, type CallHoursStatus, type CallIconVisibility, type CallPermission, type CallPermissionAction, type CallPermissionLimit, type CallPermissionsResponse, type CallRecordingConfig, type CallSdpType, type CallSession, type CallTranscriptionConfig, type CallbackPermissionStatus, CallingApi, type CallingClass, type CallingSettings, type CallingSettingsResponse, type CallingStatus, CarouselCard, type CarouselOptions, CatalogButton, type CatalogTemplateOptions, Category, CategoryEnum, CategoryType, CodeVerificationStatus, CommerceApi, type CommerceClass, type CommerceSetting, type CommerceSettingsResponse, ComponentType, ComponentTypeType, ComponentTypes, ComponentTypesEnum, type ContactInfo, type ContactObject, type ContactsMessage, type ContactsMessageHandler, type ContactsProcessedMessage, ConversationTypes, ConversationTypesEnum, ConversationTypesType, ConversationalAutomationRequest, ConversationalAutomationResponse, ConversationalCommand, ConversationalPrompt, CopyCodeButton, type CouponTemplateOptions, type CreateFlowResponse, CreateOBOMobilityIntentRequest, CreatePhoneNumberRequest, CreatePhoneNumberResponse, type CreateQrCodeRequest, CreateScheduleRequest, type CreateUploadSessionParams, CreateWhatsAppBusinessSolutionRequest, CurrencyCodesEnum, type CurrencyParameter, CursorPaginationParams, Cursors, DataLocalizationRegion, DataLocalizationRegionEnum, DataLocalizationRegionType, type DateTimeParameter, type DocumentMediaObject, DocumentMediaTypes, DocumentMediaTypesEnum, DocumentMediaTypesType, type DocumentMessage, type DocumentMessageHandler, type DocumentProcessedMessage, type EncryptedMessageRequest, type EncryptedMessagesResponse, EncryptionApi, type EncryptionClass, type EncryptionKeyPair, type EncryptionPublicKeyResponse, type ErrorWebhookValue, type ExpressRequest, type ExpressResponse, type ExpressWebhookConfig, FLOW_ERROR_CODES, FailedUserInfo, type Flow, FlowActionEnum, FlowApi, type FlowAsset, type FlowAssetsResponse, FlowButton, FlowCategoryEnum, type FlowClass, type FlowDataExchangeRequest, type FlowDataExchangeResponse, type FlowDecryptedRequestResponse, type FlowEncryptedRequestPayload, type FlowEndpointRequest, type FlowEndpointResponse, type FlowErrorNotificationRequest, type FlowErrorNotificationResponse, type FlowHandler, type FlowHealthCheckRequest, type FlowHealthCheckResponse, type FlowHttpRequest, type FlowMigrationFailure, type FlowMigrationResponse, type FlowMigrationResult, type FlowPreview, type FlowPreviewResponse, FlowStatusEnum, type FlowSuccessScreenResponse, type FlowType, FlowTypeEnum, type FlowValidationError, type FlowValidationErrorPointer, type FlowsListResponse, type FooterOptions, GROUP_ERROR_CODES, type GeneralHeaderInterface, type GeneralMessageBody, type GeneralRequestBody, type GetUploadHandleParams, GraphObject, type GroupCreateRequest, type GroupCreateResponse, type GroupInfoField, type GroupInfoFieldsParam, type GroupInfoResponse, type GroupInviteLinkResponse, type GroupJoinApprovalMode, type GroupJoinRequest, type GroupJoinRequestError, type GroupJoinRequestFailure, type GroupJoinRequestsActionResponse, type GroupJoinRequestsResponse, type GroupListParams, type GroupListResponse, type GroupMessage, type GroupParticipant, type GroupParticipantInput, type GroupParticipantsRequest, type GroupSettingsResponse, GroupsApi, type GroupsClass, type HeaderOptions, HealthStatus, HealthStatusEntity, type HolidaySchedule, HostPlatform, HttpMethods, HttpMethodsEnum, HttpMethodsType, type HttpsClientClass, type HttpsClientResponseClass, INTEGRITY_ERROR_CODES, type ImageMediaObject, ImageMediaTypes, ImageMediaTypesEnum, ImageMediaTypesType, type ImageMessage, type ImageMessageHandler, type ImageProcessedMessage, type InitiateCallRequest, type InitiateCallResponse, type InteractiveButtonReplyMessage, type InteractiveListReplyMessage, type InteractiveMessage, type InteractiveMessageHandler, type InteractiveObject, type InteractiveProcessedMessage, type InteractiveReply, InteractiveTypes, InteractiveTypesEnum, InteractiveTypesType, Languages, LanguagesEnum, LanguagesType, type LimitedTimeOfferOptions, type LimitedTimeOfferTemplateOptions, ListBlockedUsersParams, ListBlockedUsersResponse, type LocationInfo, type LocationMessage, type LocationMessageHandler, type LocationObject, type LocationParameter, type LocationProcessedMessage, Logger, type LoggerInterface, MPMButton, type MPMTemplateOptions, type MarketingMessageRequest, MarketingMessagesApi, type MarketingMessagesClass, MediaApi, type MediaCardCarouselTemplateOptions, MediaCarouselCard, MediaClass, type MediaInfo, type MediaParameter, MediaResponse, MediasResponse, MessagesApi as MessageApi, MessagesApi, type MessageHandler, MessageHistoryApi, MessageHistoryClass, MessageHistoryEventListParams, MessageHistoryFieldsParam, MessageHistoryItem, MessageHistoryListParams, MessageHistoryResponse, type MessageRecipientType, type MessageRequestBody, type MessageRequestParams, type MessageStatus, MessageTemplateObject, MessageTemplateRequestBody, MessageTypes, MessageTypesEnum, MessageTypesType, type MessageWebhookValue, type MessagesClass, type MessagesResponse, MessagingLimitTier, type MetaError, type MetaErrorData, type MetaErrorDetail, type NextFunction, type NextJsAppWebhookConfig, type NextJsWebhookConfig, OTPButton, type OTPTemplateOptions, OfficialBusinessAccountAction, OfficialBusinessAccountApplicationData, OfficialBusinessAccountStatusResponse, OnboardPartnersToMMLiteRequest, type OrderInfo, type OrderMessage, type OrderMessageHandler, type OrderProcessedMessage, type Pagination, type PaginationCursors, type Paging, PagingCursors, PagingInfo, ParametersTypes, ParametersTypesEnum, ParametersTypesType, type PaymentConfiguration, type PaymentConfigurationCode, type PaymentConfigurationCreateRequest, type PaymentConfigurationCreateResponse, type PaymentConfigurationDeleteRequest, type PaymentConfigurationOauthLinkRequest, type PaymentConfigurationOauthLinkResponse, type PaymentConfigurationProvider, type PaymentConfigurationStatus, type PaymentConfigurationUpdateRequest, type PaymentConfigurationUpdateResponse, type PaymentConfigurationsResponse, PaymentsApi, type PaymentsClass, PhoneNumberApi, PhoneNumberButton, PhoneNumberClass, PhoneNumberField, PhoneNumberFieldsParam, PhoneNumberFilter, PhoneNumberResponse, PhoneNumberSettingsFieldsParam, PhoneNumberSettingsParams, PhoneNumberSettingsResponse, PhoneNumberSort, PhoneNumberStatus, PhoneNumbersListParams, PhoneNumbersResponse, PlatformType, type PreAcceptCallRequest, type ProcessedMessage, type ProcessedStatus, type ProductCardCarouselTemplateOptions, ProductCarouselCard, type ProductParameter, type ProductSection, QrCodeApi, type QrCodeClass, type QrCodeResponse, type QrCodesResponse, QualityRating, QualityScore, QuickReplyButton, type ReactionInfo, type ReactionMessage, type ReactionMessageHandler, type ReactionParams, type ReactionProcessedMessage, ReferralSourceTypes, ReferralSourceTypesEnum, ReferralSourceTypesType, RegistrationApi, type RegistrationClass, type RegistrationRequest, type RejectCallRequest, RejectSolutionRequest, RemoveAssignedUserRequest, RequestCodeMethods, RequestCodeMethodsEnum, RequestCodeMethodsType, RequestPreVerifiedPhoneNumberCodeRequest, RequestVerificationCodeRequest, type RequesterClass, type RequesterResponseInterface, type ResponseData, type ResponseHeaderValue, type ResponseHeaders, type ResponseJSONBody, type ResponsePagination, type ResponseSuccess, SEND_MESSAGE_ERROR_CODES, SPMButton, type SPMTemplateOptions, SetOBOMobilityIntentRequest, SetSolutionMigrationIntentRequest, SharePreVerifiedPhoneNumberRequest, type SipServer, type SipSettings, type SipStatus, SolutionDeactivationRequest, SolutionFieldsParam, SolutionGraphObject, SolutionListParams, SolutionListResponse, SolutionMigrationIntent, SolutionsApi, SolutionsClass, Status, StatusEnum, type StatusHandler, type StatusParams, type StatusResponse, StatusType, type StatusWebhook, type StatusWebhookValue, type StickerMediaObject, StickerMediaTypes, StickerMediaTypesEnum, StickerMediaTypesType, type StickerMessage, type StickerMessageHandler, type StickerProcessedMessage, SubType, SubTypeEnum, SubTypeType, SystemChangeTypes, SystemChangeTypesEnum, SystemChangeTypesType, type SystemMessage, type SystemMessageHandler, type SystemProcessedMessage, THROTTLING_ERROR_CODES, TemplateApi, TemplateBody, TemplateButton, TemplateButtons, TemplateCarousel, TemplateClass, TemplateDeleteParams, TemplateFooter, TemplateFormat, TemplateGetParams, TemplateHeader, TemplateHeaderExample, TemplateLimitedTimeOffer, type TemplateOptions, type TemplateParameter, TemplateRequestBody, TemplateResponse, TemplateStatus, TemplateStatusEnum, TemplateStatusType, type TerminateCallRequest, type TextMessage, type TextMessageHandler, type TextMessageParams, type TextObject, type TextParameter, type TextProcessedMessage, Throughput, ThroughputLevel, ThroughputResponse, TwoStepVerificationApi, type TwoStepVerificationClass, TwoStepVerificationParams, type TwoStepVerificationRequest, URLButton, UnblockUsersRequest, UnifiedCertStatus, type UnsupportedMessage, UpdateBusinessComplianceInfoRequest, type UpdateBusinessProfileRequest, type UpdateCallingSettingsRequest, type UpdateCommerceSettingsRequest, type UpdateFlowResponse, type UpdateGroupSettingsRequest, UpdateOfficialBusinessAccountStatusRequest, UpdatePhoneNumberSettingsRequest, UpdatePhoneNumberStatusRequest, type UpdateQrCodeRequest, UpdateUsernameRequest, UpdateWabaAccountRequest, UpdateWabaSubscription, UpdateWhatsAppBusinessProfileRequest, type UploadBusinessProfileResponse, type UploadHandle, type UploadMediaParams, UploadMediaResponse, type UploadSession, type UploadSessionResponse, UsernameResponse, UsernameStatus, UsernameSuggestionsResponse, UsernameTransferAction, type ValidateFlowJsonResponse, VerifyCodeRequest, VerifyPreVerifiedPhoneNumberCodeRequest, type VideoMediaObject, VideoMediaTypes, VideoMediaTypesEnum, VideoMediaTypesType, type VideoMessage, type VideoMessageHandler, type VideoProcessedMessage, WABAClass, WHATSAPP_ERROR_CODES, WabaAccount, WabaAccountFields, WabaAccountFieldsParam, WabaAccountReviewStatus, WabaAccountStatus, WabaApi, WabaBusinessVerificationStatus, WabaConfigEnum, type WabaConfigType, WabaFieldsParam, WabaGraphObject, WabaHealthStatus, WabaHealthStatusCanSendMessage, WabaHealthStatusEntity, WabaHealthStatusError, WabaListParams, WabaListResponse, WabaSubscription, WabaSubscriptions, type WebhookContact, type WebhookEvent, type WebhookHandlerContext, type WebhookMessage, type WebhookPayload, WebhookProcessor, type WebhookResponse, WebhookTypes, WebhookTypesEnum, WebhookTypesType, type WebhookValue, type WeeklyOperatingHours, WhatsApp, WhatsAppApiError, WhatsAppAuthorizationError, WhatsAppBlockUserError, WhatsAppCallingError, type WhatsAppConfig, WhatsAppError, type WhatsAppErrorCode, WhatsAppFlowError, WhatsAppGroupError, WhatsAppIntegrityError, type WhatsAppMessage, WhatsAppNetworkError, WhatsAppSendMessageError, WhatsAppThrottlingError, WhatsAppUnknownError, WhatsAppValidationError, buildFieldsQueryString, constructFullUrl, createAuthenticationTemplate, createCatalogTemplate, createCouponTemplate, createLimitedTimeOfferTemplate, createMPMTemplate, createMediaCardCarouselTemplate, createOTPTemplate, createProductCardCarouselTemplate, createSPMTemplate, createTemplate, createWhatsAppApiError, decryptFlowRequest, encryptFlowResponse, expressWebhookHandler, extractMessageText, formatConfigTable, generateEncryption, generateXHub256Sig, getContactsInfo, getInteractiveReply, getLocationInfo, getMediaInfo, getOrderInfo, getReactionInfo, isApiPermissionErrorCode, isAudioMessage, isAuthorizationErrorCode, isBlockUserErrorCode, isButtonMessage, isButtonReply, isCallingErrorCode, isContactsMessage, isDocumentMessage, isFlowDataExchangeRequest, isFlowErrorCode, isFlowErrorRequest, isFlowPingRequest, isGroupErrorCode, isImageMessage, isIntegrityErrorCode, isInteractiveMessage, isListReply, isLocationMessage, isMetaError, isNfmReply, isOrderMessage, isReactionMessage, isSendMessageErrorCode, isStickerMessage, isSystemMessage, isTextMessage, isThrottlingErrorCode, isVideoMessage, isWhatsAppApiErrorResponse, isWhatsAppAuthorizationError, isWhatsAppBlockUserError, isWhatsAppCallingError, isWhatsAppErrorCode, isWhatsAppFlowError, isWhatsAppGroupError, isWhatsAppIntegrityError, isWhatsAppSendMessageError, isWhatsAppThrottlingError, nextjsAppWebhookHandler, nextjsPagesWebhookHandler, normalizeMetaError, objectToQueryString, processFlowRequest, processWebhookMessages };
9500
+ export { AUTHORIZATION_ERROR_CODES, type AcceptCallRequest, AcceptSolutionRequest, AccountMode, AddPhoneNumbersRequest, type ApiPermissionErrorCode, AssignedUserRequest, AssignedUsersListParams, type AudioMediaObject, AudioMediaTypes, AudioMediaTypesEnum, AudioMediaTypesType, type AudioMessage, type AudioMessageHandler, type AudioProcessedMessage, type AuthenticationTemplateOptions, BLOCK_USER_ERROR_CODES, type BaseApiRequest, type BaseApiResponse, type BaseClass, BlockUserObject, BlockUsersApi, BlockUsersClass, BlockUsersRequest, BlockUsersResponse, BlockedUserInfo, type BodyOptions, BusinessApi, BusinessClass, BusinessComplianceInfoResponse, BusinessFieldsParam, BusinessGraphListResponse, BusinessGraphObject, BusinessListParams, BusinessProfileApi, type BusinessProfileClass, type BusinessProfileData, type BusinessProfileField, type BusinessProfileFieldsParam, type BusinessProfileResponse, BusinessVerticalEnum, type ButtonMessage, type ButtonMessageHandler, type ButtonOptions, ButtonPosition, ButtonPositionEnum, ButtonPositionType, type ButtonProcessedMessage, CALLING_ERROR_CODES, type CallAction, type CallActionResponse, type CallAnnouncementLanguage, type CallCaptureStatus, type CallHours, type CallHoursDay, type CallHoursStatus, type CallIconVisibility, type CallPermission, type CallPermissionAction, type CallPermissionLimit, type CallPermissionsResponse, type CallRecordingConfig, type CallSdpType, type CallSession, type CallTranscriptionConfig, type CallbackPermissionStatus, CallingApi, type CallingClass, type CallingSettings, type CallingSettingsResponse, type CallingStatus, CarouselCard, type CarouselOptions, CatalogButton, type CatalogTemplateOptions, Category, CategoryEnum, CategoryType, CodeVerificationStatus, CommerceApi, type CommerceClass, type CommerceSetting, type CommerceSettingsResponse, ComponentType, ComponentTypeType, ComponentTypes, ComponentTypesEnum, ContactBookApi, ContactBookClass, type ContactInfo, type ContactObject, type ContactsMessage, type ContactsMessageHandler, type ContactsProcessedMessage, ConversationTypes, ConversationTypesEnum, ConversationTypesType, ConversationalAutomationRequest, ConversationalAutomationResponse, ConversationalCommand, ConversationalPrompt, CopyCodeButton, type CouponTemplateOptions, type CreateFlowResponse, CreateOBOMobilityIntentRequest, CreatePhoneNumberRequest, CreatePhoneNumberResponse, type CreateQrCodeRequest, CreateScheduleRequest, type CreateUploadSessionParams, CreateWhatsAppBusinessSolutionRequest, CurrencyCodesEnum, type CurrencyParameter, CursorPaginationParams, Cursors, DataLocalizationRegion, DataLocalizationRegionEnum, DataLocalizationRegionType, type DateTimeParameter, DeleteContactBookEntryParams, DeleteContactBookEntryResponse, type DirectSendCategory, type DirectSendConfig, type DirectSendOptions, type DocumentMediaObject, DocumentMediaTypes, DocumentMediaTypesEnum, DocumentMediaTypesType, type DocumentMessage, type DocumentMessageHandler, type DocumentProcessedMessage, type EncryptedMessageRequest, type EncryptedMessagesResponse, EncryptionApi, type EncryptionClass, type EncryptionKeyPair, type EncryptionPublicKeyResponse, type ErrorWebhookValue, type ExpressRequest, type ExpressResponse, type ExpressWebhookConfig, FLOW_ERROR_CODES, FailedUserInfo, type Flow, FlowActionEnum, FlowApi, type FlowAsset, type FlowAssetsResponse, FlowButton, FlowCategoryEnum, type FlowClass, type FlowDataExchangeRequest, type FlowDataExchangeResponse, type FlowDecryptedRequestResponse, type FlowEncryptedRequestPayload, type FlowEndpointRequest, type FlowEndpointResponse, type FlowErrorNotificationRequest, type FlowErrorNotificationResponse, type FlowHandler, type FlowHealthCheckRequest, type FlowHealthCheckResponse, type FlowHttpRequest, type FlowMigrationFailure, type FlowMigrationResponse, type FlowMigrationResult, type FlowPreview, type FlowPreviewResponse, FlowStatusEnum, type FlowSuccessScreenResponse, type FlowType, FlowTypeEnum, type FlowValidationError, type FlowValidationErrorPointer, type FlowsListResponse, type FooterOptions, GROUP_ERROR_CODES, type GeneralHeaderInterface, type GeneralMessageBody, type GeneralRequestBody, type GetUploadHandleParams, GraphObject, type GroupCreateRequest, type GroupCreateResponse, type GroupInfoField, type GroupInfoFieldsParam, type GroupInfoResponse, type GroupInviteLinkResponse, type GroupJoinApprovalMode, type GroupJoinRequest, type GroupJoinRequestError, type GroupJoinRequestFailure, type GroupJoinRequestsActionResponse, type GroupJoinRequestsResponse, type GroupListParams, type GroupListResponse, type GroupMessage, type GroupParticipant, type GroupParticipantInput, type GroupParticipantsRequest, type GroupSettingsResponse, GroupsApi, type GroupsClass, type HeaderOptions, HealthStatus, HealthStatusEntity, type HolidaySchedule, HostPlatform, HttpMethods, HttpMethodsEnum, HttpMethodsType, type HttpsClientClass, type HttpsClientResponseClass, INTEGRITY_ERROR_CODES, type ImageMediaObject, ImageMediaTypes, ImageMediaTypesEnum, ImageMediaTypesType, type ImageMessage, type ImageMessageHandler, type ImageProcessedMessage, type InitiateCallRequest, type InitiateCallResponse, type InteractiveButtonReplyMessage, type InteractiveListReplyMessage, type InteractiveMessage, type InteractiveMessageHandler, type InteractiveObject, type InteractiveProcessedMessage, type InteractiveReply, InteractiveTypes, InteractiveTypesEnum, InteractiveTypesType, Languages, LanguagesEnum, LanguagesType, type LimitedTimeOfferOptions, type LimitedTimeOfferTemplateOptions, ListBlockedUsersParams, ListBlockedUsersResponse, type LocationInfo, type LocationMessage, type LocationMessageHandler, type LocationObject, type LocationParameter, type LocationProcessedMessage, Logger, type LoggerInterface, MPMButton, type MPMTemplateOptions, type MarketingMessageRequest, MarketingMessagesApi, type MarketingMessagesClass, MediaApi, type MediaCardCarouselTemplateOptions, MediaCarouselCard, MediaClass, type MediaInfo, type MediaParameter, MediaResponse, MediasResponse, MessagesApi as MessageApi, MessagesApi, MessageCategory, MessageCategoryEnum, MessageCategoryType, type MessageHandler, MessageHistoryApi, MessageHistoryClass, MessageHistoryEventListParams, MessageHistoryFieldsParam, MessageHistoryItem, MessageHistoryListParams, MessageHistoryResponse, type MessageRecipientType, type MessageRequestBody, type MessageRequestParams, type MessageStatus, MessageTemplateObject, MessageTemplateRequestBody, MessageTypes, MessageTypesEnum, MessageTypesType, type MessageWebhookValue, type MessagesClass, type MessagesResponse, MessagingLimitTier, type MetaError, type MetaErrorData, type MetaErrorDetail, type NextFunction, type NextJsAppWebhookConfig, type NextJsWebhookConfig, OTPButton, type OTPTemplateOptions, OfficialBusinessAccountAction, OfficialBusinessAccountApplicationData, OfficialBusinessAccountStatusResponse, OnboardPartnersToMMLiteRequest, type OrderInfo, type OrderMessage, type OrderMessageHandler, type OrderProcessedMessage, type Pagination, type PaginationCursors, type Paging, PagingCursors, PagingInfo, ParametersTypes, ParametersTypesEnum, ParametersTypesType, type PaymentConfiguration, type PaymentConfigurationCode, type PaymentConfigurationCreateRequest, type PaymentConfigurationCreateResponse, type PaymentConfigurationDeleteRequest, type PaymentConfigurationOauthLinkRequest, type PaymentConfigurationOauthLinkResponse, type PaymentConfigurationProvider, type PaymentConfigurationStatus, type PaymentConfigurationUpdateRequest, type PaymentConfigurationUpdateResponse, type PaymentConfigurationsResponse, PaymentsApi, type PaymentsClass, PhoneNumberApi, PhoneNumberButton, PhoneNumberClass, PhoneNumberField, PhoneNumberFieldsParam, PhoneNumberFilter, PhoneNumberResponse, PhoneNumberSettingsFieldsParam, PhoneNumberSettingsParams, PhoneNumberSettingsResponse, PhoneNumberSort, PhoneNumberStatus, PhoneNumbersListParams, PhoneNumbersResponse, PlatformType, type PreAcceptCallRequest, type ProcessedMessage, type ProcessedStatus, type ProductCardCarouselTemplateOptions, ProductCarouselCard, type ProductParameter, type ProductSection, QrCodeApi, type QrCodeClass, type QrCodeResponse, type QrCodesResponse, QualityRating, QualityScore, QuickReplyButton, type ReactionInfo, type ReactionMessage, type ReactionMessageHandler, type ReactionParams, type ReactionProcessedMessage, ReferralSourceTypes, ReferralSourceTypesEnum, ReferralSourceTypesType, RegistrationApi, type RegistrationClass, type RegistrationRequest, type RejectCallRequest, RejectSolutionRequest, RemoveAssignedUserRequest, RequestCodeMethods, RequestCodeMethodsEnum, RequestCodeMethodsType, RequestPreVerifiedPhoneNumberCodeRequest, RequestVerificationCodeRequest, type RequesterClass, type RequesterResponseInterface, type ResponseData, type ResponseHeaderValue, type ResponseHeaders, type ResponseJSONBody, type ResponsePagination, type ResponseSuccess, SEND_MESSAGE_ERROR_CODES, SPMButton, type SPMTemplateOptions, SetOBOMobilityIntentRequest, SetSolutionMigrationIntentRequest, SharePreVerifiedPhoneNumberRequest, type SipServer, type SipSettings, type SipStatus, SolutionDeactivationRequest, SolutionFieldsParam, SolutionGraphObject, SolutionListParams, SolutionListResponse, SolutionMigrationIntent, SolutionsApi, SolutionsClass, Status, StatusEnum, type StatusHandler, type StatusParams, type StatusResponse, StatusType, type StatusWebhook, type StatusWebhookValue, type StickerMediaObject, StickerMediaTypes, StickerMediaTypesEnum, StickerMediaTypesType, type StickerMessage, type StickerMessageHandler, type StickerProcessedMessage, SubType, SubTypeEnum, SubTypeType, SystemChangeTypes, SystemChangeTypesEnum, SystemChangeTypesType, type SystemMessage, type SystemMessageHandler, type SystemProcessedMessage, THROTTLING_ERROR_CODES, TemplateApi, TemplateBidSpec, TemplateBody, TemplateButton, TemplateButtons, TemplateCarousel, TemplateClass, TemplateDeleteParams, TemplateFooter, TemplateFormat, TemplateGetParams, TemplateHeader, TemplateHeaderExample, TemplateLimitedTimeOffer, type TemplateOptions, type TemplateParameter, TemplateRequestBody, TemplateResponse, TemplateStatus, TemplateStatusEnum, TemplateStatusType, type TerminateCallRequest, type TextMessage, type TextMessageHandler, type TextMessageParams, type TextObject, type TextParameter, type TextProcessedMessage, Throughput, ThroughputLevel, ThroughputResponse, TwoStepVerificationApi, type TwoStepVerificationClass, TwoStepVerificationParams, type TwoStepVerificationRequest, URLButton, UnblockUsersRequest, UnifiedCertStatus, type UnsupportedMessage, UpdateBusinessComplianceInfoRequest, type UpdateBusinessProfileRequest, type UpdateCallingSettingsRequest, type UpdateCommerceSettingsRequest, type UpdateFlowResponse, type UpdateGroupSettingsRequest, UpdateOfficialBusinessAccountStatusRequest, UpdatePhoneNumberSettingsRequest, UpdatePhoneNumberStatusRequest, type UpdateQrCodeRequest, UpdateUsernameRequest, UpdateWabaAccountRequest, UpdateWabaSubscription, UpdateWhatsAppBusinessProfileRequest, type UploadBusinessProfileResponse, type UploadHandle, type UploadMediaParams, UploadMediaResponse, type UploadSession, type UploadSessionResponse, UsernameResponse, UsernameStatus, UsernameSuggestionsResponse, UsernameTransferAction, type ValidateFlowJsonResponse, VerifyCodeRequest, VerifyPreVerifiedPhoneNumberCodeRequest, type VideoMediaObject, VideoMediaTypes, VideoMediaTypesEnum, VideoMediaTypesType, type VideoMessage, type VideoMessageHandler, type VideoProcessedMessage, WABAClass, WHATSAPP_ERROR_CODES, WabaAccount, WabaAccountFields, WabaAccountFieldsParam, WabaAccountReviewStatus, WabaAccountStatus, WabaApi, WabaBusinessVerificationStatus, WabaConfigEnum, type WabaConfigType, WabaFieldsParam, WabaGraphObject, WabaHealthStatus, WabaHealthStatusCanSendMessage, WabaHealthStatusEntity, WabaHealthStatusError, WabaListParams, WabaListResponse, WabaSubscription, WabaSubscriptions, type WebhookContact, type WebhookEvent, type WebhookHandlerContext, type WebhookMessage, type WebhookPayload, WebhookProcessor, type WebhookResponse, WebhookTypes, WebhookTypesEnum, WebhookTypesType, type WebhookValue, type WeeklyOperatingHours, WhatsApp, WhatsAppApiError, WhatsAppAuthorizationError, WhatsAppBlockUserError, WhatsAppCallingError, type WhatsAppConfig, WhatsAppError, type WhatsAppErrorCode, WhatsAppFlowError, WhatsAppGroupError, WhatsAppIntegrityError, type WhatsAppMessage, WhatsAppNetworkError, WhatsAppSendMessageError, WhatsAppThrottlingError, WhatsAppUnknownError, WhatsAppValidationError, buildFieldsQueryString, constructFullUrl, createAuthenticationTemplate, createCatalogTemplate, createCouponTemplate, createLimitedTimeOfferTemplate, createMPMTemplate, createMediaCardCarouselTemplate, createOTPTemplate, createProductCardCarouselTemplate, createSPMTemplate, createTemplate, createWhatsAppApiError, decryptFlowRequest, encryptFlowResponse, expressWebhookHandler, extractMessageText, formatConfigTable, generateEncryption, generateXHub256Sig, getContactsInfo, getInteractiveReply, getLocationInfo, getMediaInfo, getOrderInfo, getReactionInfo, isApiPermissionErrorCode, isAudioMessage, isAuthorizationErrorCode, isBlockUserErrorCode, isButtonMessage, isButtonReply, isCallingErrorCode, isContactsMessage, isDocumentMessage, isFlowDataExchangeRequest, isFlowErrorCode, isFlowErrorRequest, isFlowPingRequest, isGroupErrorCode, isImageMessage, isIntegrityErrorCode, isInteractiveMessage, isListReply, isLocationMessage, isMetaError, isNfmReply, isOrderMessage, isReactionMessage, isSendMessageErrorCode, isStickerMessage, isSystemMessage, isTextMessage, isThrottlingErrorCode, isVideoMessage, isWhatsAppApiErrorResponse, isWhatsAppAuthorizationError, isWhatsAppBlockUserError, isWhatsAppCallingError, isWhatsAppErrorCode, isWhatsAppFlowError, isWhatsAppGroupError, isWhatsAppIntegrityError, isWhatsAppSendMessageError, isWhatsAppThrottlingError, nextjsAppWebhookHandler, nextjsPagesWebhookHandler, normalizeMetaError, objectToQueryString, processFlowRequest, processWebhookMessages };
9169
9501
  //# sourceMappingURL=index.d.mts.map