Media message templates expand the content you can send recipients beyond the standard message template type to include media and headers using a components
object. The components
object allows you to indicate the type
of message and the message's parameters
.
POST /v1/messages { "to": "recipient_wa_id", "ttl": "P4D" | "3600" | 3600, # The "ttl" field will be deprecated in v2.33. "type": "template", "template": { "namespace": "your-namespace", "language": { "policy": "deterministic", "code": "your-language-and-locale-code" }, "name": "your-template-name", "components": [ { "type" : "header", "parameters": [ # The following parameters code example includes several different possible header types, # not all are required for a media message template API call. { "type": "text", "text": "replacement_text" } # OR { "type": "document", "document": { "id": "your-media-id", # filename is an optional parameter "filename": "your-document-filename" } } # OR { "type": "document", "document": { "link": "the-provider-name/protocol://the-url", # provider and filename are optional parameters "provider": { "name" : "provider-name" }, "filename": "your-document-filename" } } # OR { "type": "video", "video": { "id": "your-media-id" } } # OR { "type": "video", "video": { "link": "the-provider-name/protocol://the-url" # provider is an optional parameter "provider": { "name" : "provider-name" } } } # OR { "type": "image", "image": { "link": "http(s)://the-url", # provider is an optional parameter "provider": { "name" : "provider-name" }, } } ] # end header }, { "type" : "body", "parameters": [ { "type": "text", "text": "replacement_text" }, { "type": "currency", "currency" : { "fallback_value": "$100.99", "code": "USD", "amount_1000": 100990 } }, { "type": "date_time", "date_time" : { "fallback_value": "February 25, 1977", "day_of_week": 5, "day_of_month": 25, "year": 1977, "month": 2, "hour": 15, "minute": 33, #OR "timestamp": 1485470276 } }, { ... # Any additional template parameters } ] # end body }, ] } }
Name | Required | Description |
---|---|---|
| Yes | WhatsApp ID of the recipient |
| No | Time To Live (TTL) duration |
| No | Set to |
| Yes (For | Contains all the template information |
template
objectName | Required | Description |
---|---|---|
| Yes | Namespace of the template |
| Yes | Name of the template |
| Yes | Specifies the language the template may be rendered in |
| No | Array containing the parameters of the message |
components
objectName | Required | Description |
---|---|---|
| Yes | Describes the |
| No | Array containing the content of the message |
parameters
objectName | Required | Description |
---|---|---|
| Yes | Describes the |
A successful response includes a messages
object with an id
.
{ "messages": [{ "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" }] }
An unsuccessful response will contain an error object that will contain an error string, error code and other information.
If a template is sent to an account that is incapable of receiving the template, the 1026 (ReceiverIncapable)
error will be sent in the error object to the configured Webhook server.
See Error and Status Codes for more information on errors.