AWS SDK for C++

AWS SDK for C++ Version 1.11.714

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/DisconnectOnCustomerExitParticipantType.h>
11#include <aws/connect/model/ParticipantConfiguration.h>
12#include <aws/connect/model/ParticipantDetails.h>
13#include <aws/connect/model/PersistentChat.h>
14#include <aws/connect/model/SegmentAttributeValue.h>
15#include <aws/core/utils/UUID.h>
16#include <aws/core/utils/memory/stl/AWSMap.h>
17#include <aws/core/utils/memory/stl/AWSString.h>
18#include <aws/core/utils/memory/stl/AWSVector.h>
19
20#include <utility>
21
22namespace Aws {
23namespace Connect {
24namespace Model {
25
29 public:
30 AWS_CONNECT_API StartChatContactRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "StartChatContact"; }
37
38 AWS_CONNECT_API Aws::String SerializePayload() const override;
39
41
46 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
47 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
48 template <typename InstanceIdT = Aws::String>
49 void SetInstanceId(InstanceIdT&& value) {
50 m_instanceIdHasBeenSet = true;
51 m_instanceId = std::forward<InstanceIdT>(value);
52 }
53 template <typename InstanceIdT = Aws::String>
55 SetInstanceId(std::forward<InstanceIdT>(value));
56 return *this;
57 }
59
61
70 inline const Aws::String& GetContactFlowId() const { return m_contactFlowId; }
71 inline bool ContactFlowIdHasBeenSet() const { return m_contactFlowIdHasBeenSet; }
72 template <typename ContactFlowIdT = Aws::String>
73 void SetContactFlowId(ContactFlowIdT&& value) {
74 m_contactFlowIdHasBeenSet = true;
75 m_contactFlowId = std::forward<ContactFlowIdT>(value);
76 }
77 template <typename ContactFlowIdT = Aws::String>
78 StartChatContactRequest& WithContactFlowId(ContactFlowIdT&& value) {
79 SetContactFlowId(std::forward<ContactFlowIdT>(value));
80 return *this;
81 }
83
85
92 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
93 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
94 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
95 void SetAttributes(AttributesT&& value) {
96 m_attributesHasBeenSet = true;
97 m_attributes = std::forward<AttributesT>(value);
98 }
99 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
101 SetAttributes(std::forward<AttributesT>(value));
102 return *this;
103 }
104 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
105 StartChatContactRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
106 m_attributesHasBeenSet = true;
107 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
108 return *this;
109 }
111
113
116 inline const ParticipantDetails& GetParticipantDetails() const { return m_participantDetails; }
117 inline bool ParticipantDetailsHasBeenSet() const { return m_participantDetailsHasBeenSet; }
118 template <typename ParticipantDetailsT = ParticipantDetails>
119 void SetParticipantDetails(ParticipantDetailsT&& value) {
120 m_participantDetailsHasBeenSet = true;
121 m_participantDetails = std::forward<ParticipantDetailsT>(value);
122 }
123 template <typename ParticipantDetailsT = ParticipantDetails>
124 StartChatContactRequest& WithParticipantDetails(ParticipantDetailsT&& value) {
125 SetParticipantDetails(std::forward<ParticipantDetailsT>(value));
126 return *this;
127 }
129
131
134 inline const ParticipantConfiguration& GetParticipantConfiguration() const { return m_participantConfiguration; }
135 inline bool ParticipantConfigurationHasBeenSet() const { return m_participantConfigurationHasBeenSet; }
136 template <typename ParticipantConfigurationT = ParticipantConfiguration>
137 void SetParticipantConfiguration(ParticipantConfigurationT&& value) {
138 m_participantConfigurationHasBeenSet = true;
139 m_participantConfiguration = std::forward<ParticipantConfigurationT>(value);
140 }
141 template <typename ParticipantConfigurationT = ParticipantConfiguration>
142 StartChatContactRequest& WithParticipantConfiguration(ParticipantConfigurationT&& value) {
143 SetParticipantConfiguration(std::forward<ParticipantConfigurationT>(value));
144 return *this;
145 }
147
149
152 inline const ChatMessage& GetInitialMessage() const { return m_initialMessage; }
153 inline bool InitialMessageHasBeenSet() const { return m_initialMessageHasBeenSet; }
154 template <typename InitialMessageT = ChatMessage>
155 void SetInitialMessage(InitialMessageT&& value) {
156 m_initialMessageHasBeenSet = true;
157 m_initialMessage = std::forward<InitialMessageT>(value);
158 }
159 template <typename InitialMessageT = ChatMessage>
160 StartChatContactRequest& WithInitialMessage(InitialMessageT&& value) {
161 SetInitialMessage(std::forward<InitialMessageT>(value));
162 return *this;
163 }
165
167
174 inline const Aws::String& GetClientToken() const { return m_clientToken; }
175 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
176 template <typename ClientTokenT = Aws::String>
177 void SetClientToken(ClientTokenT&& value) {
178 m_clientTokenHasBeenSet = true;
179 m_clientToken = std::forward<ClientTokenT>(value);
180 }
181 template <typename ClientTokenT = Aws::String>
183 SetClientToken(std::forward<ClientTokenT>(value));
184 return *this;
185 }
187
189
194 inline int GetChatDurationInMinutes() const { return m_chatDurationInMinutes; }
195 inline bool ChatDurationInMinutesHasBeenSet() const { return m_chatDurationInMinutesHasBeenSet; }
196 inline void SetChatDurationInMinutes(int value) {
197 m_chatDurationInMinutesHasBeenSet = true;
198 m_chatDurationInMinutes = value;
199 }
202 return *this;
203 }
205
207
225 inline const Aws::Vector<Aws::String>& GetSupportedMessagingContentTypes() const { return m_supportedMessagingContentTypes; }
226 inline bool SupportedMessagingContentTypesHasBeenSet() const { return m_supportedMessagingContentTypesHasBeenSet; }
227 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
228 void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
229 m_supportedMessagingContentTypesHasBeenSet = true;
230 m_supportedMessagingContentTypes = std::forward<SupportedMessagingContentTypesT>(value);
231 }
232 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
233 StartChatContactRequest& WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
234 SetSupportedMessagingContentTypes(std::forward<SupportedMessagingContentTypesT>(value));
235 return *this;
236 }
237 template <typename SupportedMessagingContentTypesT = Aws::String>
238 StartChatContactRequest& AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
239 m_supportedMessagingContentTypesHasBeenSet = true;
240 m_supportedMessagingContentTypes.emplace_back(std::forward<SupportedMessagingContentTypesT>(value));
241 return *this;
242 }
244
246
252 inline const PersistentChat& GetPersistentChat() const { return m_persistentChat; }
253 inline bool PersistentChatHasBeenSet() const { return m_persistentChatHasBeenSet; }
254 template <typename PersistentChatT = PersistentChat>
255 void SetPersistentChat(PersistentChatT&& value) {
256 m_persistentChatHasBeenSet = true;
257 m_persistentChat = std::forward<PersistentChatT>(value);
258 }
259 template <typename PersistentChatT = PersistentChat>
260 StartChatContactRequest& WithPersistentChat(PersistentChatT&& value) {
261 SetPersistentChat(std::forward<PersistentChatT>(value));
262 return *this;
263 }
265
267
272 inline const Aws::String& GetRelatedContactId() const { return m_relatedContactId; }
273 inline bool RelatedContactIdHasBeenSet() const { return m_relatedContactIdHasBeenSet; }
274 template <typename RelatedContactIdT = Aws::String>
275 void SetRelatedContactId(RelatedContactIdT&& value) {
276 m_relatedContactIdHasBeenSet = true;
277 m_relatedContactId = std::forward<RelatedContactIdT>(value);
278 }
279 template <typename RelatedContactIdT = Aws::String>
280 StartChatContactRequest& WithRelatedContactId(RelatedContactIdT&& value) {
281 SetRelatedContactId(std::forward<RelatedContactIdT>(value));
282 return *this;
283 }
285
287
299 inline const Aws::Map<Aws::String, SegmentAttributeValue>& GetSegmentAttributes() const { return m_segmentAttributes; }
300 inline bool SegmentAttributesHasBeenSet() const { return m_segmentAttributesHasBeenSet; }
301 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
302 void SetSegmentAttributes(SegmentAttributesT&& value) {
303 m_segmentAttributesHasBeenSet = true;
304 m_segmentAttributes = std::forward<SegmentAttributesT>(value);
305 }
306 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
307 StartChatContactRequest& WithSegmentAttributes(SegmentAttributesT&& value) {
308 SetSegmentAttributes(std::forward<SegmentAttributesT>(value));
309 return *this;
310 }
311 template <typename SegmentAttributesKeyT = Aws::String, typename SegmentAttributesValueT = SegmentAttributeValue>
312 StartChatContactRequest& AddSegmentAttributes(SegmentAttributesKeyT&& key, SegmentAttributesValueT&& value) {
313 m_segmentAttributesHasBeenSet = true;
314 m_segmentAttributes.emplace(std::forward<SegmentAttributesKeyT>(key), std::forward<SegmentAttributesValueT>(value));
315 return *this;
316 }
318
320
324 inline const Aws::String& GetCustomerId() const { return m_customerId; }
325 inline bool CustomerIdHasBeenSet() const { return m_customerIdHasBeenSet; }
326 template <typename CustomerIdT = Aws::String>
327 void SetCustomerId(CustomerIdT&& value) {
328 m_customerIdHasBeenSet = true;
329 m_customerId = std::forward<CustomerIdT>(value);
330 }
331 template <typename CustomerIdT = Aws::String>
333 SetCustomerId(std::forward<CustomerIdT>(value));
334 return *this;
335 }
337
339
345 return m_disconnectOnCustomerExit;
346 }
347 inline bool DisconnectOnCustomerExitHasBeenSet() const { return m_disconnectOnCustomerExitHasBeenSet; }
348 template <typename DisconnectOnCustomerExitT = Aws::Vector<DisconnectOnCustomerExitParticipantType>>
349 void SetDisconnectOnCustomerExit(DisconnectOnCustomerExitT&& value) {
350 m_disconnectOnCustomerExitHasBeenSet = true;
351 m_disconnectOnCustomerExit = std::forward<DisconnectOnCustomerExitT>(value);
352 }
353 template <typename DisconnectOnCustomerExitT = Aws::Vector<DisconnectOnCustomerExitParticipantType>>
354 StartChatContactRequest& WithDisconnectOnCustomerExit(DisconnectOnCustomerExitT&& value) {
355 SetDisconnectOnCustomerExit(std::forward<DisconnectOnCustomerExitT>(value));
356 return *this;
357 }
359 m_disconnectOnCustomerExitHasBeenSet = true;
360 m_disconnectOnCustomerExit.push_back(value);
361 return *this;
362 }
364 private:
365 Aws::String m_instanceId;
366
367 Aws::String m_contactFlowId;
368
370
371 ParticipantDetails m_participantDetails;
372
373 ParticipantConfiguration m_participantConfiguration;
374
375 ChatMessage m_initialMessage;
376
378
379 int m_chatDurationInMinutes{0};
380
381 Aws::Vector<Aws::String> m_supportedMessagingContentTypes;
382
383 PersistentChat m_persistentChat;
384
385 Aws::String m_relatedContactId;
386
388
389 Aws::String m_customerId;
390
392 bool m_instanceIdHasBeenSet = false;
393 bool m_contactFlowIdHasBeenSet = false;
394 bool m_attributesHasBeenSet = false;
395 bool m_participantDetailsHasBeenSet = false;
396 bool m_participantConfigurationHasBeenSet = false;
397 bool m_initialMessageHasBeenSet = false;
398 bool m_clientTokenHasBeenSet = true;
399 bool m_chatDurationInMinutesHasBeenSet = false;
400 bool m_supportedMessagingContentTypesHasBeenSet = false;
401 bool m_persistentChatHasBeenSet = false;
402 bool m_relatedContactIdHasBeenSet = false;
403 bool m_segmentAttributesHasBeenSet = false;
404 bool m_customerIdHasBeenSet = false;
405 bool m_disconnectOnCustomerExitHasBeenSet = false;
406};
407
408} // namespace Model
409} // namespace Connect
410} // 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)
void SetParticipantConfiguration(ParticipantConfigurationT &&value)
StartChatContactRequest & WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
StartChatContactRequest & WithPersistentChat(PersistentChatT &&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
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)
AWS_CONNECT_API Aws::String SerializePayload() const override
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)
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