SendChannelMessage - Amazon Chime

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 AppInstanceUserArn of the user that makes the API call as the value in the header.

Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. CONTROL messages can contain 30 bytes of data and no metadata.

Request Syntax

POST /channels/channelArn/messages HTTP/1.1 x-amz-chime-bearer: ChimeBearer Content-type: application/json { "ClientRequestToken": "string", "Content": "string", "MessageAttributes": { "string" : { "StringValues": [ "string" ] } }, "Metadata": "string", "Persistence": "string", "PushNotification": { "Body": "string", "Title": "string", "Type": "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 AppInstanceUserArn of the user 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 message.

Type: String

Length Constraints: Minimum length of 1.

Pattern: [\s\S]*

Required: Yes

MessageAttributes

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

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

Type

The type of message, STANDARD or CONTROL.

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" } }

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

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: