AWS SDK for C++

AWS SDK for C++ Version 1.11.555

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Loading...
Searching...
No Matches
StartOutboundChatContactRequest.h
1
6#pragma once
7#include <aws/connect/Connect_EXPORTS.h>
8#include <aws/connect/ConnectRequest.h>
9#include <aws/connect/model/Endpoint.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/connect/model/ParticipantDetails.h>
13#include <aws/connect/model/ChatMessage.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/connect/model/SegmentAttributeValue.h>
16#include <utility>
17#include <aws/core/utils/UUID.h>
18
19namespace Aws
20{
21namespace Connect
22{
23namespace Model
24{
25
29 {
30 public:
31 AWS_CONNECT_API StartOutboundChatContactRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "StartOutboundChatContact"; }
38
39 AWS_CONNECT_API Aws::String SerializePayload() const override;
40
41
43
44 inline const Endpoint& GetSourceEndpoint() const { return m_sourceEndpoint; }
45 inline bool SourceEndpointHasBeenSet() const { return m_sourceEndpointHasBeenSet; }
46 template<typename SourceEndpointT = Endpoint>
47 void SetSourceEndpoint(SourceEndpointT&& value) { m_sourceEndpointHasBeenSet = true; m_sourceEndpoint = std::forward<SourceEndpointT>(value); }
48 template<typename SourceEndpointT = Endpoint>
49 StartOutboundChatContactRequest& WithSourceEndpoint(SourceEndpointT&& value) { SetSourceEndpoint(std::forward<SourceEndpointT>(value)); return *this;}
51
53
54 inline const Endpoint& GetDestinationEndpoint() const { return m_destinationEndpoint; }
55 inline bool DestinationEndpointHasBeenSet() const { return m_destinationEndpointHasBeenSet; }
56 template<typename DestinationEndpointT = Endpoint>
57 void SetDestinationEndpoint(DestinationEndpointT&& value) { m_destinationEndpointHasBeenSet = true; m_destinationEndpoint = std::forward<DestinationEndpointT>(value); }
58 template<typename DestinationEndpointT = Endpoint>
59 StartOutboundChatContactRequest& WithDestinationEndpoint(DestinationEndpointT&& value) { SetDestinationEndpoint(std::forward<DestinationEndpointT>(value)); return *this;}
61
63
67 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
68 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
69 template<typename InstanceIdT = Aws::String>
70 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
71 template<typename InstanceIdT = Aws::String>
72 StartOutboundChatContactRequest& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
74
76
84 inline const Aws::Map<Aws::String, SegmentAttributeValue>& GetSegmentAttributes() const { return m_segmentAttributes; }
85 inline bool SegmentAttributesHasBeenSet() const { return m_segmentAttributesHasBeenSet; }
86 template<typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
87 void SetSegmentAttributes(SegmentAttributesT&& value) { m_segmentAttributesHasBeenSet = true; m_segmentAttributes = std::forward<SegmentAttributesT>(value); }
88 template<typename SegmentAttributesT = Aws::Map<Aws::String, SegmentAttributeValue>>
89 StartOutboundChatContactRequest& WithSegmentAttributes(SegmentAttributesT&& value) { SetSegmentAttributes(std::forward<SegmentAttributesT>(value)); return *this;}
90 template<typename SegmentAttributesKeyT = Aws::String, typename SegmentAttributesValueT = SegmentAttributeValue>
91 StartOutboundChatContactRequest& AddSegmentAttributes(SegmentAttributesKeyT&& key, SegmentAttributesValueT&& value) {
92 m_segmentAttributesHasBeenSet = true; m_segmentAttributes.emplace(std::forward<SegmentAttributesKeyT>(key), std::forward<SegmentAttributesValueT>(value)); return *this;
93 }
95
97
102 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
103 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
104 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
105 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
106 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
107 StartOutboundChatContactRequest& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
108 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
109 StartOutboundChatContactRequest& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
110 m_attributesHasBeenSet = true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value)); return *this;
111 }
113
115
124 inline const Aws::String& GetContactFlowId() const { return m_contactFlowId; }
125 inline bool ContactFlowIdHasBeenSet() const { return m_contactFlowIdHasBeenSet; }
126 template<typename ContactFlowIdT = Aws::String>
127 void SetContactFlowId(ContactFlowIdT&& value) { m_contactFlowIdHasBeenSet = true; m_contactFlowId = std::forward<ContactFlowIdT>(value); }
128 template<typename ContactFlowIdT = Aws::String>
129 StartOutboundChatContactRequest& WithContactFlowId(ContactFlowIdT&& value) { SetContactFlowId(std::forward<ContactFlowIdT>(value)); return *this;}
131
133
138 inline int GetChatDurationInMinutes() const { return m_chatDurationInMinutes; }
139 inline bool ChatDurationInMinutesHasBeenSet() const { return m_chatDurationInMinutesHasBeenSet; }
140 inline void SetChatDurationInMinutes(int value) { m_chatDurationInMinutesHasBeenSet = true; m_chatDurationInMinutes = value; }
143
145
146 inline const ParticipantDetails& GetParticipantDetails() const { return m_participantDetails; }
147 inline bool ParticipantDetailsHasBeenSet() const { return m_participantDetailsHasBeenSet; }
148 template<typename ParticipantDetailsT = ParticipantDetails>
149 void SetParticipantDetails(ParticipantDetailsT&& value) { m_participantDetailsHasBeenSet = true; m_participantDetails = std::forward<ParticipantDetailsT>(value); }
150 template<typename ParticipantDetailsT = ParticipantDetails>
151 StartOutboundChatContactRequest& WithParticipantDetails(ParticipantDetailsT&& value) { SetParticipantDetails(std::forward<ParticipantDetailsT>(value)); return *this;}
153
155
156 inline const ChatMessage& GetInitialSystemMessage() const { return m_initialSystemMessage; }
157 inline bool InitialSystemMessageHasBeenSet() const { return m_initialSystemMessageHasBeenSet; }
158 template<typename InitialSystemMessageT = ChatMessage>
159 void SetInitialSystemMessage(InitialSystemMessageT&& value) { m_initialSystemMessageHasBeenSet = true; m_initialSystemMessage = std::forward<InitialSystemMessageT>(value); }
160 template<typename InitialSystemMessageT = ChatMessage>
161 StartOutboundChatContactRequest& WithInitialSystemMessage(InitialSystemMessageT&& value) { SetInitialSystemMessage(std::forward<InitialSystemMessageT>(value)); return *this;}
163
165
169 inline const Aws::String& GetRelatedContactId() const { return m_relatedContactId; }
170 inline bool RelatedContactIdHasBeenSet() const { return m_relatedContactIdHasBeenSet; }
171 template<typename RelatedContactIdT = Aws::String>
172 void SetRelatedContactId(RelatedContactIdT&& value) { m_relatedContactIdHasBeenSet = true; m_relatedContactId = std::forward<RelatedContactIdT>(value); }
173 template<typename RelatedContactIdT = Aws::String>
174 StartOutboundChatContactRequest& WithRelatedContactId(RelatedContactIdT&& value) { SetRelatedContactId(std::forward<RelatedContactIdT>(value)); return *this;}
176
178
193 inline const Aws::Vector<Aws::String>& GetSupportedMessagingContentTypes() const { return m_supportedMessagingContentTypes; }
194 inline bool SupportedMessagingContentTypesHasBeenSet() const { return m_supportedMessagingContentTypesHasBeenSet; }
195 template<typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
196 void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) { m_supportedMessagingContentTypesHasBeenSet = true; m_supportedMessagingContentTypes = std::forward<SupportedMessagingContentTypesT>(value); }
197 template<typename SupportedMessagingContentTypesT = Aws::Vector<Aws::String>>
198 StartOutboundChatContactRequest& WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) { SetSupportedMessagingContentTypes(std::forward<SupportedMessagingContentTypesT>(value)); return *this;}
199 template<typename SupportedMessagingContentTypesT = Aws::String>
200 StartOutboundChatContactRequest& AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT&& value) { m_supportedMessagingContentTypesHasBeenSet = true; m_supportedMessagingContentTypes.emplace_back(std::forward<SupportedMessagingContentTypesT>(value)); return *this; }
202
204
212 inline const Aws::String& GetClientToken() const { return m_clientToken; }
213 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
214 template<typename ClientTokenT = Aws::String>
215 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
216 template<typename ClientTokenT = Aws::String>
217 StartOutboundChatContactRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
219 private:
220
221 Endpoint m_sourceEndpoint;
222 bool m_sourceEndpointHasBeenSet = false;
223
224 Endpoint m_destinationEndpoint;
225 bool m_destinationEndpointHasBeenSet = false;
226
227 Aws::String m_instanceId;
228 bool m_instanceIdHasBeenSet = false;
229
231 bool m_segmentAttributesHasBeenSet = false;
232
234 bool m_attributesHasBeenSet = false;
235
236 Aws::String m_contactFlowId;
237 bool m_contactFlowIdHasBeenSet = false;
238
239 int m_chatDurationInMinutes{0};
240 bool m_chatDurationInMinutesHasBeenSet = false;
241
242 ParticipantDetails m_participantDetails;
243 bool m_participantDetailsHasBeenSet = false;
244
245 ChatMessage m_initialSystemMessage;
246 bool m_initialSystemMessageHasBeenSet = false;
247
248 Aws::String m_relatedContactId;
249 bool m_relatedContactIdHasBeenSet = false;
250
251 Aws::Vector<Aws::String> m_supportedMessagingContentTypes;
252 bool m_supportedMessagingContentTypesHasBeenSet = false;
253
254 Aws::String m_clientToken;
255 bool m_clientTokenHasBeenSet = false;
256 };
257
258} // namespace Model
259} // namespace Connect
260} // namespace Aws
StartOutboundChatContactRequest & AddSegmentAttributes(SegmentAttributesKeyT &&key, SegmentAttributesValueT &&value)
StartOutboundChatContactRequest & WithParticipantDetails(ParticipantDetailsT &&value)
StartOutboundChatContactRequest & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
StartOutboundChatContactRequest & WithInstanceId(InstanceIdT &&value)
StartOutboundChatContactRequest & WithContactFlowId(ContactFlowIdT &&value)
StartOutboundChatContactRequest & WithSourceEndpoint(SourceEndpointT &&value)
StartOutboundChatContactRequest & WithSegmentAttributes(SegmentAttributesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
StartOutboundChatContactRequest & WithChatDurationInMinutes(int value)
StartOutboundChatContactRequest & WithAttributes(AttributesT &&value)
StartOutboundChatContactRequest & WithDestinationEndpoint(DestinationEndpointT &&value)
const Aws::Map< Aws::String, SegmentAttributeValue > & GetSegmentAttributes() const
void SetSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
AWS_CONNECT_API StartOutboundChatContactRequest()=default
StartOutboundChatContactRequest & AddSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
StartOutboundChatContactRequest & WithInitialSystemMessage(InitialSystemMessageT &&value)
StartOutboundChatContactRequest & WithClientToken(ClientTokenT &&value)
AWS_CONNECT_API Aws::String SerializePayload() const override
StartOutboundChatContactRequest & WithRelatedContactId(RelatedContactIdT &&value)
const Aws::Vector< Aws::String > & GetSupportedMessagingContentTypes() const
StartOutboundChatContactRequest & WithSupportedMessagingContentTypes(SupportedMessagingContentTypesT &&value)
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