meta_integration_whatsapp_id (the WhatsApp Business account / number you connected in Chronox).{{1}}, {{2}}) or named ones ({{customer_name}}).whatsapp_template_data object./api/global/. Use GET. They return the IDs you paste into your create request.| What you need | Call this |
|---|---|
| Template shape: simple message vs carousel | /api/global/whatsapp-template-type |
| Category: Marketing, Utility, Authentication (OTP), etc. | /api/global/whatsapp-template-category |
| Message language (e.g. English, Hindi) | /api/global/whatsapp-languages |
| Top of message: text, image, video, or PDF | /api/global/whatsapp-template-header-type |
| Buttons: types, sub-types, every field and dropdown option | /api/global/whatsapp-template-button-type |
| Where variables can live (body, header, button link, carousel) | /api/global/whatsapp-template-dynamic-variable-type |
| Interactive kinds (list, reply buttons, flow, etc.) | /api/global/interactive-types |
whatsapp_template_button in JSON.POST /api/meta-integration/create-whatsapp-template| Field | When to fill it | In plain words |
|---|---|---|
meta_integration_whatsapp_id | Always | Which connected WhatsApp number this template belongs to. |
whatsapp_template_data | Always | The full template: name, language, text, buttons, etc. |
whatsapp_template_type_id | Optional | Leave empty for a normal template. Set it to carousel when you send a carousel (use the id from the template-type list). |
flag_named_parameter | If you use names like {{order_id}} | Set to true for named variables. Use false (or omit) for numbered {{1}}, {{2}}. |
whatsapp_template_flag_interactive_message | Interactive templates only | Set true for interactive setup; read Interactive templates. |
interactive_type_id | With interactive flag | Pick the id from /api/global/interactive-types (e.g. list, flow). |
interactive_list_button_text | List-style interactive only | Label shown on the list button; only valid with the list interactive type. |
whatsapp_template_flag_flow | WhatsApp Flow button | Must be true when the template opens a Flow; your Flow must already exist in Chronox. |
whatsapp_template_data| Field | Usually needed? | In plain words |
|---|---|---|
whatsapp_template_name | Yes | Machine name: unique for that WhatsApp connection, lowercase, use underscores. Max 512 characters. Can be auto-derived from display name if you only send display name. |
whatsapp_template_display_name | Optional | Friendly name you see in the product. |
whatsapp_template_description | Optional | Internal notes. |
whatsapp_language_id | Yes (except interactive-only) | From the languages list. |
whatsapp_template_category_id | Yes (except interactive-only) | From the category list. |
whatsapp_template_header | Optional | Image, video, PDF, or short text at the top. |
whatsapp_template_body | Yes for normal template | Main message text. For carousel, the main “body” is inside the carousel section instead. |
whatsapp_template_footer | Optional | Small line under the body. |
whatsapp_template_button | Optional | Action buttons (website, phone, quick reply, flow, OTP…). |
whatsapp_template_carousel | Carousel only | Several swipeable cards; see Carousel. |
whatsapp_template_security_recommendation | OTP / auth only | Affects which exact body sentence Meta allows. |
whatsapp_template_code_expiration_minutes | OTP / auth only | 1–90 if you show how long the code is valid. |
whatsapp_template_flag_interactive_message is true, the template is validated and stored in Chronox for interactive messaging features. Meta’s “create message template” step is not used for this path the same way as a normal marketing/utility template.interactive_type_id (and buttons where applicable) so Chronox knows whether it is a list, reply buttons, flow, plain text, or CTA URL style. Category and language are handled differently on save for these.whatsapp_template_headerwhatsapp_template_header_type_id from the header-type list.whatsapp_template_header_data must be an array with one item.whatsapp_template_header_data_value.{{variable}} counts as one character).whatsapp_template_header_variable_data: one row per variable with key + sample value (Meta requires samples).whatsapp_template_header_data_google_storage_id.flag_named_parameter to true at the top level of the request.whatsapp_template_bodywhatsapp_template_body_value — the message text.whatsapp_template_body_description — optional.whatsapp_template_body_variable_data — required when the text contains {{...}}:whatsapp_template_dynamic_variable_key — e.g. {{1}} or {{order_id}} (with or without braces).whatsapp_template_dynamic_variable_sample_value — example text Meta uses for review (required).{{ }} use only lowercase letters, numbers, and underscores (Meta rule).{{1}}, {{2}}, …) or named ones ({{order_id}})—never both in the same body.flag_named_parameter, and do not use {{1}}-style names.{{...}} in the text needs a matching row in whatsapp_template_body_variable_data, and every row must appear in the text.whatsapp_template_footer with whatsapp_template_footer_value.whatsapp_template_button. Each item has:whatsapp_template_button_type_id — from the global button list (e.g. call-to-action, quick reply, flow, OTP types).whatsapp_template_button_data — one or more entries with sub-type id and field data matching the list (ids + values + dropdown option ids where required).whatsapp_template_button_field_data_variable with sample values.flag_allow_tracking to true on a visit-website button, Chronox uses a tracking URL pattern for that button.whatsapp_template_flag_flow to true, only one flow button per template, and use the Flow id from your Chronox Flows.whatsapp_template_carousel (and set template type to carousel).whatsapp_template_carousel_header — text above the cards; can include variables.whatsapp_template_carousel_header_dynamic_variable — sample values for those variables (same idea as body variables).whatsapp_template_carousel_card — 2 to 10 cards.whatsapp_template_footer_value.*{{1}}* is your verification code.*{{1}}* is your verification code. For your security, do not share this code.whatsapp_template_security_recommendation is turned on.){{1}}.Copy Code.whatsapp_template_code_expiration_minutes between 1 and 90 when you want expiry; footer rules follow Meta’s authentication format.interactive_type_id, extra limits apply. Short summary:| Style | What to remember |
|---|---|
| Reply buttons | Usually 1–3 items; each title has a short max length (about 20 characters). |
| List | Text header only if you use a header; about 1–10 rows; row titles have a max length (about 24 characters); optional list button text field at request level. |
| Text | Body required; no buttons; no footer. |
| Flow | Exactly one flow button; flow id and button text required. |
| CTA URL | Exactly one website-style button; display text and URL required; body/footer length limits apply. |
| What you created | What happens |
|---|---|
| Normal or carousel template | Chronox creates the template at Meta. Status is often pending until Meta approves or rejects it. |
| Interactive template (flag on) | Saved and checked in Chronox; not the same as a standard Meta template create. |
GET /api/meta-integration/{meta_integration_whatsapp_id}/whatsapp-template/{whatsapp_template_id}| Term | Meaning |
|---|---|
| Meta | Facebook / WhatsApp’s systems that approve templates. |
meta_integration_whatsapp_id | Your connected WhatsApp Business line in Chronox. |
| Positional variable | {{1}}, {{2}}, … |
| Named variable | {{order_id}}, {{customer_name}}, … with flag_named_parameter: true. |
| Sample value | Example text Meta uses to review the template; required for each variable. |
| Google storage id | The file id returned after you upload media to Chronox for use in a header or card. |
POST /api/meta-integration/create-whatsapp-templateGET /api/global/... lists you needImportant: Unless otherwise specified, limits apply to the string length of the field exactly as sent in the create request.
| Field | Maximum Length | Notes |
|---|---|---|
Template Name (whatsapp_template_name) | 512 | — |
Header Text (whatsapp_template_header_data_value) | 60 | Each {{variable}} counts as 1 character |
| Authentication Footer | 60 | — |
| Interactive CTA URL / Catalog Body | 1024 | — |
| Interactive List / Text / Flow Body | 4096 | — |
| Interactive CTA URL / Catalog Footer | 60 | — |
whatsapp_template_button_sub_type_field_value| Field | Maximum Length |
|---|---|
| Button Text | 25 |
| Website URL | 2000 |
{{1}}.https://example.com/order/{{1}}| Field | Maximum Length |
|---|---|
| Button Text | 25 |
| Phone Number | 20 |
| Field | Maximum Length |
|---|---|
| Button Text | 25 |
| Button Description | 100 |
Note: Button Description is checked only when it is sent.
| Field | Maximum Length |
|---|---|
| Button Text | 25 |
| Flow | 25 |
| Flow Payload Object | 2000 |
| Flow Input Payload | 2000 |
Note: Flow Payload ObjectandFlow Input Payloadare checked only when they are sent.
| Field | Requirement |
|---|---|
| Button Text | Must be exactly Copy Code or Copy code |
| Field | Maximum Length |
|---|---|
| Offer Code | 20 |
| Field | Maximum Length | Requirement |
|---|---|---|
| Button Text | 25 | Must be View catalog when sent |
| Interactive Component | Maximum Length |
|---|---|
| Reply Button — Button Title | 20 |
| List — Row Title | 24 |
| CTA URL — Display Text | 20 |
| Flow — Button Text | 25 |
Important: When an interactive template has a stricter limit than the general button limit, the interactive-specific limit applies.
{{1}}
{{2}}
{{order_id}}whatsapp_template_dynamic_variable_sample_value| Variable Type | Maximum Length |
|---|---|
| Body Variable Sample | No character limit in this API |
| Header Variable Sample | No character limit in this API |
| Dynamic Website URL Sample | No character limit in this API |
| Copy Offer Code Sample | 20 |
Note: The Copy Offer Code sample follows the same 20-character limit as the actual Offer Code.
Hello {{1}}{{1}} placeholder counts as 1 character, not 3 or 4 characters.https://example.com/customer/{{1}}| Category | Field | Limit |
|---|---|---|
| Template | Template Name | 512 |
| Template | Header Text | 60 |
| Template | Authentication Footer | 60 |
| Template | CTA URL / Catalog Body | 1024 |
| Template | List / Text / Flow Body | 4096 |
| Template | CTA URL / Catalog Footer | 60 |
| Button | Website Button Text | 25 |
| Button | Website URL | 2000 |
| Button | Phone Number Button Text | 25 |
| Button | Phone Number | 20 |
| Button | Quick Reply Text | 25 |
| Button | Quick Reply Description | 100 |
| Button | Open Form Text | 25 |
| Button | Flow | 25 |
| Button | Flow Payload Object | 2000 |
| Button | Flow Input Payload | 2000 |
| Button | Copy Code Text | 25 |
| Button | Offer Code | 20 |
| Button | View Catalog Text | 25 |
| Interactive | Reply Button Title | 20 |
| Interactive | List Row Title | 24 |
| Interactive | CTA URL Display Text | 20 |
| Interactive | Flow Button Text | 25 |
| Sample | Body / Header / Website URL | No limit |
| Sample | Copy Offer Code | 20 |
curl --location 'https://api.chronox.ai/api/meta-integration/create-whatsapp-template' \
--header 'priority: u=1, i' \
--header 'Authorization: Bearer <api-key>' \
--header 'content-type: application/json' \
--data '{
"whatsapp_template_id": null,
"meta_integration_whatsapp_id": "5349",
"whatsapp_template_type_id": 1,
"whatsapp_template_flag_interactive_message": false,
"whatsapp_template_flag_flow": false,
"interactive_type_id": null,
"interactive_list_button_text": null,
"whatsapp_template_data": {
"whatsapp_template_data_id": null,
"whatsapp_template_category_id": 2,
"whatsapp_language_id": 15,
"whatsapp_template_name": "piyush_test_1",
"whatsapp_template_description": "Test",
"whatsapp_template_header": {
"whatsapp_template_header_type_id": 1,
"whatsapp_template_header_type_name": "Text",
"whatsapp_template_header_data": [
{
"whatsapp_template_header_data_value": "This is test template header text",
"whatsapp_template_header_data_id": 0,
"whatsapp_template_header_data_google_storage_id": 0,
"whatsapp_template_header_variable_data": []
}
]
},
"whatsapp_template_body": {
"whatsapp_template_body_value": "This is test template body",
"whatsapp_template_body_description": "This is test template body description",
"whatsapp_template_body_variable_data": []
},
"whatsapp_template_button": [
{
"whatsapp_template_button_id": null,
"flag_allow_tracking": false,
"whatsapp_template_button_type_id": 1,
"whatsapp_template_button_data": [
{
"whatsapp_template_button_data_id": null,
"whatsapp_template_button_sub_type_id": 2,
"whatsapp_template_button_sub_type_field_data": [
{
"whatsapp_template_button_sub_type_field_id": 3,
"field_name": "Button Text",
"field_type": "Textfield",
"field_placeholder": "Quick Reply",
"field_static_value_flag": false,
"field_static_value": null,
"field_option_flag": false,
"field_character_limit": "25",
"field_option_data": [],
"whatsapp_template_button_sub_type_field_value": "Test button",
"whatsapp_template_button_sub_type_field_option_id": null
},
{
"whatsapp_template_button_sub_type_field_id": 13,
"field_name": "Payload",
"field_type": "Object",
"field_placeholder": null,
"field_static_value_flag": false,
"field_static_value": null,
"field_option_flag": false,
"field_character_limit": null,
"field_option_data": [],
"whatsapp_template_button_sub_type_field_value": [],
"whatsapp_template_button_sub_type_field_option_id": null
}
]
}
]
}
],
"whatsapp_template_footer": {
"whatsapp_template_footer_id": 0,
"whatsapp_template_footer_value": "This is test template footer"
},
"whatsapp_template_carousel": {
"whatsapp_template_carousel_header": "",
"whatsapp_template_carousel_header_dynamic_variable": [],
"whatsapp_template_carousel_card": [
{
"whatsapp_template_header": {
"whatsapp_template_header_type_id": 0,
"whatsapp_template_header_type_name": null,
"whatsapp_template_header_data": [
{
"whatsapp_template_header_data_value": "",
"whatsapp_template_header_data_id": 0,
"whatsapp_template_header_data_google_storage_id": 0,
"whatsapp_template_header_variable_data": []
}
]
},
"whatsapp_template_body": {
"whatsapp_template_body_value": "",
"whatsapp_template_body_description": "",
"whatsapp_template_body_variable_data": []
},
"whatsapp_template_button": [],
"whatsapp_template_footer": {
"whatsapp_template_footer_value": "",
"whatsapp_template_footer_id": null
}
},
{
"whatsapp_template_header": {
"whatsapp_template_header_type_id": 0,
"whatsapp_template_header_type_name": null,
"whatsapp_template_header_data": [
{
"whatsapp_template_header_data_value": "",
"whatsapp_template_header_data_id": 0,
"whatsapp_template_header_data_google_storage_id": 0,
"whatsapp_template_header_variable_data": []
}
]
},
"whatsapp_template_body": {
"whatsapp_template_body_value": "",
"whatsapp_template_body_description": "",
"whatsapp_template_body_variable_data": []
},
"whatsapp_template_button": [],
"whatsapp_template_footer": {
"whatsapp_template_footer_value": "",
"whatsapp_template_footer_id": null
}
}
]
}
}
}'{
"status": true,
"data": [
{
"whatsapp_template_id": 523,
"meta_integration_whatsapp_id": "5349",
"user_assignment_id": "541",
"username": "Nikunj Beladiya",
"updated_at_timestamp": "2025-12-08T10:53:32.000Z",
"whatsapp_template_flag_interactive_message": false,
"whatsapp_template_flag_flow": false,
"interactive_type": null,
"interactive_list_button_text": null,
"whtatsapp_carousel_header": null,
"whtatsapp_carousel_header_variable_data": [],
"whatsapp_template_type": {
"whatsapp_template_type_id": 1,
"name": "Basic"
},
"whatsapp_template_metadata": {
"whatsapp_template_metadata_id": 526,
"meta_whatsapp_template_id": "1118236937054465",
"meta_whatsapp_template_status_id": 1,
"meta_whatsapp_template_status_name": "Pending",
"whatsapp_template_metadata_error_reason": null
},
"whatsapp_template_data": [
{
"whatsapp_template_data_id": 460,
"whatsapp_template_name": "piyush_test_1",
"whatsapp_template_description": "Test",
"whatsapp_template_category_id": 2,
"whatsapp_template_category_name": "Utility",
"whatsapp_template_carousel_variation_id": null,
"whatsapp_language_data": {
"whatsapp_language_id": 15,
"whatsapp_language_name": "English",
"whatsapp_language_abbr": "en"
},
"whatsapp_template_header": {
"whatsapp_template_header_id": 336,
"whatsapp_template_header_type_id": "1",
"whatsapp_template_header_type_name": "Text",
"whatsapp_template_header_data": [
{
"whatsapp_template_header_data_id": 364,
"whatsapp_template_header_data_value": "This is test template header text",
"whatsapp_template_header_data_google_storage_id": 0,
"whatsapp_template_carousel_variation_id": null,
"whatsapp_template_header_variable_data": []
}
]
},
"whatsapp_template_body": {
"whatsapp_template_body_id": 558,
"whatsapp_template_body_value": "This is test template body",
"whatsapp_template_body_description": "This is test template body description",
"whatsapp_template_carousel_variation_id": null,
"whatsapp_template_body_variable_data": []
},
"whatsapp_template_footer": {
"whatsapp_template_footer_id": 83,
"whatsapp_template_footer_value": "This is test template footer"
},
"whatsapp_template_button": [
{
"whatsapp_template_button_id": 705,
"whatsapp_template_button_type_id": "1",
"whatsapp_template_button_index": 0,
"whatsapp_template_carousel_variation_id": null,
"flag_allow_tracking": false,
"tracking_config_id": null,
"whatsapp_template_button_type_name": "Quick reply",
"whatsapp_template_button_data": [
{
"whatsapp_template_button_data_id": 701,
"added_by_change_log_id": "196503",
"whatsapp_template_button_id": "705",
"whatsapp_template_button_sub_type_id": "2",
"history_id": null,
"whatsapp_template_button_data_flag_deleted": false,
"whatsapp_template_button_sub_type_name": "Custom",
"whatsapp_template_button_type_name": "Quick reply",
"flag_allow_tracking": false,
"tracking_config_id": null,
"whatsapp_template_button_sub_type_field_data": [
{
"whatsapp_template_button_field_data_id": 1436,
"whatsapp_template_button_data_id": "701",
"whatsapp_template_button_sub_type_field_id": "3",
"whatsapp_template_button_sub_type_field_value": "Test button",
"whatsapp_template_button_sub_type_field_option_id": null,
"whatsapp_template_button_field_data_flag_deleted": false,
"whatsapp_template_button_sub_type_field_payload_key": null,
"field_name": "Button Text",
"field_type": "Textfield",
"field_placeholder": "Quick Reply",
"field_static_value_flag": false,
"field_static_value": null,
"field_option_flag": false,
"field_option_value": null,
"field_meta_key_name": null,
"field_character_limit": "25",
"whatsapp_template_button_field_data_variable": []
}
]
}
]
}
]
}
],
"flag_allow_tracking": false
}
]
}