Chronox Public APIs
    • Get Started
      • Introduction
      • Authentication
      • Rate limiting
    • Get User Details
      GET
    • Get Meta Integration
      GET
    • Get Whatsapp Templates
      GET
    • Get Whatsapp Template Details
      GET
    • Get Whatsapp Template Category
      GET
    • Get Whatsapp Languages
      GET
    • Get Whatsapp Template Type
      GET
    • Get Whatsapp Template Interactive Type
      GET
    • Get Whatsapp Template Header Type
      GET
    • Get Whatsapp Template Button Type
      GET
    • Get Whatsapp Template Dynamic Variable Type
      GET
    • Create Whatsapp Template
      POST
    • Send Whatsapp Message
      POST
    • Send Whatsapp Template
      POST
    • Get Inbox Data
      GET
    • Get Thread Details
      GET
    • Schemas
      • Thread Execution Data

      Send Whatsapp Template

      Developing
      POST
      /thread/send-wa-template
      Interactive template can only be sent if 24 hour window is open.
      Flow button templates have variables but variable data is not required

      Template Variable Limits and Usage#

      This section explains how to provide template_variable_data for different WhatsApp template types, including variable limits and fields that do not require variables.

      1. Basic Template#

      Body Variables#

      Used when the message body contains placeholders such as {{1}}, {{2}}, etc.
      Limit:
      The complete body after all variables are replaced must be 1024 characters or less.

      Header — Text#

      Used when the header is text and contains a placeholder.
      Limit:
      Only one variable is supported.
      The complete header after the variable is replaced must be 60 characters or less.

      Header — Image, Video, or Document#

      Used when the header contains a media file.
      The variable value must be the file URL.
      Limit:
      No character limit.

      Visit Website — Dynamic Link Only#

      Used only when the website button was created with a dynamic URL, such as:
      https://example.com/{{1}}
      The value can be either:
      The changing part of the URL, or
      The complete URL.
      Limit:
      The complete URL, including the fixed part and the provided value, must be 2000 characters or less.
      Note: If the website button uses a static URL, you do not need to send a variable.

      Copy Offer Code#

      Used with marketing templates that contain a Copy Offer Code button with a variable.
      The value is the code that the user will copy.
      Limit:
      20 characters or less

      Authentication — OTP#

      Used with authentication templates.
      There is only one body variable:
      {{1}}
      The same OTP value is also used for the Copy Code button.
      You only need to send the OTP once in template_variable_data.
      Limit:
      15 characters or less

      Open Form / Flow#

      Used when the template opens a WhatsApp Flow.
      Send each Flow input using the following fields:
      FieldDescription
      variable_idThe ID of the Flow variable
      variable_valueThe value to pass to the Flow
      flag_flow_variableMust be set to true
      Limit:
      No character limit.

      Buttons Without Send Variables#

      You do not need to send a variable for the following buttons:
      Call Phone Number
      Custom / Quick Reply
      View Catalog
      Static Website URL
      Button Labels
      Button labels are already defined when the template is created.

      2. Carousel Template#

      Carousel templates follow the same general rules as basic templates, but each card can have its own variables.
      The text displayed above the cards can also contain variables.

      Text Above the Cards — Carousel Header#

      Used when the carousel header contains variables.
      Limit:
      The complete text after all variables are replaced must be 1024 characters or less.

      Card Body Variables#

      Each carousel card can have its own body variables.
      Limit:
      The complete body of each card after all variables are replaced must be 160 characters or less.

      Card Header — Image, Video, or Document#

      Used when a carousel card contains a media header.
      The variable value must be the file URL.
      Limit:
      No character limit.

      Card Visit Website — Dynamic Link Only#

      Used when a carousel card contains a dynamic website URL.
      Limit:
      The complete URL, including the fixed part and the provided value, must be 2000 characters or less.

      Copy Offer Code#

      Copy Offer Code buttons are not supported on carousel templates.

      3. Catalog Template#

      Body Variables#

      Used when the catalog message body contains placeholders.
      Limit:
      The complete body after all variables are replaced must be 1024 characters or less.

      Header and Buttons#

      The catalog button is fixed as:
      View Catalog
      You do not need to send header or button variables.

      4. Call Permission Request Template#

      Call Permission Request templates do not contain variables.
      Set:
      template_variable_data to an empty value.
      Example:
      {
        "template_variable_data": []
      }

      5. Interactive Template#

      Interactive templates are sent as live WhatsApp messages.
      Chronox first inserts the provided variable values into the saved text and then sends the completed message.

      Body Variables#

      The character limit depends on the interactive template type.
      Interactive TypeMaximum Body Length
      Reply Buttons1024 characters
      CTA URL1024 characters
      List4096 characters
      Text4096 characters
      Flow4096 characters
      Catalog Message1024 characters
      Important: The limit applies to the complete body after all variables are replaced.

      Header — Text#

      Used when the interactive template has a text header containing a variable.
      Limit:
      The complete header after the variable is replaced must be 60 characters or less.
      Catalog Message: Do not send a header.

      Header — Image, Video, or Document#

      Used when the interactive template has a media header.
      Limit:
      No character limit.
      Catalog Message: Do not send a header.

      Open Form / Flow Inputs#

      Used when the interactive template opens a WhatsApp Flow.
      Send each Flow input with:
      {
        "variable_id": "your_variable_id",
        "variable_value": "your_value",
        "flag_flow_variable": true
      }
      Limit:
      No character limit.

      Visit Website, List Rows, and Reply Buttons#

      You do not need to send variable_value for:
      Website URL
      List row titles
      Reply button titles
      These values are already defined in the saved template.
      The URL and button titles are taken directly from the saved template.

      Quick Reference#

      Template TypeComponentLimit
      BasicBody1024 chars
      BasicText Header60 chars
      BasicMedia HeaderNo limit
      BasicDynamic Website URL2000 chars
      BasicOffer Code20 chars
      BasicAuthentication OTP15 chars
      BasicFlow InputsNo limit
      CarouselHeader1024 chars
      CarouselCard Body160 chars per card
      CarouselMedia HeaderNo limit
      CarouselDynamic Website URL2000 chars
      CatalogBody1024 chars
      Call PermissionVariablesNone
      InteractiveBody — Buttons / CTA URL1024 chars
      InteractiveBody — List / Text / Flow4096 chars
      InteractiveBody — Catalog1024 chars
      InteractiveText Header60 chars
      InteractiveMedia HeaderNo limit
      InteractiveFlow InputsNo limit

      Request

      Header Params

      Body Params application/jsonRequired

      Examples

      Responses

      🟢200Success
      application/json
      Bodyapplication/json

      Request Request Example
      Shell
      JavaScript
      Java
      Swift
      cURL
      curl --location 'https://api.chronox.ai/api/thread/send-wa-template' \
      --header 'priority: u=1, i' \
      --header 'Authorization: Bearer ext-6d9d2de9a25e15a457f0498d2a80919df01c448476c294492946fa6fa5a51355' \
      --header 'content-type: application/json' \
      --data '{
          "whatsapp_template_id": 517,
          "user_wa_phone_number": "916352505293",
          "integrated_channel_id": 46,
          "template_variable_data": []
      }'
      Response Response Example
      Success
      {
          "status": true,
          "data": {
              "threadId": "1c1e8c3b-7e22-4fb3-bb40-c20c92a451db",
              "wa_message_id": null,
              "wa_template_execution_data": {
                  "whatsapp_template_id": 1184,
                  "whatsapp_template_name": "pg_variable_test",
                  "whatsapp_template_language": "en",
                  "whatsapp_template_header_text_value": "This is a sample header  Piyush Garg this is sample piyush garg..",
                  "whatsapp_template_header_chronox_url": null,
                  "whatsapp_template_header_type_id": "1",
                  "whatsapp_template_header_type_name": "Text",
                  "whatsapp_template_body": "this is a sample body text ??",
                  "whatsapp_template_footer": null,
                  "whatsapp_template_button": []
              },
              "wa_payload": {
                  "messaging_product": "whatsapp",
                  "to": "917297914605",
                  "type": "template",
                  "template": {
                      "name": "pg_variable_test",
                      "language": {
                          "code": "en"
                      },
                      "components": [
                          {
                              "type": "header",
                              "parameters": [
                                  {
                                      "type": "text",
                                      "text": "Piyush Garg"
                                  }
                              ]
                          }
                      ]
                  }
              }
          }
      }
      Modified at 2026-09-08 10:02:04
      Previous
      Send Whatsapp Message
      Next
      Get Inbox Data
      Built with