import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; import type { StartOutboundChatContactRequest, StartOutboundChatContactResponse } from "../models/models_3"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link StartOutboundChatContactCommand}. */ export interface StartOutboundChatContactCommandInput extends StartOutboundChatContactRequest { } /** * @public * * The output of {@link StartOutboundChatContactCommand}. */ export interface StartOutboundChatContactCommandOutput extends StartOutboundChatContactResponse, __MetadataBearer { } declare const StartOutboundChatContactCommand_base: { new (input: StartOutboundChatContactCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: StartOutboundChatContactCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Initiates a new outbound SMS or WhatsApp contact to a customer. Response of this API provides the * ContactId of the outbound SMS or WhatsApp contact created.

*

* SourceEndpoint only supports Endpoints with * CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports * Endpoints with TELEPHONE_NUMBER as Type. ContactFlowId initiates the * flow to manage the new contact created.

*

This API can be used to initiate outbound SMS or WhatsApp contacts for an agent, or it can also deflect * an ongoing contact to an outbound SMS or WhatsApp contact by using the StartOutboundChatContact Flow * Action.

*

For more information about using SMS or WhatsApp in Amazon Connect, see the following topics in * the Amazon Connect Administrator Guide:

* * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ConnectClient, StartOutboundChatContactCommand } from "@aws-sdk/client-connect"; // ES Modules import * // const { ConnectClient, StartOutboundChatContactCommand } = require("@aws-sdk/client-connect"); // CommonJS import * // import type { ConnectClientConfig } from "@aws-sdk/client-connect"; * const config = {}; // type is ConnectClientConfig * const client = new ConnectClient(config); * const input = { // StartOutboundChatContactRequest * SourceEndpoint: { // Endpoint * Type: "TELEPHONE_NUMBER" || "VOIP" || "CONTACT_FLOW" || "CONNECT_PHONENUMBER_ARN" || "EMAIL_ADDRESS", * Address: "STRING_VALUE", * }, * DestinationEndpoint: { * Type: "TELEPHONE_NUMBER" || "VOIP" || "CONTACT_FLOW" || "CONNECT_PHONENUMBER_ARN" || "EMAIL_ADDRESS", * Address: "STRING_VALUE", * }, * InstanceId: "STRING_VALUE", // required * SegmentAttributes: { // SegmentAttributes // required * "": { // SegmentAttributeValue * ValueString: "STRING_VALUE", * ValueMap: { // SegmentAttributeValueMap * "": { * ValueString: "STRING_VALUE", * ValueMap: { * "": "", * }, * ValueInteger: Number("int"), * ValueList: [ // SegmentAttributeValueList * "", * ], * ValueArn: "STRING_VALUE", * }, * }, * ValueInteger: Number("int"), * ValueList: [ * "", * ], * ValueArn: "STRING_VALUE", * }, * }, * Attributes: { // Attributes * "": "STRING_VALUE", * }, * ContactFlowId: "STRING_VALUE", // required * ChatDurationInMinutes: Number("int"), * ParticipantDetails: { // ParticipantDetails * DisplayName: "STRING_VALUE", // required * }, * InitialSystemMessage: { // ChatMessage * ContentType: "STRING_VALUE", // required * Content: "STRING_VALUE", // required * }, * InitialTemplatedSystemMessage: { // TemplatedMessageConfig * KnowledgeBaseId: "STRING_VALUE", // required * MessageTemplateId: "STRING_VALUE", // required * TemplateAttributes: { // TemplateAttributes * CustomAttributes: { * "": "STRING_VALUE", * }, * CustomerProfileAttributes: "STRING_VALUE", * }, * }, * RelatedContactId: "STRING_VALUE", * SupportedMessagingContentTypes: [ // SupportedMessagingContentTypes * "STRING_VALUE", * ], * ClientToken: "STRING_VALUE", * }; * const command = new StartOutboundChatContactCommand(input); * const response = await client.send(command); * // { // StartOutboundChatContactResponse * // ContactId: "STRING_VALUE", * // }; * * ``` * * @param StartOutboundChatContactCommandInput - {@link StartOutboundChatContactCommandInput} * @returns {@link StartOutboundChatContactCommandOutput} * @see {@link StartOutboundChatContactCommandInput} for command's `input` shape. * @see {@link StartOutboundChatContactCommandOutput} for command's `response` shape. * @see {@link ConnectClientResolvedConfig | config} for ConnectClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient permissions to perform this action.

* * @throws {@link ConflictException} (client fault) *

Operation cannot be performed at this time as there is a conflict with another operation or contact * state.

* * @throws {@link InternalServiceException} (server fault) *

Request processing failed because of an error or failure with the service.

* * @throws {@link InvalidRequestException} (client fault) *

The request is not valid.

* * @throws {@link LimitExceededException} (client fault) *

The allowed limit for the resource has been exceeded.

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified resource was not found.

* * @throws {@link ThrottlingException} (client fault) *

The throttling limit has been exceeded.

* * @throws {@link ConnectServiceException} *

Base exception class for all service exceptions from Connect service.

* * * @public */ export declare class StartOutboundChatContactCommand extends StartOutboundChatContactCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: StartOutboundChatContactRequest; output: StartOutboundChatContactResponse; }; sdk: { input: StartOutboundChatContactCommandInput; output: StartOutboundChatContactCommandOutput; }; }; }