Sends a message to a specified recipient.
Operation description
You can call this operation to send a message. You can also send messages in the console. To do so, go to the Channel Management, click a channel, and then choose Message Sending.
Before you call this operation, ensure 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 operation allows a maximum of 250 requests per second per account. Excess requests are throttled, which may affect your business. Stay within the specified limit.
Status changes
You can monitor the delivery status of messages using Simple Message Queue (SMQ) or HTTP callbacks. 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 | message |
MessageType | string | No | The specific message type when | text |
TemplateCode | string | No | The message template code. You can find the template code on the Channel Management > Manage > Template Design page. | 1119*************** |
Language | string | No | The message template language. For supported languages and their codes, see Language codes. | en |
From | string | Yes | The sender's number or ID.
| 861387777**** |
To | string | Yes | The recipient's number or ID.
| 861388988**** |
| TemplateParams | object | No | The variables of the message template. | |
string | No | A template variable, in key-value format. | { "param1": "value1", "param2": "value2" } | |
Content | string | No | The message content, in a JSON-formatted string. Notes for WhatsApp messages:
Notes for Messenger messages:
Notes for Instagram messages:
Notes for Viber messages:
| { "text": "hello,whatsapp", "link": "https://*******", "caption": "****", "fileName": "****" } |
| Payload | array | No | An array of payloads triggered when a user clicks a quick reply button. | payloadtext1,payloadtext2,payloadtext3 |
string | No | The payload triggered by a quick reply button in the template. | payloadtext | |
CustWabaId | string | No | Deprecated. Use | cams-8c8********* |
FallBackId | string | No | The fallback strategy ID. This parameter is available only on International Site (alibabacloud.com). You can find the strategy ID on the Fallback Policy page. | S0**** |
FallBackContent | string | No | The custom fallback content. This parameter is available only on International Site (alibabacloud.com). | Fallback SMS |
IsvCode | string | No | Deprecated. The ISV verification code, used to verify if a sub-account is authorized by an ISV. You can ignore this parameter. | 123123****** |
CustSpaceId | string | No | The Space ID. For an ISV, this is the sub-customer's Space ID. For a direct customer, this is the Instance ID. You can find the ID on the Channel Management page. | cams-8c8********* |
ContextMessageId | string | No | The ID of the message to reply to. | 61851ccb2f1365b16aee**** |
TrackingData | string | No | The custom tracking data for Viber messages. This parameter is available only on International Site (alibabacloud.com). | Tracking Data |
Label | string | No | The Viber message type. This parameter is available only on International Site (alibabacloud.com). Valid values:
| promotion |
Ttl | integer | No | The time-to-live (TTL) period, in seconds, for a Viber message. This parameter is available only on International Site (alibabacloud.com). The value must be an integer from 30 to 1209600. | 50 |
Tag | string | No | A custom tag for a Viber message. | tag |
TaskId | string | No | A custom task ID. | 10000**** |
FallBackDuration | integer | No | The time to trigger a fallback. This parameter is for the international site (alibabacloud.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, and 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 | Product information. This parameter is for WhatsApp channels only. It is the product information that you upload to Meta. | |
ThumbnailProductRetailerId | string | No | The ID of the product catalog. Get this ID from the ListProductCatalog API. | skkks99**** |
| Sections | array<object> | No | The list of Product Categories. The list can contain a maximum of 10 Categories and 30 Products. | |
array<object> | No | Product category. | ||
Title | string | No | The name of the category. View the name on the Channel Management > Manage > Catalog Management > Product Management page or get it from the ListProduct API. | abcd |
| ProductItems | array<object> | No | A list of products. | |
object | No | Product information. | ||
ProductRetailerId | string | No | The product ID. View the ID on the Channel Management > Manage > Catalog Management > Product Management page or get it by calling the ListProduct API. | ksi3**** |
FallBackRule | string | No | Fallback rule. This parameter is for the International Site. Valid values:
| undelivered |
| FlowAction | object | No | The Flow message object. | |
| FlowActionData | object | No | The collection of default flow parameters. | |
any | No | Default flow parameters. The parameters are in key-value format. | { "name": "name" } | |
FlowToken | string | No | The custom flow token. | kde**** |
TemplateName | string | No | The name of the template. Go to the Channel Management> Manage > Template Design page to view the template name. | test_name |
RecipientType | string | No | The type of recipient. Valid values:
| individual |
MessageCampaignId | string | No | The message campaign ID. Note This parameter is for testing and is not available. | 123123******** |
AdAccountId | string | No | The Meta ad account ID. Note This parameter is for testing and is not available. | 123123******** |
TokenType | string | No | The token type. Note This parameter is for testing and is not available. | bearer |
Category | string | No | The message type for WhatsApp direct send. | UTILITY |
Response elements
Element | Type | Description | Example |
object | The response data. | ||
AccessDeniedDetail | string | Details about the access denial. | None |
RequestId | string | The ID of the request. | 90E63D28-E31D-1EB2-8939-A94866****** |
Message | string | The error message. | User not authorized to operate on the specified resource. |
Code | string | The status code of the request.
| OK |
MessageId | string | The ID of the message. | 61851ccb2f1365b16aee**** |
Examples
Success response
JSON format
{
"AccessDeniedDetail": "None",
"RequestId": "90E63D28-E31D-1EB2-8939-A94866******",
"Message": "User not authorized to operate on the specified resource.",
"Code": "OK",
"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.