Creates a message template. After a template is approved, you can use it to send messages.
Operation description
QPS limit
The queries per second (QPS) limit for this API operation is 50 for a single user. If you exceed the limit, API calls are rate-limited, which may affect your business. We recommend that you call this operation at a reasonable frequency.
Status change
You can monitor template status and quality changes using Message Service (MNS) or HTTP. For more information, see Message receipts.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
cams:CreateChatappTemplate |
create |
*All Resource
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Category |
string |
Yes |
WhatsApp template categories:
Viber template categories:
|
UTILITY |
| Components |
array<object> |
Yes |
The list of message template components. Note
When Category is set to AUTHENTICATION, the Components array cannot contain a component of the HEADER type. If the component type is BODY or FOOTER, the Text parameter must be empty. |
|
|
array<object> |
No |
The list of components. |
||
| Type |
string |
Yes |
The component type. Valid values:
Note
|
BODY |
| Text |
string |
No |
The text of the message to send. Note
For WhatsApp templates, if Category is set to AUTHENTICATION, this parameter is empty. |
hello whatsapp |
| Format |
string |
No |
The type of the media resource.
|
TEXT |
| Url |
string |
No |
The path of the media resource. Note
For Viber templates, the recommended image size is 800 × 800 pixels. |
https://image.developer.aliyundoc.com |
| Caption |
string |
No |
The description of the file. |
This is a video |
| FileName |
string |
No |
The name of the file. |
Express delivery video |
| Buttons |
array<object> |
No |
The list of buttons. This parameter applies only to the BUTTONS component. Note
Number of buttons for WhatsApp
Note
Number of buttons for Viber
|
|
|
array<object> |
No |
The button definition. |
||
| Type |
string |
Yes |
The button type.
Note
|
PHONE_NUMBER |
| Text |
string |
No |
The name displayed on the button. |
Call Me |
| PhoneNumber |
string |
No |
The phone number. This parameter is valid only when the button type is PHONE_NUMBER. |
+861368897**** |
| Url |
string |
No |
The URL that is visited when the URL button is clicked. |
https://example.com |
| UrlType |
string |
No |
The URL type.
|
static |
SignatureHash
deprecated
|
string |
No |
Use the properties under SupportedApps. |
wi299382 |
PackageName
deprecated
|
string |
No |
Use the properties under SupportedApps. |
com.demo |
| AutofillText |
string |
No |
This parameter is required for WhatsApp templates when Category is set to AUTHENTICATION and the button type is ONE_TAP or ZERO_TAP. It specifies the button text for the WhatsApp autofill action. |
Autofill |
| IsOptOut |
boolean |
No |
This parameter is valid for WhatsApp templates when Category is set to Marketing and the button type is QUICK_REPLY. It indicates that the button is a marketing opt-out button. If a customer clicks this button and you have configured sending control operations in ChatApp, subsequent marketing messages will not be sent to the customer. |
false |
| CouponCode |
string |
No |
The value of the coupon code. It supports only letters and digits. You can pass a variable such as $(couponCode) and then pass the actual coupon code when sending the message. |
120293 |
| FlowId |
string |
No |
The flow ID. |
479884093605**** |
| FlowAction |
string |
No |
The flow data event type. Valid values:
|
NAVIGATE |
| NavigateScreen |
string |
No |
The screen to navigate to. This parameter is required when FlowAction is set to NAVIGATE. |
DETAILS |
| SupportedApps |
array<object> |
No |
The list of supported apps. |
|
|
object |
No |
|||
| SignatureHash |
string |
No |
This parameter is required for WhatsApp templates when Category is set to AUTHENTICATION and the button type is ONE_TAP or ZERO_TAP. It specifies the signature hash of the app that WhatsApp will launch. |
ieid83kdiek |
| PackageName |
string |
No |
This parameter is required for WhatsApp templates when Category is set to AUTHENTICATION and the button type is ONE_TAP or ZERO_TAP. It specifies the package name of the app that WhatsApp will launch. |
com.kuaidian.waimaistaff |
| ThumbUrl |
string |
No |
The thumbnail of a Viber message that contains a video. |
https://cdn.multiplymall.mobiapp.cloud/yunmall/B-LM-LMALL202207130001/20220730/d712a057-a6af-4513-bbe6-7ee57ea60983.png?x-oss-process=image/resize,w_100 |
| Duration |
integer |
No |
The duration of the video in a Viber video message, in seconds. The value ranges from 0 to 600. |
120 |
| FileType |
string |
No |
The file type of a Viber file message. |
docx |
| CodeExpirationMinutes |
integer |
No |
The validity period of the verification code for a WhatsApp AUTHENTICATION template, in minutes. This parameter is valid only for WhatsApp messages when Category is set to AUTHENTICATION and the component type is Footer. This information is displayed in the footer. |
5 |
| AddSecretRecommendation |
boolean |
No |
This parameter is valid for WhatsApp templates when Category is set to AUTHENTICATION and the component type is Body. It indicates that a security recommendation is displayed above the body, advising the user not to share the verification code. |
true |
| HasExpiration |
boolean |
No |
Indicates whether the coupon code has an expiration time. This parameter is used when type is set to LIMITED_TIME_OFFER. |
true |
| Cards |
array<object> |
No |
The list of cards for a carousel template. |
|
|
array<object> |
No |
The card object for a carousel template. |
||
| CardComponents |
array<object> |
Yes |
The list of controls in the carousel card. |
|
|
array<object> |
No |
The card object in the carousel template. |
||
| Type |
string |
Yes |
The component type. Valid values:
|
BODY |
| Format |
string |
No |
The type of the media resource. This parameter is valid when Type is set to HEADER.
|
IMAGE |
| Text |
string |
No |
The content of the BODY component in the carousel card. |
Who is the very powerful team |
| Url |
string |
No |
The path of the media resource. |
https://alibaba.com/img.png |
| Buttons |
array<object> |
No |
The list of buttons. This parameter applies only to the BUTTONS component. Each card in a carousel can have a maximum of two buttons. |
|
|
object |
No |
The button object. |
||
| Text |
string |
No |
The button text. |
Call me |
| Type |
string |
Yes |
The button type.
|
PHONE_NUMBER |
| Url |
string |
No |
The URL that is visited when the button is clicked. |
https://alibaba.com/xx |
| UrlType |
string |
No |
The URL type.
|
static |
| PhoneNumber |
string |
No |
The phone number. |
+86138007**** |
| Name |
string |
Yes |
The template name. |
hello_whatsapp |
| Language |
string |
Yes |
The template language. For more information about language codes, see Language codes. |
en |
| Example |
object |
No |
An example of how to create a template. |
hello_whatsapp |
|
string |
No |
An example of how to create a template. |
StringConcat('a', 'b', 'c') |
|
| TemplateType |
string |
Yes |
The template type.
|
|
CustWabaId
deprecated
|
string |
No |
The WhatsApp Business Account (WABA) ID of the independent software vendor (ISV) customer. Note
This parameter is deprecated. Use CustSpaceId instead. |
65921621816**** |
| IsvCode |
string |
No |
The ISV verification code, used to verify whether the RAM user is authorized by the ISV. |
skdi3kksloslikdkkdk |
| CustSpaceId |
string |
Yes |
The Space ID of the ISV sub-customer or the instance ID of the direct customer. |
293483938849493 |
AllowCategoryChange
deprecated
|
boolean |
No |
Indicates whether to allow Facebook to automatically change the category of the template. This can increase the approval rate of the template. This parameter is valid only when TemplateType is set to WHATSAPP. Important This property is deprecated. WhatsApp no longer supports this property. |
true |
| MessageSendTtlSeconds |
integer |
No |
The time-to-live (TTL) of the template message in WhatsApp.
|
120 |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The returned data. |
||
| RequestId |
string |
The request ID. |
90E63D28-E31D-1EB2-8939-A94866411B2D |
| Code |
string |
The status code of the request.
|
OK |
| Message |
string |
The error message. |
User not authorized to operate on the specified resource. |
| Data |
object |
The returned data. |
{"templateCode": "****4b5c79c9432497a075bdfca36bf5","templateName": "hello_whatsapp"} |
| TemplateCode |
string |
The template code. |
SMS_232907**** |
| TemplateName |
string |
The template name. |
hello_whatsapp |
| AccessDeniedDetail |
string |
The details about the access denial. |
None |
Examples
Success response
JSON format
{
"RequestId": "90E63D28-E31D-1EB2-8939-A94866411B2D",
"Code": "OK",
"Message": "User not authorized to operate on the specified resource.",
"Data": {
"TemplateCode": "SMS_232907****",
"TemplateName": "hello_whatsapp"
},
"AccessDeniedDetail": "None"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | Product.Unsubscript | You have not subscribed to the specified product. | You have not subscribed to the specified product. |
| 400 | Ram.PermissionDeny | You are not authorized to perform the operation. | |
| 400 | System.LimitControl | The system is under flow control. | The system is under flow control. |
| 400 | Unknown.ResourceOwnerId | The resource does not belong to the current user. | The resource does not belong to the current user. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.