AWS SDK for C++

AWS SDK for C++ Version 1.11.690

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/ParticipantDetails.h>
11#include <aws/connect/model/PersistentChat.h>
12#include <aws/connect/model/SegmentAttributeValue.h>
13#include <aws/core/utils/UUID.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/core/utils/memory/stl/AWSVector.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Connect {
22namespace Model {
23
27 public:
28 AWS_CONNECT_API StartChatContactRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "StartChatContact"; }
35
36 AWS_CONNECT_API Aws::String SerializePayload() const override;
37
39
44 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
45 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
46 template <typename InstanceIdT = Aws::String>
47 void SetInstanceId(InstanceIdT&& value) {
48 m_instanceIdHasBeenSet = true;
49 m_instanceId = std::forward<InstanceIdT>(value);
50 }
51 template <typename InstanceIdT = Aws::String>
53 SetInstanceId(std::forward<InstanceIdT>(value));
54 return *this;
55 }
57
59
68 inline const Aws::String& GetContactFlowId() const { return m_contactFlowId; }
69 inline bool ContactFlowIdHasBeenSet() const { return m_contactFlowIdHasBeenSet; }
70 template <typename ContactFlowIdT = Aws::String>
71 void SetContactFlowId(ContactFlowIdT&& value) {
72 m_contactFlowIdHasBeenSet = true;
73 m_contactFlowId = std::forward<ContactFlowIdT>(value);
74 }
75 template <typename ContactFlowIdT = Aws::String>
76 StartChatContactRequest& WithContactFlowId(ContactFlowIdT&& value) {
77 SetContactFlowId(std::forward<ContactFlowIdT>(value));
78 return *this;
79 }
81
83
90 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
91 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
92 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
93 void SetAttributes(AttributesT&& value) {
94 m_attributesHasBeenSet = true;
95 m_attributes = std::forward<AttributesT>(value);
96 }
97 template <typename AttributesT = Aws::Map<Aws::String, Aws::String>>
99 SetAttributes(std::forward<AttributesT>(value));
100 return *this;
101 }
102 template <typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
103 StartChatContactRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
104 m_attributesHasBeenSet = true;
105 m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value));
106 return *this;
107 }
109
111
114 inline const ParticipantDetails& GetParticipantDetails() const { return m_participantDetails; }
115 inline bool ParticipantDetailsHasBeenSet() const { return m_participantDetailsHasBeenSet; }
116 template <typename ParticipantDetailsT = ParticipantDetails>
117 void SetParticipantDetails(ParticipantDetailsT&& value) {
118 m_participantDetailsHasBeenSet = true;
119 m_participantDetails = std::forward<ParticipantDetailsT>(value);
120 }
121 template <typename ParticipantDetailsT = ParticipantDetails>
122 StartChatContactRequest& WithParticipantDetails(ParticipantDetailsT&& value) {
123 SetParticipantDetails(std::forward<ParticipantDetailsT>(value));
124 return *this;
125 }
127
129
132 inline const ChatMessage& GetInitialMessage() const { return m_initialMessage; }
133 inline bool InitialMessageHasBeenSet() const { return m_initialMessageHasBeenSet; }
134 template <typename InitialMessageT = ChatMessage>
135 void SetInitialMessage(InitialMessageT&& value) {
136 m_initialMessageHasBeenSet = true;
137 m_initialMessage = std::forward<InitialMessageT>(value);
138 }
139 template <typename InitialMessageT = ChatMessage>
140 StartChatContactRequest& WithInitialMessage(InitialMessageT&& value) {
141 SetInitialMessage(std::forward<InitialMessageT>(value));
142 return *this;
143 }
145
147
154 inline const Aws::String& GetClientToken() const { return m_clientToken; }
155 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
156 template <typename ClientTokenT = Aws::String>
157 void SetClientToken(ClientTokenT&& value) {
158 m_clientTokenHasBeenSet = true;
159 m_clientToken = std::forward<ClientTokenT>(value);
160 }
161 template <typename ClientTokenT = Aws::String>
163 SetClientToken(std::forward<ClientTokenT>(value));
164 return *this;
165 }
167
169
174 inline int GetChatDurationInMinutes() const { return m_chatDurationInMinutes; }
175 inline bool ChatDurationInMinutesHasBeenSet() const { return m_chatDurationInMinutesHasBeenSet; }
176 inline void SetChatDurationInMinutes(int value) {
177 m_chatDurationInMinutesHasBeenSet = true;
178 m_chatDurationInMinutes = value;
179 }
182 return *this;
183 }
185
187
205 inline const Aws::Vector<Aws::String>& GetSupportedMessagingContentTypes() const { return m_supportedMessagingContentTypes; }
206 inline bool SupportedMessagingContentTypesHasBeenSet() const { return m_supportedMessagingContentTypesHasBeenSet; }
207 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
208 void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
209 m_supportedMessagingContentTypesHasBeenSet = true;
210 m_supportedMessagingContentTypes = std::forward<SupportedMessagingContentTypesT>(value);
211 }
212 template <typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
213 StartChatContactRequest& WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
214 SetSupportedMessagingContentTypes(std::forward<SupportedMessagingContentTypesT>(value));
215 return *this;
216 }
217 template <typename SupportedMessagingContentTypesT = Aws::String>
218 StartChatContactRequest& AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) {
219 m_supportedMessagingContentTypesHasBeenSet = true;
220 m_supportedMessagingContentTypes.emplace_back(std::forward<SupportedMessagingContentTypesT>(value));
221 return *this;
222 }
224
226
232 inline const PersistentChat& GetPersistentChat() const { return m_persistentChat; }
233 inline bool PersistentChatHasBeenSet() const { return m_persistentChatHasBeenSet; }
234 template <typename PersistentChatT = PersistentChat>
235 void SetPersistentChat(PersistentChatT&& value) {
236 m_persistentChatHasBeenSet = true;
237 m_persistentChat = std::forward<PersistentChatT>(value);
238 }
239 template <typename PersistentChatT = PersistentChat>
240 StartChatContactRequest& WithPersistentChat(PersistentChatT&& value) {
241 SetPersistentChat(std::forward<PersistentChatT>(value));
242 return *this;
243 }
245
247
252 inline const Aws::String& GetRelatedContactId() const { return m_relatedContactId; }
253 inline bool RelatedContactIdHasBeenSet() const { return m_relatedContactIdHasBeenSet; }
254 template <typename RelatedContactIdT = Aws::String>
255 void SetRelatedContactId(RelatedContactIdT&& value) {
256 m_relatedContactIdHasBeenSet = true;
257 m_relatedContactId = std::forward<RelatedContactIdT>(value);
258 }
259 template <typename RelatedContactIdT = Aws::String>
260 StartChatContactRequest& WithRelatedContactId(RelatedContactIdT&& value) {
261 SetRelatedContactId(std::forward<RelatedContactIdT>(value));
262 return *this;
263 }
265
267
279 inline const Aws::Map<Aws::String, SegmentAttributeValue>& GetSegmentAttributes() const { return m_segmentAttributes; }
280 inline bool SegmentAttributesHasBeenSet() const { return m_segmentAttributesHasBeenSet; }
281 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
282 void SetSegmentAttributes(SegmentAttributesT&& value) {
283 m_segmentAttributesHasBeenSet = true;
284 m_segmentAttributes = std::forward<SegmentAttributesT>(value);
285 }
286 template <typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
287 StartChatContactRequest& WithSegmentAttributes(SegmentAttributesT&& value) {
288 SetSegmentAttributes(std::forward<SegmentAttributesT>(value));
289 return *this;
290 }
291 template <typename SegmentAttributesKeyT = Aws::String, typename SegmentAttributesValueT = SegmentAttributeValue>
292 StartChatContactRequest& AddSegmentAttributes(SegmentAttributesKeyT&& key, SegmentAttributesValueT&& value) {
293 m_segmentAttributesHasBeenSet = true;
294 m_segmentAttributes.emplace(std::forward<SegmentAttributesKeyT>(key), std::forward<SegmentAttributesValueT>(value));
295 return *this;
296 }
298
300
304 inline const Aws::String& GetCustomerId() const { return m_customerId; }
305 inline bool CustomerIdHasBeenSet() const { return m_customerIdHasBeenSet; }
306 template <typename CustomerIdT = Aws::String>
307 void SetCustomerId(CustomerIdT&& value) {
308 m_customerIdHasBeenSet = true;
309 m_customerId = std::forward<CustomerIdT>(value);
310 }
311 template <typename CustomerIdT = Aws::String>
313 SetCustomerId(std::forward<CustomerIdT>(value));
314 return *this;
315 }
317 private:
318 Aws::String m_instanceId;
319 bool m_instanceIdHasBeenSet = false;
320
321 Aws::String m_contactFlowId;
322 bool m_contactFlowIdHasBeenSet = false;
323
325 bool m_attributesHasBeenSet = false;
326
327 ParticipantDetails m_participantDetails;
328 bool m_participantDetailsHasBeenSet = false;
329
330 ChatMessage m_initialMessage;
331 bool m_initialMessageHasBeenSet = false;
332
334 bool m_clientTokenHasBeenSet = true;
335
336 int m_chatDurationInMinutes{0};
337 bool m_chatDurationInMinutesHasBeenSet = false;
338
339 Aws::Vector<Aws::String> m_supportedMessagingContentTypes;
340 bool m_supportedMessagingContentTypesHasBeenSet = false;
341
342 PersistentChat m_persistentChat;
343 bool m_persistentChatHasBeenSet = false;
344
345 Aws::String m_relatedContactId;
346 bool m_relatedContactIdHasBeenSet = false;
347
349 bool m_segmentAttributesHasBeenSet = false;
350
351 Aws::String m_customerId;
352 bool m_customerIdHasBeenSet = false;
353};
354
355} // namespace Model
356} // namespace Connect
357} // namespace Aws
StartChatContactRequest & WithClientToken(ClientTokenT &&value)
virtual const char * GetServiceRequestName() const override
StartChatContactRequest & WithAttributes(AttributesT &&value)
StartChatContactRequest & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
StartChatContactRequest & WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
StartChatContactRequest & WithPersistentChat(PersistentChatT &&value)
const Aws::Vector< Aws::String > & GetSupportedMessagingContentTypes() const
const ParticipantDetails & GetParticipantDetails() const
AWS_CONNECT_API StartChatContactRequest()=default
StartChatContactRequest & WithInitialMessage(InitialMessageT &&value)
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)
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