SendChannelMessage
Sends a message to a particular channel that the member is a part of.
Note
The x-amz-chime-bearer
request header is mandatory. Use the
ARN of the AppInstanceUser
or AppInstanceBot
that makes the API call as the value in
the header.
Also, STANDARD
messages can be up to 4KB in size and contain metadata. Metadata is arbitrary,
and you can use it in a variety of ways, such as containing a link to an attachment.
CONTROL
messages are limited to 30 bytes and do not contain metadata.
Request Syntax
POST /channels/channelArn
/messages HTTP/1.1
x-amz-chime-bearer: ChimeBearer
Content-type: application/json
{
"ClientRequestToken": "string
",
"Content": "string
",
"ContentType": "string
",
"MessageAttributes": {
"string
" : {
"StringValues": [ "string
" ]
}
},
"Metadata": "string
",
"Persistence": "string
",
"PushNotification": {
"Body": "string
",
"Title": "string
",
"Type": "string
"
},
"SubChannelId": "string
",
"Target": [
{
"MemberArn": "string
"
}
],
"Type": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- channelArn
-
The ARN of the channel.
Length Constraints: Minimum length of 5. Maximum length of 1600.
Pattern:
arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}
Required: Yes
- ChimeBearer
-
The ARN of the
AppInstanceUser
orAppInstanceBot
that makes the API call.Length Constraints: Minimum length of 5. Maximum length of 1600.
Pattern:
arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}
Required: Yes
Request Body
The request accepts the following data in JSON format.
- ClientRequestToken
-
The
Idempotency
token for each client request.Type: String
Length Constraints: Minimum length of 2. Maximum length of 64.
Pattern:
[-_a-zA-Z0-9]*
Required: Yes
- Content
-
The content of the channel message.
Type: String
Length Constraints: Minimum length of 1.
Pattern:
[\s\S]*
Required: Yes
- ContentType
-
The content type of the channel message.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 45.
Pattern:
[\s\S]*
Required: No
- MessageAttributes
-
The attributes for the message, used for message filtering along with a
FilterRule
defined in thePushNotificationPreferences
.Type: String to MessageAttributeValue object map
Key Length Constraints: Minimum length of 1. Maximum length of 64.
Key Pattern:
[\s\S]*
Required: No
- Metadata
-
The optional metadata for each message.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Pattern:
.*
Required: No
- Persistence
-
Boolean that controls whether the message is persisted on the back end. Required.
Type: String
Valid Values:
PERSISTENT | NON_PERSISTENT
Required: Yes
- PushNotification
-
The push notification configuration of the message.
Type: PushNotificationConfiguration object
Required: No
- SubChannelId
-
The ID of the SubChannel in the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[-_a-zA-Z0-9]*
Required: No
- Target
-
The target of a message. Must be a member of the channel, such as another user, a bot, or the sender. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.
Type: Array of Target objects
Array Members: Fixed number of 1 item.
Required: No
- Type
-
The type of message,
STANDARD
orCONTROL
.STANDARD
messages can be up to 4KB in size and contain metadata. Metadata is arbitrary, and you can use it in a variety of ways, such as containing a link to an attachment.CONTROL
messages are limited to 30 bytes and do not contain metadata.Type: String
Valid Values:
STANDARD | CONTROL
Required: Yes
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"ChannelArn": "string",
"MessageId": "string",
"Status": {
"Detail": "string",
"Value": "string"
},
"SubChannelId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- ChannelArn
-
The ARN of the channel.
Type: String
Length Constraints: Minimum length of 5. Maximum length of 1600.
Pattern:
arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}
- MessageId
-
The ID string assigned to each message.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[-_a-zA-Z0-9]*
- Status
-
The status of the channel message.
Type: ChannelMessageStatusStructure object
- SubChannelId
-
The ID of the SubChannel in the response.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[-_a-zA-Z0-9]*
Errors
For information about the errors that are common to all actions, see Common Errors.
- BadRequestException
-
The input parameters don't match the service's restrictions.
HTTP Status Code: 400
- ConflictException
-
The request could not be processed because of conflict in the current state of the resource.
HTTP Status Code: 409
- ForbiddenException
-
The client is permanently forbidden from making the request.
HTTP Status Code: 403
- ServiceFailureException
-
The service encountered an unexpected error.
HTTP Status Code: 500
- ServiceUnavailableException
-
The service is currently unavailable.
HTTP Status Code: 503
- ThrottledClientException
-
The client exceeded its request rate limit.
HTTP Status Code: 429
- UnauthorizedClientException
-
The client is not currently authorized to make the request.
HTTP Status Code: 401
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: