Sends a message.
Operation description
You can call this API to send a message. You can also send messages in the console. To do so, go to the Channel Management, click a chennle, then choose Message Sending.
Before you call this API, make sure that you have created a channel and have an approved template.
For a WhatsApp channel, you must register and bind a WABA and add a phone number.
For a Messenger channel, you must connect to a Facebook Page.
For an Instagram channel, you must connect to an Instagram professional account.
For a Viber channel, you must connect to an Instagram professional account.
QPS limits
This API is limited to 250 queries per second (QPS) for each user. If you exceed this limit, API calls are throttled, which can affect your business. Call this API within the specified limit.
Status changes
Message sending status can be monitored via Simple Message Service or HTTP callback. For details, see Configure message receipts.
Try it now
Test
RAM authorization
Action | Access level | Resource type | Condition key | Dependent action |
cams:SendChatappMessage | create | *All Resource
| None | None |
Request parameters
Parameter | Type | Required | Description | Example |
ChannelType | string | Yes | The channel type. Valid values:
| |
Type | string | Yes | The message type. Valid values:
Important If you set Type to template, you must set TemplateCode. If you set Type to message, you must set MessageType. | message |
MessageType | string | No | The specific type of the message when Type is set to message. Valid values:
| text |
TemplateCode | string | No | The template code. You can view the template code on the Channel Management > Manage > Template Design page. | 1119*************** |
Language | string | No | The language. For a list of language codes, see Language codes. | en |
From | string | Yes | The sender's number.
| 861387777**** |
To | string | Yes | The recipient's number.
| 861388988**** |
| TemplateParams | object | No | The collection of template parameters. | |
string | No | Template parameter as a Key-Value pair. The Key is the parameter name, and the Value is the parameter's value. | { "param1": "value1", "param2": "value2" } | |
Content | string | No | The message content. Notes on WhatsApp messages:
Notes on Messenger messages:
Notes on Instagram messages:
Notes on Viber messages:
| { "text": "hello,whatsapp", "link": "https://*******", "caption": "****", "fileName": "****" } |
| Payload | array | No | The list of payloads for the buttons. | payloadtext1,payloadtext2,payloadtext3 |
string | No | The payload for a button. | payloadtext | |
CustWabaId | string | No | The WABA ID of the ISV customer. This parameter is deprecated. Use CustSpaceId, which is the instance ID for direct customers. You can view the ID on the Channel Management page. | cams-8c8********* |
FallBackId | string | No | The fallback policy ID. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com). View the policy ID on the Fallback Policy page. | S0**** |
FallBackContent | string | No | The custom fallback content. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com). | Fallback SMS |
IsvCode | string | No | ISV verification code, used to verify if the user is authorized by an ISV. This parameter is deprecated. | 123123****** |
CustSpaceId | string | No | The Space ID of the ISV sub-customer, or the instance ID for a direct customer. View it on the Channel Management page. | cams-8c8********* |
ContextMessageId | string | No | The ID of the message to reply to. This refers to the ID of a message that has been sent or received. | 61851ccb2f1365b16aee**** |
TrackingData | string | No | The custom tracking data for Viber messages. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com). | Tracking Data |
Label | string | No | The Viber message type. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com).Valid values:
| promotion |
Ttl | integer | No | The timeout period for sending a Viber message. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com). Unit: seconds. Valid values: 30 to 1209600. | 50 |
Tag | string | No | A custom tag for a Viber message. | tag |
TaskId | string | No | The custom task ID. | 10000**** |
FallBackDuration | integer | No | The time to trigger a fallback. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com). If a delivery receipt is not returned within the specified time, a fallback is triggered. If you leave this parameter empty, the fallback is not determined by time. A fallback is triggered only when the message fails to be sent or a failed status report is received. Unit: seconds. Minimum value: 60. Maximum value: 43200. | 120 |
| ProductAction | object | No | The product information. This parameter is only for WhatsApp channels. It refers to the product information that you uploaded to Meta. | |
ThumbnailProductRetailerId | string | No | The product catalog ID. You can obtain it by calling the ListProductCatalog API. | skkks99**** |
| Sections | array<object> | No | The list of product categories. You can have up to 10 categories and 30 products. | |
array<object> | No | A product category. | ||
Title | string | No | The category name. You can view the name on the Channel Management > Manage > Catalog Management > Product Management page or obtain it by calling the ListProduct API. | abcd |
| ProductItems | array<object> | No | The list of product information. | |
object | No | The product information. | ||
ProductRetailerId | string | No | The product ID. You can view the ID on the Channel Management > Manage > Catalog Management > Product Management page or obtain it by calling the ListProduct API. | ksi3**** |
FallBackRule | string | No | The fallback rule. This parameter is for the international site (alibabacloud.com). You can ignore it for the China site (aliyun.com). Valid values:
| undelivered |
| FlowAction | object | No | The Flow message object. | |
FlowToken | string | No | The custom flow token information. | kde**** |
| FlowActionData | object | No | The collection of default flow parameters. | |
string | No | Default flow parameter as a Key-Value pair. The Key is the parameter name, and the Value is the parameter's value. | { "name": "name" } | |
TemplateName | string | No | The template name. You can view the template name on the Channel Management > Manage > Template Design page. | test_name |
Response elements
Element | Type | Description | Example |
object | The returned data. | ||
RequestId | string | The request ID. | 90E63D28-E31D-1EB2-8939-A94866****** |
Code | string | The request status code.
| OK |
Message | string | The error message. | User not authorized to operate on the specified resource. |
MessageId | string | The message ID. | 61851ccb2f1365b16aee**** |
Examples
Success response
JSON format
{
"RequestId": "90E63D28-E31D-1EB2-8939-A94866******",
"Code": "OK",
"Message": "User not authorized to operate on the specified resource.",
"MessageId": "61851ccb2f1365b16aee****"
}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.