Limited-Time Offer Templates
Last updated
Last updated
Limited-Time Offer Templates are only available while using Cloud API.
Limited-time offer templates allow you to display expiration dates and running countdown timers for offer codes in template messages, making it easy for you to communicate time-bound offers and drive customer engagement.
Only templates categorized as MARKETING
are supported.
Footer components are not supported.
Users who view a limited-time offer template message using that WhatsApp web app or desktop app will not see the offer, but will instead see a message indicating that they have received a message but that it's not supported in the client they are using.
Use the create template endpoint to create coupon code templates.
POST
https://waba-v2.360dialog.io/v1/configs/templates
D360-API-KEY
string
Once your template is approved, you can use Cloud API to send it in a template message.
<BODY_TEXT>
String
Required.
Body component text. Supports variables.
Maximum 600 characters.
Good news, {{1}}! Use code {{2}} to get 25% off all Caribbean Destination packages!
<BODY_TEXT_VARIABLE_EXAMPLES>
Array of strings
Required if body component text uses variables.
Array of example variable strings.
Must supply examples for all placeholders in <BODY_TEXT>
string.
No maximum, but counts against <BODY_TEXT>
maximum.
["Pablo","CARIBE25"]
<HAS_EXPIRATION>
Boolean
Optional.
If set to true
, the copy code button component must be included in the buttons
array, and must appear first in the array.
If set to false
, offer expiration details will not appear in the delivered message and the copy code button component is optional. If including the copy code button, it must appear first in the buttons
array.
true
<HEADER_ASSET_HANDLE>
Media asset handle
Required if using an image or video header.
4::aW...
<HEADER_FORMAT>
Enum
Required if using a header.
Can be IMAGE
, or VIDEO
.
IMAGE
<LIMITED_TIME_OFFER_TEXT>
String
Required.
Offer details text.
Maximum 16 characters.
Expiring offer!
<OFFER_CODE_EXAMPLE>
String
Required.
Example offer code.
Maximum 15 characters.
CARIBE25
<TEMPLATE_LANGUAGE>
Enum
Required.
en_US
<TEMPLATE_NAME>
String
Required.
Template name.
Maximum 512 characters.
limited_time_offer_caribbean_pkg_2023
<URL_BUTTON_TEXT>
String
Required.
25 characters maximum.
Book now!
<URL_BUTTON_URL>
String
Required.
Supports 1 variable appended to the end of the URL string.
Maximum 2000 characters.
https://awesomedestinations.com/offers?code={{1}}
<URL_EXAMPLE_WITH_VARIABLE_EXAMPLE>
String
Required if URL uses a variable.
Example URL with example variable appended to the end.
No maximum, but value counts against <URL_BUTTON_URL>
maximum.
https://awesomedestinations.com/offers?ref=n3mtql
The delivered message can display an offer expiration details section with a heading, an optional expiration timer, and the offer code itself.
The expiration timer is a text string that is not customizable, but it will change to red text if the message is viewed and the offer code is expiring within the next hour. (You include the actual offer code and its expiration timestamp when you send the template in a template message.)
Example Request
This is an example request to create a limited-time offer template that uses:
an image header component
body text component with variables
the limited time offer component
a copy code button
a button URL with a variable
Use the Cloud API to send approved coupon code templates in template messages.
POST
https://waba-v2.360dialog.io/messages
<BODY_VARIABLES>
Array of objects
Required if template body text uses variables.
Body text variable values. Define each variable as an individual object.
{"type":"text","text":"Pablo"},{"type":"text","text":"CARIBE25"}
<CUSTOMER_PHONE_NUMBER>
String
Required.
Phone number of customer who the template message should be sent to.
+16505555555
<EXPIRATION_TIME>
Unix timestamp
Required.
Offer code expiration time as a UNIX timestamp in milliseconds.
1698562800000
<HEADER_ASSET_ID>
Media asset ID
Required.
1602186516975000
<HEADER_TYPE>
String
Required.
Header type used by the template. Values can be image
or video
.
image
<OFFER_CODE>
String
Required if template uses offer expiration details or a copy code button.
Offer code.
Maximum 15 characters.
CARIBE25
<TEMPLATE_LANGUAGE_CODE>
Enum
Required.
en_US
<TEMPLATE_NAME>
String
Required.
The template's name.
limited_time_offer_caribbean_pkg_2023
<URL_BUTTON_INDEX>
Integer
Required.
URL button index. If the template uses a copy code button, value must be 1
.
If the template does not use a copy code button, the value must be 0
.
1
<URL_VARIABLE>
String
Required if URL uses a variable.
URL variable value.
No maximum but value counts against URL string maximum of 2000 characters.
n3mtql
Example Request
Example request to send a limited-time offer template that uses:
an image header
body text variables
the offer expiration details
a copy code button
a URL button with a variable
Set to true
to have the appear in the delivered message.
Uploaded media asset handle. Use the to generate an asset handle.
Template .
label text. Supports 1 variable.
URL of website that loads in the device's default mobile web browser when the is tapped by the WhatsApp user.
Uploaded media asset ID. Use theendpoint to generate an ID.
The template's .