pub struct StartChatContactFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to StartChatContact
.
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 Services Support.
For more information about chat, see the following topics in the Amazon Connect Administrator Guide:
Implementations§
Source§impl StartChatContactFluentBuilder
impl StartChatContactFluentBuilder
Sourcepub fn as_input(&self) -> &StartChatContactInputBuilder
pub fn as_input(&self) -> &StartChatContactInputBuilder
Access the StartChatContact as a reference.
Sourcepub async fn send(
self,
) -> Result<StartChatContactOutput, SdkError<StartChatContactError, HttpResponse>>
pub async fn send( self, ) -> Result<StartChatContactOutput, SdkError<StartChatContactError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
Sourcepub fn customize(
self,
) -> CustomizableOperation<StartChatContactOutput, StartChatContactError, Self>
pub fn customize( self, ) -> CustomizableOperation<StartChatContactOutput, StartChatContactError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn instance_id(self, input: impl Into<String>) -> Self
pub fn instance_id(self, input: impl Into<String>) -> Self
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
Sourcepub fn set_instance_id(self, input: Option<String>) -> Self
pub fn set_instance_id(self, input: Option<String>) -> Self
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
Sourcepub fn get_instance_id(&self) -> &Option<String>
pub fn get_instance_id(&self) -> &Option<String>
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
Sourcepub fn contact_flow_id(self, input: impl Into<String>) -> Self
pub fn contact_flow_id(self, input: impl Into<String>) -> Self
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
Sourcepub fn set_contact_flow_id(self, input: Option<String>) -> Self
pub fn set_contact_flow_id(self, input: Option<String>) -> Self
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
Sourcepub fn get_contact_flow_id(&self) -> &Option<String>
pub fn get_contact_flow_id(&self) -> &Option<String>
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
Sourcepub fn attributes(self, k: impl Into<String>, v: impl Into<String>) -> Self
pub fn attributes(self, k: impl Into<String>, v: impl Into<String>) -> Self
Adds a key-value pair to Attributes
.
To override the contents of this collection use set_attributes
.
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.
Sourcepub fn set_attributes(self, input: Option<HashMap<String, String>>) -> Self
pub fn set_attributes(self, input: Option<HashMap<String, String>>) -> Self
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.
Sourcepub fn get_attributes(&self) -> &Option<HashMap<String, String>>
pub fn get_attributes(&self) -> &Option<HashMap<String, String>>
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.
Sourcepub fn participant_details(self, input: ParticipantDetails) -> Self
pub fn participant_details(self, input: ParticipantDetails) -> Self
Information identifying the participant.
Sourcepub fn set_participant_details(self, input: Option<ParticipantDetails>) -> Self
pub fn set_participant_details(self, input: Option<ParticipantDetails>) -> Self
Information identifying the participant.
Sourcepub fn get_participant_details(&self) -> &Option<ParticipantDetails>
pub fn get_participant_details(&self) -> &Option<ParticipantDetails>
Information identifying the participant.
Sourcepub fn initial_message(self, input: ChatMessage) -> Self
pub fn initial_message(self, input: ChatMessage) -> Self
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.
Sourcepub fn set_initial_message(self, input: Option<ChatMessage>) -> Self
pub fn set_initial_message(self, input: Option<ChatMessage>) -> Self
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.
Sourcepub fn get_initial_message(&self) -> &Option<ChatMessage>
pub fn get_initial_message(&self) -> &Option<ChatMessage>
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.
Sourcepub fn client_token(self, input: impl Into<String>) -> Self
pub fn client_token(self, input: impl Into<String>) -> Self
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.
Sourcepub fn set_client_token(self, input: Option<String>) -> Self
pub fn set_client_token(self, input: Option<String>) -> Self
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.
Sourcepub fn get_client_token(&self) -> &Option<String>
pub fn get_client_token(&self) -> &Option<String>
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.
Sourcepub fn chat_duration_in_minutes(self, input: i32) -> Self
pub fn chat_duration_in_minutes(self, input: i32) -> Self
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).
Sourcepub fn set_chat_duration_in_minutes(self, input: Option<i32>) -> Self
pub fn set_chat_duration_in_minutes(self, input: Option<i32>) -> Self
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).
Sourcepub fn get_chat_duration_in_minutes(&self) -> &Option<i32>
pub fn get_chat_duration_in_minutes(&self) -> &Option<i32>
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).
Sourcepub fn supported_messaging_content_types(self, input: impl Into<String>) -> Self
pub fn supported_messaging_content_types(self, input: impl Into<String>) -> Self
Appends an item to SupportedMessagingContentTypes
.
To override the contents of this collection use set_supported_messaging_content_types
.
The supported chat message content types. Supported types are text/plain
, text/markdown
, application/json
, application/vnd.amazonaws.connect.message.interactive
, and application/vnd.amazonaws.connect.message.interactive.response
.
Content types must always contain text/plain
. You can then put any other supported type in the list. For example, all the following lists are valid because they contain text/plain
: \[text/plain, text/markdown, application/json\]
, \[text/markdown, text/plain\]
, \[text/plain, application/json, application/vnd.amazonaws.connect.message.interactive.response\]
.
The type application/vnd.amazonaws.connect.message.interactive
is required to use the Show view flow block.
Sourcepub fn set_supported_messaging_content_types(
self,
input: Option<Vec<String>>,
) -> Self
pub fn set_supported_messaging_content_types( self, input: Option<Vec<String>>, ) -> Self
The supported chat message content types. Supported types are text/plain
, text/markdown
, application/json
, application/vnd.amazonaws.connect.message.interactive
, and application/vnd.amazonaws.connect.message.interactive.response
.
Content types must always contain text/plain
. You can then put any other supported type in the list. For example, all the following lists are valid because they contain text/plain
: \[text/plain, text/markdown, application/json\]
, \[text/markdown, text/plain\]
, \[text/plain, application/json, application/vnd.amazonaws.connect.message.interactive.response\]
.
The type application/vnd.amazonaws.connect.message.interactive
is required to use the Show view flow block.
Sourcepub fn get_supported_messaging_content_types(&self) -> &Option<Vec<String>>
pub fn get_supported_messaging_content_types(&self) -> &Option<Vec<String>>
The supported chat message content types. Supported types are text/plain
, text/markdown
, application/json
, application/vnd.amazonaws.connect.message.interactive
, and application/vnd.amazonaws.connect.message.interactive.response
.
Content types must always contain text/plain
. You can then put any other supported type in the list. For example, all the following lists are valid because they contain text/plain
: \[text/plain, text/markdown, application/json\]
, \[text/markdown, text/plain\]
, \[text/plain, application/json, application/vnd.amazonaws.connect.message.interactive.response\]
.
The type application/vnd.amazonaws.connect.message.interactive
is required to use the Show view flow block.
Sourcepub fn persistent_chat(self, input: PersistentChat) -> Self
pub fn persistent_chat(self, input: PersistentChat) -> Self
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.
Sourcepub fn set_persistent_chat(self, input: Option<PersistentChat>) -> Self
pub fn set_persistent_chat(self, input: Option<PersistentChat>) -> Self
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.
Sourcepub fn get_persistent_chat(&self) -> &Option<PersistentChat>
pub fn get_persistent_chat(&self) -> &Option<PersistentChat>
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.
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.
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.
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.
Sourcepub fn segment_attributes(
self,
k: impl Into<String>,
v: SegmentAttributeValue,
) -> Self
pub fn segment_attributes( self, k: impl Into<String>, v: SegmentAttributeValue, ) -> Self
Adds a key-value pair to SegmentAttributes
.
To override the contents of this collection use set_segment_attributes
.
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 connect:Guide
.
The types application/vnd.amazonaws.connect.message.interactive
and application/vnd.amazonaws.connect.message.interactive.response
must be present in the SupportedMessagingContentTypes field of this API in order to set SegmentAttributes
as { "connect:Subtype": {"valueString" : "connect:Guide" }}
.
Sourcepub fn set_segment_attributes(
self,
input: Option<HashMap<String, SegmentAttributeValue>>,
) -> Self
pub fn set_segment_attributes( self, input: Option<HashMap<String, SegmentAttributeValue>>, ) -> Self
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 connect:Guide
.
The types application/vnd.amazonaws.connect.message.interactive
and application/vnd.amazonaws.connect.message.interactive.response
must be present in the SupportedMessagingContentTypes field of this API in order to set SegmentAttributes
as { "connect:Subtype": {"valueString" : "connect:Guide" }}
.
Sourcepub fn get_segment_attributes(
&self,
) -> &Option<HashMap<String, SegmentAttributeValue>>
pub fn get_segment_attributes( &self, ) -> &Option<HashMap<String, SegmentAttributeValue>>
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 connect:Guide
.
The types application/vnd.amazonaws.connect.message.interactive
and application/vnd.amazonaws.connect.message.interactive.response
must be present in the SupportedMessagingContentTypes field of this API in order to set SegmentAttributes
as { "connect:Subtype": {"valueString" : "connect:Guide" }}
.
Sourcepub fn customer_id(self, input: impl Into<String>) -> Self
pub fn customer_id(self, input: impl Into<String>) -> Self
The customer's identification number. For example, the CustomerId
may be a customer number from your CRM.
Sourcepub fn set_customer_id(self, input: Option<String>) -> Self
pub fn set_customer_id(self, input: Option<String>) -> Self
The customer's identification number. For example, the CustomerId
may be a customer number from your CRM.
Sourcepub fn get_customer_id(&self) -> &Option<String>
pub fn get_customer_id(&self) -> &Option<String>
The customer's identification number. For example, the CustomerId
may be a customer number from your CRM.
Trait Implementations§
Source§impl Clone for StartChatContactFluentBuilder
impl Clone for StartChatContactFluentBuilder
Source§fn clone(&self) -> StartChatContactFluentBuilder
fn clone(&self) -> StartChatContactFluentBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for StartChatContactFluentBuilder
impl !RefUnwindSafe for StartChatContactFluentBuilder
impl Send for StartChatContactFluentBuilder
impl Sync for StartChatContactFluentBuilder
impl Unpin for StartChatContactFluentBuilder
impl !UnwindSafe for StartChatContactFluentBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);