Represents a collection of templates on a WhatsApp Business Account. See Templates.
Get a list of templates on a WhatsApp Business Account.
| Type | Description |
|---|---|
Access Tokens | |
Permissions |
GET /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates ?category=<CATEGORY>, &content=<CONTENT>, &language=<LANGUAGE>, &name=<NAME>, &name_or_content=<NAME_OR_CONTENT>, &quality_score=<QUALITY_SCORE>, &status=<STATUS>
| Placeholder | Value |
|---|---|
| WhatsApp Business Account ID. |
A list of WhatsApp Message Template nodes.
curl 'https://graph.facebook.com/v16.0/102290129340398/message_templates?category=utility' \ -H 'Authorization: Bearer EAAJB...'
{
"data": [
{
"name": "order_delivery_update",
"components": [
{
"type": "HEADER",
"format": "LOCATION"
},
{
"type": "BODY",
"text": "Good news {{1}}! Your order #{{2}} is on its way to the location above. Thank you for your order!",
"example": {
"body_text": [
[
"Mark",
"566701"
]
]
}
},
{
"type": "FOOTER",
"text": "To stop receiving delivery updates, tap the button below."
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Stop Delivery Updates"
}
]
}
],
"language": "en_US",
"status": "APPROVED",
"category": "UTILITY",
"id": "1667192013751005"
},
...
],
"paging": {
"cursors": {
"before": "MAZDZD",
"after": "MjQZD"
}
}
}| Parameter | Description |
|---|---|
categoryarray<enum {ACCOUNT_UPDATE, PAYMENT_UPDATE, PERSONAL_FINANCE_UPDATE, SHIPPING_UPDATE, RESERVATION_UPDATE, ISSUE_RESOLUTION, APPOINTMENT_UPDATE, TRANSPORTATION_UPDATE, TICKET_UPDATE, ALERT_UPDATE, AUTO_REPLY, TRANSACTIONAL, OTP, UTILITY, MARKETING, AUTHENTICATION, FREE_SERVICE}> | The category for a template |
contentstring | The content for a template |
languagearray<string> | A list of supported languages that are available for each template |
namestring | The name for a message template |
name_or_contentstring | Returns a list of message templates where the value for |
quality_scorearray<enum {GREEN, YELLOW, RED, UNKNOWN}> | The quality score for a template |
sincedatetime/timestamp | Query param to fetch templates based on last_updated_time since a given unix timestamp |
statusarray<enum {APPROVED, IN_APPEAL, PENDING, REJECTED, PENDING_DELETION, DELETED, DISABLED, PAUSED, LIMIT_EXCEEDED, ARCHIVED}> | The review status for a template |
untildatetime/timestamp | Query param to fetch templates based on last_updated_time until a given unix timestamp |
Reading from this edge will return a JSON formatted result:
{ "
data": [], "paging": {}, "summary": {} }
datapagingsummaryAggregated information about the edge, such as counts. Specify the fields to fetch in the summary param (like summary=total_count).
| Field | Description |
|---|---|
total_countunsigned int32 | The total number of message templates that belong to a WhatsApp Business Account |
message_template_countint32 | The current number of message templates that belong to the WhatsApp Business Account |
message_template_limitint32 | The maximum number of message templates that can belong to a WhatsApp Business Account |
are_translations_completebool | The status for template translations |
| Error | Description |
|---|---|
| 80008 | There have been too many calls to this WhatsApp Business account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting. |
| 100 | Invalid parameter |
| 200 | Permissions error |
| 190 | Invalid OAuth 2.0 Access Token |
message_templates edge from the following paths: | Type | Description |
|---|---|
Access Tokens | |
Permissions |
POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates
| Placeholder | Value |
|---|---|
| ID of the WhatsApp Business Account to create the template on. |
See Parameters for property descriptions.
{
"allow_category_change": <ALLOW_CATEGORY_CHANGE>,
"name": "<NAME>",
"language": "<LANGUAGE>",
"category": "<CATEGORY>",
"components": [<COMPONENTS>]
}See Return Type.
curl 'https://graph.facebook.com/v25.0/102290129340398/message_templates' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"name": "seasonal_promotion",
"language": "en",
"category": "MARKETING",
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "Our {{1}} is on!",
"example": {
"header_text": [
"Summer Sale"
]
}
},
{
"type": "BODY",
"text": "Shop now through {{1}} and use code {{2}} to get {{3}} off of all merchandise.",
"example": {
"body_text": [
[
"the end of August","25OFF","25%"
]
]
}
},
{
"type": "FOOTER",
"text": "Use the buttons below to manage your marketing subscriptions"
},
{
"type":"BUTTONS",
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Unsubcribe from Promos"
},
{
"type":"QUICK_REPLY",
"text": "Unsubscribe from All"
}
]
}
]
}'
{
"id": "594425479261596",
"status": "PENDING",
"category": "MARKETING"
}| Parameter | Description |
|---|---|
allow_category_changeboolean | Set to
|
categoryenum {UTILITY, MARKETING, AUTHENTICATION} | Template category. See Template Categories. Required |
componentsarray<JSON object> | Array of components that make up the template. See Template Components.
|
creative_sourcing_specJSON object | Defines the ACO dimensions specification the Biz can opt in or out of. |
is_primary_device_delivery_onlyboolean | is_primary_device_delivery only |
languagestring | Template location and locale code. Required |
library_template_body_inputsJSON object | Optional data during creation of a template from a library template. These are optional fields for the body component. |
library_template_button_inputsarray<JSON object> | Optional data during creation of a template from a library template. These are optional fields for the button component. |
library_template_namestring | library_template_name |
message_send_ttl_secondsint64 | Time to live for message template sent. If users are offline for more than TTL duration after message template is sent, we will retry the delivery for a period of time known as a time-to-live, TTL, or the message validity period. TTL can be configured for certain message types. See Time-To-Live. |
namestring | Template name. Required |
optimization_specJSON object | optimization_spec |
parameter_formatenum {NAMED, POSITIONAL} | The parameter format of the template |
product_set_idnumeric string | [Coming soon] This will let you connect a product set (from your catalog) to the template and send messages without needing to specify products in the send API call. Our product recommendation engine will select the products your customers are most interested in and likely to convert. This feature is called Dynamic Product Message. Note: This is still in development. |
sub_categoryenum {ORDER_DETAILS, ORDER_STATUS, RICH_ORDER_STATUS} | Sub category of the template |
id: numeric string, status: enum, category: enum, | Error | Description |
|---|---|
| 100 | Invalid parameter |
| 80008 | There have been too many calls to this WhatsApp Business account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting. |
| 131009 | Parameter value is not valid |
| 192 | Invalid phone number |
| 200 | Permissions error |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 200002 | HSM Template creation failed |
| 139000 | Blocked by Integrity |
/{whats_app_business_account_id}/message_templates.| Type | Description |
|---|---|
Access Tokens | |
Permissions |
DELETE /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates
| Placeholder | Value |
|---|---|
| ID of the WhatsApp Business Account that owns the template. |
See Return Type.
curl -X DELETE 'https://graph.facebook.com/v25.0/102290129340398/message_templates?name=order_confirmation' \
-H 'Authorization: Bearer EAAJB...'
{
"success": true
}
| Parameter | Description |
|---|---|
hsm_idnumeric string | ID of template to be deleted. Required with name if deleting a specific template by ID. |
hsm_idsarray<numeric string> | IDs of all the templates for bulk deletion. Required if you wish to delete templates in bulk |
namestring | Name of template to be deleted. Deletes templates matching the name in all languages |
success: bool, | Error | Description |
|---|---|
| 100 | Invalid parameter |
| 200 | Permissions error |
| 190 | Invalid OAuth 2.0 Access Token |
| 80008 | There have been too many calls to this WhatsApp Business account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting. |