- Navigation GuideYou are on a Command (operation) page with structural examples. Use the navigation breadcrumb if you would like to return to the Client landing page.
StartChatContactCommand
Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.
When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.
A 429 error occurs in the following situations:
-
API rate limit is exceeded. API TPS throttling returns a
TooManyRequests
exception. -
The quota for concurrent active chats is exceeded. Active chat throttling returns a
LimitExceededException
.
If you use the ChatDurationInMinutes
parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web ServicesSupport.
For more information about chat, see the following topics in the Amazon Connect Administrator Guide:
Example Syntax
Use a bare-bones client and the command you need to make an API call.
import { ConnectClient, StartChatContactCommand } from "@aws-sdk/client-connect"; // ES Modules import
// const { ConnectClient, StartChatContactCommand } = require("@aws-sdk/client-connect"); // CommonJS import
const client = new ConnectClient(config);
const input = { // StartChatContactRequest
InstanceId: "STRING_VALUE", // required
ContactFlowId: "STRING_VALUE", // required
Attributes: { // Attributes
"<keys>": "STRING_VALUE",
},
ParticipantDetails: { // ParticipantDetails
DisplayName: "STRING_VALUE", // required
},
InitialMessage: { // ChatMessage
ContentType: "STRING_VALUE", // required
Content: "STRING_VALUE", // required
},
ClientToken: "STRING_VALUE",
ChatDurationInMinutes: Number("int"),
SupportedMessagingContentTypes: [ // SupportedMessagingContentTypes
"STRING_VALUE",
],
PersistentChat: { // PersistentChat
RehydrationType: "ENTIRE_PAST_SESSION" || "FROM_SEGMENT",
SourceContactId: "STRING_VALUE",
},
RelatedContactId: "STRING_VALUE",
SegmentAttributes: { // SegmentAttributes
"<keys>": { // SegmentAttributeValue
ValueString: "STRING_VALUE",
ValueMap: { // SegmentAttributeValueMap
"<keys>": {
ValueString: "STRING_VALUE",
ValueMap: {
"<keys>": "<SegmentAttributeValue>",
},
ValueInteger: Number("int"),
},
},
ValueInteger: Number("int"),
},
},
CustomerId: "STRING_VALUE",
};
const command = new StartChatContactCommand(input);
const response = await client.send(command);
// { // StartChatContactResponse
// ContactId: "STRING_VALUE",
// ParticipantId: "STRING_VALUE",
// ParticipantToken: "STRING_VALUE",
// ContinuedFromContactId: "STRING_VALUE",
// };
StartChatContactCommand Input
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
ContactFlowId Required | string | undefined | The identifier of the flow for initiating the chat. To see the ContactFlowId in the Amazon Connect admin website, on the navigation menu go to Routing, Flows. Choose the flow. On the flow page, under the name of the flow, choose Show additional flow information. The ContactFlowId is the last part of the ARN, shown here in bold: arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx |
InstanceId Required | string | undefined | The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. |
ParticipantDetails Required | ParticipantDetails | undefined | Information identifying the participant. |
Attributes | Record<string, string> | undefined | A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows just like any other contact attributes. There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters. |
ChatDurationInMinutes | number | undefined | The total duration of the newly started chat session. If not specified, the chat session duration defaults to 25 hour. The minimum configurable time is 60 minutes. The maximum configurable time is 10,080 minutes (7 days). |
ClientToken | string | undefined | A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs . |
CustomerId | string | undefined | The customer's identification number. For example, the |
InitialMessage | ChatMessage | undefined | The initial message to be sent to the newly created chat. If you have a Lex bot in your flow, the initial message is not delivered to the Lex bot. |
PersistentChat | PersistentChat | undefined | Enable persistent chats. For more information about enabling persistent chat, and for example use cases and how to configure for them, see Enable persistent chat . |
RelatedContactId | string | undefined | The unique identifier for an Amazon Connect contact. This identifier is related to the chat starting. You cannot provide data for both RelatedContactId and PersistentChat. |
SegmentAttributes | Record<string, SegmentAttributeValue> | undefined | A set of system defined key-value pairs stored on individual contact segments using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows. Attribute keys can include only alphanumeric, -, and _. This field can be used to show channel subtype, such as The types |
SupportedMessagingContentTypes | string[] | undefined | The supported chat message content types. Supported types are Content types must always contain The type |
StartChatContactCommand Output
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
$metadata Required | ResponseMetadata | Metadata pertaining to this request. |
ContactId | string | undefined | The identifier of this contact within the Amazon Connect instance. |
ContinuedFromContactId | string | undefined | The contactId from which a persistent chat session is started. This field is populated only for persistent chats. |
ParticipantId | string | undefined | The identifier for a chat participant. The participantId for a chat participant is the same throughout the chat lifecycle. |
ParticipantToken | string | undefined | The token used by the chat participant to call CreateParticipantConnection . The participant token is valid for the lifetime of a chat participant. |
Throws
Name | Fault | Details |
---|
Name | Fault | Details |
---|---|---|
InternalServiceException | server | Request processing failed because of an error or failure with the service. |
InvalidParameterException | client | One or more of the specified parameters are not valid. |
InvalidRequestException | client | The request is not valid. |
LimitExceededException | client | The allowed limit for the resource has been exceeded. |
ResourceNotFoundException | client | The specified resource was not found. |
ConnectServiceException | Base exception class for all service exceptions from Connect service. |