StaticparamsParam-type presets for validated native-flow params.
Optionaloptions: Record<string, any>Optionalpayload: Record<string, any>cta_call. Note: keys on phone_number, not id.
Optionaloptions: Record<string, any>call_permission_request.
Optionaldisplay_text: stringOptionaloptions: Record<string, any>Optionaldisplay_text: stringOptionaloptions: Record<string, any>Optionalpayload: Record<string, any>cta_catalog — opens the sender's WhatsApp Business catalog. Business-account gated.
Optionaldisplay_text: stringOptionaloptions: Record<string, any>Optionaloptions: Record<string, any>Optionaldisplay_text: stringOptionaloptions: Record<string, any>mpm — multi-product message. Business-catalog accounts only.
Optionalpayload: Record<string, any>Optionaldata: Record<string, any>open_webview — opens a titled in-app webview and emits link.in_app_webview by default.
Optionaloptions: OpenWebviewOptionsOptionalpayload: Record<string, any>Optionalpayload: Record<string, any>payment_info — structured payment-settings payload (e.g. PIX). Payment-enabled accounts only.
Optionalpayload: Record<string, any>Optionalpayload: Record<string, any>Optionalpayload: Record<string, any>Optionalpayload: Record<string, any>Optionaloptions: Record<string, any>Optionaldisplay_text: stringOptionaloptions: Record<string, any>review_and_pay — order/payment summary flow. Server-validated by WhatsApp.
Optionalpayload: Record<string, any>Optionaloptions: Record<string, any>Optionaldisplay_text: stringwa_payment_transaction_details.
Optionalpayload: Record<string, any>cta_url. webview_interaction is kept for compatibility; use addOpenWebview() for the real in-app-webview native-flow button.
Optionalwebview_interaction: booleanOptionaloptions: Record<string, any>Optionaldisplay_text: stringautomated_greeting_message_view_catalog. Business-account gated.
Optionaloptions: Record<string, any>Optionaldisplay_text: stringThrow when validate() reports errors; returns this when valid.
Optionaloptions: Record<string, any>How many buttons have been added so far.
The accumulated button names, in order.
Optionalheader: stringOptionaltitle: stringOptionaldescription: stringOptionalid: stringOptionaltitle: stringOptionalhighlight_label: stringSend the message. Pass { validate: true } to assertValid() before sending.
Optionaloptions: Record<string, any> & { validate?: boolean }Optionaloptions: BloksWidgetOptionsOptionalparams: BottomSheetParamsOptionaloptions: Record<string, any>Optionaloptions: Record<string, any>Optionalparams: LimitedTimeOfferParamsOptionalparams: TapTargetConfigurationParamsOptionaloptions: Record<string, any>Pre-flight validation of the card (no socket): empty/malformed params, missing ids/urls, duplicate reply ids.
Native-flow interactive message builder (buttons, lists, CTAs, payments, flows).