AWS SDK for C++

AWS SDK for C++ Version 1.11.902

Loading...
Searching...
No Matches
StartChatContactRequest.h
1
6#pragma once
7#include <aws/connect/ConnectRequest.h>
8#include <aws/connect/Connect_EXPORTS.h>
9#include <aws/connect/model/ChatMessage.h>
10#include <aws/connect/model/ChatStreamingConfiguration.h>
11#include <aws/connect/model/ConnectionType.h>
12#include <aws/connect/model/DisconnectOnCustomerExitParticipantType.h>
13#include <aws/connect/model/ParticipantConfiguration.h>
14#include <aws/connect/model/ParticipantDetails.h>
15#include <aws/connect/model/PersistentChat.h>
16#include <aws/connect/model/SegmentAttributeValue.h>
17#include <aws/core/utils/UUID.h>
18#include <aws/core/utils/memory/stl/AWSMap.h>
19#include <aws/core/utils/memory/stl/AWSString.h>
20#include <aws/core/utils/memory/stl/AWSVector.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Connect {
26namespace Model {
27
31 public:
32 AWS_CONNECT_API StartChatContactRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "StartChatContact"; }
39
40 AWS_CONNECT_API Aws::String SerializePayload() const override;
41
43
48 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
49 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
50 template <typename InstanceIdT = Aws::String>
51 void SetInstanceId(InstanceIdT&& value) {
52 m_instanceIdHasBeenSet = true;
53 m_instanceId = std::forward<InstanceIdT>(value);
54 }
55 template <typename InstanceIdT = Aws::String>
57 SetInstanceId(std::forward<InstanceIdT>(value));
58 return *this;
59 }
61
63
72 inline const Aws::String& GetContactFlowId() const { return m_contactFlowId; }
73 inline bool ContactFlowIdHasBeenSet() const { return m_contactFlowIdHasBeenSet; }
74 template <typename ContactFlowIdT = Aws::String>
75 void SetContactFlowId(ContactFlowIdT&& value) {
76 m_contactFlowIdHasBeenSet = true;
77 m_contactFlowId = std::forward<ContactFlowIdT>(value);
78 }
79 template <typename ContactFlowIdT = Aws::String>
80 StartChatContactRequest& WithContactFlowId(ContactFlowIdT&& value) {
81 SetContactFlowId(std::forward<ContactFlowIdT>(value));
82 return *this;
83 }
85
87
94 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
95 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
96 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
97 void SetAttributes(AttributesT&& value) {
98 m_attributesHasBeenSet = true;
99 m_attributes = std::forward<AttributesT>(value);
100 }
101 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
103 SetAttributes(std::forward<AttributesT>(value));
104 return *this;
105 }
106 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
107 StartChatContactRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
108 m_attributesHasBeenSet = true;
109 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
110 return *this;
111 }
113
115
118 inline const ParticipantDetails& GetParticipantDetails() const { return m_participantDetails; }
119 inline bool ParticipantDetailsHasBeenSet() const { return m_participantDetailsHasBeenSet; }
120 template <typename ParticipantDetailsT = ParticipantDetails>
121 void SetParticipantDetails(ParticipantDetailsT&& value) {
122 m_participantDetailsHasBeenSet = true;
123 m_participantDetails = std::forward<ParticipantDetailsT>(value);
124 }
125 template <typename ParticipantDetailsT = ParticipantDetails>
126 StartChatContactRequest& WithParticipantDetails(ParticipantDetailsT&& value) {
127 SetParticipantDetails(std::forward<ParticipantDetailsT>(value));
128 return *this;
129 }
131
133
136 inline const ParticipantConfiguration& GetParticipantConfiguration() const { return m_participantConfiguration; }
137 inline bool ParticipantConfigurationHasBeenSet() const { return m_participantConfigurationHasBeenSet; }
138 template <typename ParticipantConfigurationT = ParticipantConfiguration>
139 void SetParticipantConfiguration(ParticipantConfigurationT&& value) {
140 m_participantConfigurationHasBeenSet = true;
141 m_participantConfiguration = std::forward<ParticipantConfigurationT>(value);
142 }
143 template <typename ParticipantConfigurationT = ParticipantConfiguration>
144 StartChatContactRequest& WithParticipantConfiguration(ParticipantConfigurationT&& value) {
145 SetParticipantConfiguration(std::forward<ParticipantConfigurationT>(value));
146 return *this;
147 }
149
151
154 inline const ChatMessage& GetInitialMessage() const { return m_initialMessage; }
155 inline bool InitialMessageHasBeenSet() const { return m_initialMessageHasBeenSet; }
156 template <typename InitialMessageT = ChatMessage>
157 void SetInitialMessage(InitialMessageT&& value) {
158 m_initialMessageHasBeenSet = true;
159 m_initialMessage = std::forward<InitialMessageT>(value);
160 }
161 template <typename InitialMessageT = ChatMessage>
162 StartChatContactRequest& WithInitialMessage(InitialMessageT&& value) {
163 SetInitialMessage(std::forward<InitialMessageT>(value));
164 return *this;
165 }
167
169
176 inline const Aws::String& GetClientToken() const { return m_clientToken; }
177 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
178 template <typename ClientTokenT = Aws::String>
179 void SetClientToken(ClientTokenT&& value) {
180 m_clientTokenHasBeenSet = true;
181 m_clientToken = std::forward<ClientTokenT>(value);
182 }
183 template <typename ClientTokenT = Aws::String>
185 SetClientToken(std::forward<ClientTokenT>(value));
186 return *this;
187 }
189
191
196 inline int GetChatDurationInMinutes() const { return m_chatDurationInMinutes; }
197 inline bool ChatDurationInMinutesHasBeenSet() const { return m_chatDurationInMinutesHasBeenSet; }
198 inline void SetChatDurationInMinutes(int value) {
199 m_chatDurationInMinutesHasBeenSet = true;
200 m_chatDurationInMinutes = value;
201 }
204 return *this;
205 }
207
209
227 inline const Aws::Vector<Aws::String>& GetSupportedMessagingContentTypes() const { return m_supportedMessagingContentTypes; }
228 inline bool SupportedMessagingContentTypesHasBeenSet() const { return m_supportedMessagingContentTypesHasBeenSet; }
229 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
230 void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
231 m_supportedMessagingContentTypesHasBeenSet = true;
232 m_supportedMessagingContentTypes = std::forward<SupportedMessagingContentTypesT>(value);
233 }
234 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
235 StartChatContactRequest& WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
236 SetSupportedMessagingContentTypes(std::forward<SupportedMessagingContentTypesT>(value));
237 return *this;
238 }
239 template <typename SupportedMessagingContentTypesT = Aws::String>
240 StartChatContactRequest& AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
241 m_supportedMessagingContentTypesHasBeenSet = true;
242 m_supportedMessagingContentTypes.emplace_back(std::forward<SupportedMessagingContentTypesT>(value));
243 return *this;
244 }
246
248
254 inline const PersistentChat& GetPersistentChat() const { return m_persistentChat; }
255 inline bool PersistentChatHasBeenSet() const { return m_persistentChatHasBeenSet; }
256 template <typename PersistentChatT = PersistentChat>
257 void SetPersistentChat(PersistentChatT&& value) {
258 m_persistentChatHasBeenSet = true;
259 m_persistentChat = std::forward<PersistentChatT>(value);
260 }
261 template <typename PersistentChatT = PersistentChat>
262 StartChatContactRequest& WithPersistentChat(PersistentChatT&& value) {
263 SetPersistentChat(std::forward<PersistentChatT>(value));
264 return *this;
265 }
267
269
274 inline const Aws::String& GetRelatedContactId() const { return m_relatedContactId; }
275 inline bool RelatedContactIdHasBeenSet() const { return m_relatedContactIdHasBeenSet; }
276 template <typename RelatedContactIdT = Aws::String>
277 void SetRelatedContactId(RelatedContactIdT&& value) {
278 m_relatedContactIdHasBeenSet = true;
279 m_relatedContactId = std::forward<RelatedContactIdT>(value);
280 }
281 template <typename RelatedContactIdT = Aws::String>
282 StartChatContactRequest& WithRelatedContactId(RelatedContactIdT&& value) {
283 SetRelatedContactId(std::forward<RelatedContactIdT>(value));
284 return *this;
285 }
287
289
301 inline const Aws::Map<Aws::String, SegmentAttributeValue>& GetSegmentAttributes() const { return m_segmentAttributes; }
302 inline bool SegmentAttributesHasBeenSet() const { return m_segmentAttributesHasBeenSet; }
303 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
304 void SetSegmentAttributes(SegmentAttributesT&& value) {
305 m_segmentAttributesHasBeenSet = true;
306 m_segmentAttributes = std::forward<SegmentAttributesT>(value);
307 }
308 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
309 StartChatContactRequest& WithSegmentAttributes(SegmentAttributesT&& value) {
310 SetSegmentAttributes(std::forward<SegmentAttributesT>(value));
311 return *this;
312 }
313 template <typename SegmentAttributesKeyT = Aws::String, typename SegmentAttributesValueT = SegmentAttributeValue>
314 StartChatContactRequest& AddSegmentAttributes(SegmentAttributesKeyT&& key, SegmentAttributesValueT&& value) {
315 m_segmentAttributesHasBeenSet = true;
316 m_segmentAttributes.emplace(std::forward<SegmentAttributesKeyT>(key), std::forward<SegmentAttributesValueT>(value));
317 return *this;
318 }
320
322
326 inline const Aws::String& GetCustomerId() const { return m_customerId; }
327 inline bool CustomerIdHasBeenSet() const { return m_customerIdHasBeenSet; }
328 template <typename CustomerIdT = Aws::String>
329 void SetCustomerId(CustomerIdT&& value) {
330 m_customerIdHasBeenSet = true;
331 m_customerId = std::forward<CustomerIdT>(value);
332 }
333 template <typename CustomerIdT = Aws::String>
335 SetCustomerId(std::forward<CustomerIdT>(value));
336 return *this;
337 }
339
341
347 return m_disconnectOnCustomerExit;
348 }
349 inline bool DisconnectOnCustomerExitHasBeenSet() const { return m_disconnectOnCustomerExitHasBeenSet; }
350 template <typename DisconnectOnCustomerExitT = Aws::Vector<DisconnectOnCustomerExitParticipantType>>
351 void SetDisconnectOnCustomerExit(DisconnectOnCustomerExitT&& value) {
352 m_disconnectOnCustomerExitHasBeenSet = true;
353 m_disconnectOnCustomerExit = std::forward<DisconnectOnCustomerExitT>(value);
354 }
355 template <typename DisconnectOnCustomerExitT = Aws::Vector<DisconnectOnCustomerExitParticipantType>>
356 StartChatContactRequest& WithDisconnectOnCustomerExit(DisconnectOnCustomerExitT&& value) {
357 SetDisconnectOnCustomerExit(std::forward<DisconnectOnCustomerExitT>(value));
358 return *this;
359 }
361 m_disconnectOnCustomerExitHasBeenSet = true;
362 m_disconnectOnCustomerExit.push_back(value);
363 return *this;
364 }
366
368
382 inline const Aws::Vector<ConnectionType>& GetConnectionTypes() const { return m_connectionTypes; }
383 inline bool ConnectionTypesHasBeenSet() const { return m_connectionTypesHasBeenSet; }
384 template <typename ConnectionTypesT = Aws::Vector<ConnectionType>>
385 void SetConnectionTypes(ConnectionTypesT&& value) {
386 m_connectionTypesHasBeenSet = true;
387 m_connectionTypes = std::forward<ConnectionTypesT>(value);
388 }
389 template <typename ConnectionTypesT = Aws::Vector<ConnectionType>>
390 StartChatContactRequest& WithConnectionTypes(ConnectionTypesT&& value) {
391 SetConnectionTypes(std::forward<ConnectionTypesT>(value));
392 return *this;
393 }
395 m_connectionTypesHasBeenSet = true;
396 m_connectionTypes.push_back(value);
397 return *this;
398 }
400
402
414 inline const ChatStreamingConfiguration& GetChatStreamingConfiguration() const { return m_chatStreamingConfiguration; }
415 inline bool ChatStreamingConfigurationHasBeenSet() const { return m_chatStreamingConfigurationHasBeenSet; }
416 template <typename ChatStreamingConfigurationT = ChatStreamingConfiguration>
417 void SetChatStreamingConfiguration(ChatStreamingConfigurationT&& value) {
418 m_chatStreamingConfigurationHasBeenSet = true;
419 m_chatStreamingConfiguration = std::forward<ChatStreamingConfigurationT>(value);
420 }
421 template <typename ChatStreamingConfigurationT = ChatStreamingConfiguration>
422 StartChatContactRequest& WithChatStreamingConfiguration(ChatStreamingConfigurationT&& value) {
423 SetChatStreamingConfiguration(std::forward<ChatStreamingConfigurationT>(value));
424 return *this;
425 }
427 private:
428 Aws::String m_instanceId;
429
430 Aws::String m_contactFlowId;
431
433
434 ParticipantDetails m_participantDetails;
435
436 ParticipantConfiguration m_participantConfiguration;
437
438 ChatMessage m_initialMessage;
439
441
442 int m_chatDurationInMinutes{0};
443
444 Aws::Vector<Aws::String> m_supportedMessagingContentTypes;
445
446 PersistentChat m_persistentChat;
447
448 Aws::String m_relatedContactId;
449
451
452 Aws::String m_customerId;
453
455
456 Aws::Vector<ConnectionType> m_connectionTypes;
457
458 ChatStreamingConfiguration m_chatStreamingConfiguration;
459 bool m_instanceIdHasBeenSet = false;
460 bool m_contactFlowIdHasBeenSet = false;
461 bool m_attributesHasBeenSet = false;
462 bool m_participantDetailsHasBeenSet = false;
463 bool m_participantConfigurationHasBeenSet = false;
464 bool m_initialMessageHasBeenSet = false;
465 bool m_clientTokenHasBeenSet = true;
466 bool m_chatDurationInMinutesHasBeenSet = false;
467 bool m_supportedMessagingContentTypesHasBeenSet = false;
468 bool m_persistentChatHasBeenSet = false;
469 bool m_relatedContactIdHasBeenSet = false;
470 bool m_segmentAttributesHasBeenSet = false;
471 bool m_customerIdHasBeenSet = false;
472 bool m_disconnectOnCustomerExitHasBeenSet = false;
473 bool m_connectionTypesHasBeenSet = false;
474 bool m_chatStreamingConfigurationHasBeenSet = false;
475};
476
477} // namespace Model
478} // namespace Connect
479} // namespace Aws
StartChatContactRequest & WithClientToken(ClientTokenT &&value)
virtual const char * GetServiceRequestName() const override
StartChatContactRequest & WithAttributes(AttributesT &&value)
StartChatContactRequest & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
StartChatContactRequest & WithParticipantConfiguration(ParticipantConfigurationT &&value)
StartChatContactRequest & WithConnectionTypes(ConnectionTypesT &&value)
void SetParticipantConfiguration(ParticipantConfigurationT &&value)
StartChatContactRequest & WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
StartChatContactRequest & WithPersistentChat(PersistentChatT &&value)
StartChatContactRequest & WithChatStreamingConfiguration(ChatStreamingConfigurationT &&value)
const Aws::Vector< Aws::String > & GetSupportedMessagingContentTypes() const
StartChatContactRequest & AddDisconnectOnCustomerExit(DisconnectOnCustomerExitParticipantType value)
const ParticipantDetails & GetParticipantDetails() const
void SetDisconnectOnCustomerExit(DisconnectOnCustomerExitT &&value)
AWS_CONNECT_API StartChatContactRequest()=default
StartChatContactRequest & AddConnectionTypes(ConnectionType value)
const Aws::Vector< DisconnectOnCustomerExitParticipantType > & GetDisconnectOnCustomerExit() const
StartChatContactRequest & WithInitialMessage(InitialMessageT &&value)
const ParticipantConfiguration & GetParticipantConfiguration() const
void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
StartChatContactRequest & AddSegmentAttributes(SegmentAttributesKeyT &&key, SegmentAttributesValueT &&value)
StartChatContactRequest & WithChatDurationInMinutes(int value)
void SetSegmentAttributes(SegmentAttributesT &&value)
StartChatContactRequest & WithParticipantDetails(ParticipantDetailsT &&value)
StartChatContactRequest & WithSegmentAttributes(SegmentAttributesT &&value)
StartChatContactRequest & WithDisconnectOnCustomerExit(DisconnectOnCustomerExitT &&value)
void SetChatStreamingConfiguration(ChatStreamingConfigurationT &&value)
AWS_CONNECT_API Aws::String SerializePayload() const override
const Aws::Vector< ConnectionType > & GetConnectionTypes() const
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
StartChatContactRequest & AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
const Aws::Map< Aws::String, SegmentAttributeValue > & GetSegmentAttributes() const
StartChatContactRequest & WithInstanceId(InstanceIdT &&value)
const ChatStreamingConfiguration & GetChatStreamingConfiguration() const
StartChatContactRequest & WithRelatedContactId(RelatedContactIdT &&value)
StartChatContactRequest & WithContactFlowId(ContactFlowIdT &&value)
StartChatContactRequest & WithCustomerId(CustomerIdT &&value)
void SetParticipantDetails(ParticipantDetailsT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector