1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/pinpoint/model/MessageType.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Pinpoint 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies the sender ID and message type for an SMS message that's sent to 29 * participants in a journey.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/JourneySMSMessage">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API JourneySMSMessage 34 { 35 public: 36 JourneySMSMessage(); 37 JourneySMSMessage(Aws::Utils::Json::JsonView jsonValue); 38 JourneySMSMessage& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are 44 * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 45 * messsages that aren't critical or time-sensitive, such as marketing 46 * messages).</p> 47 */ GetMessageType()48 inline const MessageType& GetMessageType() const{ return m_messageType; } 49 50 /** 51 * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are 52 * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 53 * messsages that aren't critical or time-sensitive, such as marketing 54 * messages).</p> 55 */ MessageTypeHasBeenSet()56 inline bool MessageTypeHasBeenSet() const { return m_messageTypeHasBeenSet; } 57 58 /** 59 * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are 60 * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 61 * messsages that aren't critical or time-sensitive, such as marketing 62 * messages).</p> 63 */ SetMessageType(const MessageType & value)64 inline void SetMessageType(const MessageType& value) { m_messageTypeHasBeenSet = true; m_messageType = value; } 65 66 /** 67 * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are 68 * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 69 * messsages that aren't critical or time-sensitive, such as marketing 70 * messages).</p> 71 */ SetMessageType(MessageType && value)72 inline void SetMessageType(MessageType&& value) { m_messageTypeHasBeenSet = true; m_messageType = std::move(value); } 73 74 /** 75 * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are 76 * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 77 * messsages that aren't critical or time-sensitive, such as marketing 78 * messages).</p> 79 */ WithMessageType(const MessageType & value)80 inline JourneySMSMessage& WithMessageType(const MessageType& value) { SetMessageType(value); return *this;} 81 82 /** 83 * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are 84 * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 85 * messsages that aren't critical or time-sensitive, such as marketing 86 * messages).</p> 87 */ WithMessageType(MessageType && value)88 inline JourneySMSMessage& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;} 89 90 91 /** 92 * <p>The long code to send the SMS message from. This value should be one of the 93 * dedicated long codes that's assigned to your AWS account. Although it isn't 94 * required, we recommend that you specify the long code using an E.164 format to 95 * ensure prompt and accurate delivery of the message. For example, 96 * +12065550100.</p> 97 */ GetOriginationNumber()98 inline const Aws::String& GetOriginationNumber() const{ return m_originationNumber; } 99 100 /** 101 * <p>The long code to send the SMS message from. This value should be one of the 102 * dedicated long codes that's assigned to your AWS account. Although it isn't 103 * required, we recommend that you specify the long code using an E.164 format to 104 * ensure prompt and accurate delivery of the message. For example, 105 * +12065550100.</p> 106 */ OriginationNumberHasBeenSet()107 inline bool OriginationNumberHasBeenSet() const { return m_originationNumberHasBeenSet; } 108 109 /** 110 * <p>The long code to send the SMS message from. This value should be one of the 111 * dedicated long codes that's assigned to your AWS account. Although it isn't 112 * required, we recommend that you specify the long code using an E.164 format to 113 * ensure prompt and accurate delivery of the message. For example, 114 * +12065550100.</p> 115 */ SetOriginationNumber(const Aws::String & value)116 inline void SetOriginationNumber(const Aws::String& value) { m_originationNumberHasBeenSet = true; m_originationNumber = value; } 117 118 /** 119 * <p>The long code to send the SMS message from. This value should be one of the 120 * dedicated long codes that's assigned to your AWS account. Although it isn't 121 * required, we recommend that you specify the long code using an E.164 format to 122 * ensure prompt and accurate delivery of the message. For example, 123 * +12065550100.</p> 124 */ SetOriginationNumber(Aws::String && value)125 inline void SetOriginationNumber(Aws::String&& value) { m_originationNumberHasBeenSet = true; m_originationNumber = std::move(value); } 126 127 /** 128 * <p>The long code to send the SMS message from. This value should be one of the 129 * dedicated long codes that's assigned to your AWS account. Although it isn't 130 * required, we recommend that you specify the long code using an E.164 format to 131 * ensure prompt and accurate delivery of the message. For example, 132 * +12065550100.</p> 133 */ SetOriginationNumber(const char * value)134 inline void SetOriginationNumber(const char* value) { m_originationNumberHasBeenSet = true; m_originationNumber.assign(value); } 135 136 /** 137 * <p>The long code to send the SMS message from. This value should be one of the 138 * dedicated long codes that's assigned to your AWS account. Although it isn't 139 * required, we recommend that you specify the long code using an E.164 format to 140 * ensure prompt and accurate delivery of the message. For example, 141 * +12065550100.</p> 142 */ WithOriginationNumber(const Aws::String & value)143 inline JourneySMSMessage& WithOriginationNumber(const Aws::String& value) { SetOriginationNumber(value); return *this;} 144 145 /** 146 * <p>The long code to send the SMS message from. This value should be one of the 147 * dedicated long codes that's assigned to your AWS account. Although it isn't 148 * required, we recommend that you specify the long code using an E.164 format to 149 * ensure prompt and accurate delivery of the message. For example, 150 * +12065550100.</p> 151 */ WithOriginationNumber(Aws::String && value)152 inline JourneySMSMessage& WithOriginationNumber(Aws::String&& value) { SetOriginationNumber(std::move(value)); return *this;} 153 154 /** 155 * <p>The long code to send the SMS message from. This value should be one of the 156 * dedicated long codes that's assigned to your AWS account. Although it isn't 157 * required, we recommend that you specify the long code using an E.164 format to 158 * ensure prompt and accurate delivery of the message. For example, 159 * +12065550100.</p> 160 */ WithOriginationNumber(const char * value)161 inline JourneySMSMessage& WithOriginationNumber(const char* value) { SetOriginationNumber(value); return *this;} 162 163 164 /** 165 * <p>The sender ID to display as the sender of the message on a recipient's 166 * device. Support for sender IDs varies by country or region. For more 167 * information, see <a 168 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 169 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 170 */ GetSenderId()171 inline const Aws::String& GetSenderId() const{ return m_senderId; } 172 173 /** 174 * <p>The sender ID to display as the sender of the message on a recipient's 175 * device. Support for sender IDs varies by country or region. For more 176 * information, see <a 177 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 178 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 179 */ SenderIdHasBeenSet()180 inline bool SenderIdHasBeenSet() const { return m_senderIdHasBeenSet; } 181 182 /** 183 * <p>The sender ID to display as the sender of the message on a recipient's 184 * device. Support for sender IDs varies by country or region. For more 185 * information, see <a 186 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 187 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 188 */ SetSenderId(const Aws::String & value)189 inline void SetSenderId(const Aws::String& value) { m_senderIdHasBeenSet = true; m_senderId = value; } 190 191 /** 192 * <p>The sender ID to display as the sender of the message on a recipient's 193 * device. Support for sender IDs varies by country or region. For more 194 * information, see <a 195 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 196 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 197 */ SetSenderId(Aws::String && value)198 inline void SetSenderId(Aws::String&& value) { m_senderIdHasBeenSet = true; m_senderId = std::move(value); } 199 200 /** 201 * <p>The sender ID to display as the sender of the message on a recipient's 202 * device. Support for sender IDs varies by country or region. For more 203 * information, see <a 204 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 205 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 206 */ SetSenderId(const char * value)207 inline void SetSenderId(const char* value) { m_senderIdHasBeenSet = true; m_senderId.assign(value); } 208 209 /** 210 * <p>The sender ID to display as the sender of the message on a recipient's 211 * device. Support for sender IDs varies by country or region. For more 212 * information, see <a 213 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 214 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 215 */ WithSenderId(const Aws::String & value)216 inline JourneySMSMessage& WithSenderId(const Aws::String& value) { SetSenderId(value); return *this;} 217 218 /** 219 * <p>The sender ID to display as the sender of the message on a recipient's 220 * device. Support for sender IDs varies by country or region. For more 221 * information, see <a 222 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 223 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 224 */ WithSenderId(Aws::String && value)225 inline JourneySMSMessage& WithSenderId(Aws::String&& value) { SetSenderId(std::move(value)); return *this;} 226 227 /** 228 * <p>The sender ID to display as the sender of the message on a recipient's 229 * device. Support for sender IDs varies by country or region. For more 230 * information, see <a 231 * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported 232 * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p> 233 */ WithSenderId(const char * value)234 inline JourneySMSMessage& WithSenderId(const char* value) { SetSenderId(value); return *this;} 235 236 237 /** 238 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 239 * for sending SMS in your country.</p> 240 */ GetEntityId()241 inline const Aws::String& GetEntityId() const{ return m_entityId; } 242 243 /** 244 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 245 * for sending SMS in your country.</p> 246 */ EntityIdHasBeenSet()247 inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; } 248 249 /** 250 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 251 * for sending SMS in your country.</p> 252 */ SetEntityId(const Aws::String & value)253 inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; } 254 255 /** 256 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 257 * for sending SMS in your country.</p> 258 */ SetEntityId(Aws::String && value)259 inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); } 260 261 /** 262 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 263 * for sending SMS in your country.</p> 264 */ SetEntityId(const char * value)265 inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); } 266 267 /** 268 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 269 * for sending SMS in your country.</p> 270 */ WithEntityId(const Aws::String & value)271 inline JourneySMSMessage& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;} 272 273 /** 274 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 275 * for sending SMS in your country.</p> 276 */ WithEntityId(Aws::String && value)277 inline JourneySMSMessage& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;} 278 279 /** 280 * <p>The entity ID or Principal Entity (PE) id received from the regulatory body 281 * for sending SMS in your country.</p> 282 */ WithEntityId(const char * value)283 inline JourneySMSMessage& WithEntityId(const char* value) { SetEntityId(value); return *this;} 284 285 286 /** 287 * <p>The template ID received from the regulatory body for sending SMS in your 288 * country.</p> 289 */ GetTemplateId()290 inline const Aws::String& GetTemplateId() const{ return m_templateId; } 291 292 /** 293 * <p>The template ID received from the regulatory body for sending SMS in your 294 * country.</p> 295 */ TemplateIdHasBeenSet()296 inline bool TemplateIdHasBeenSet() const { return m_templateIdHasBeenSet; } 297 298 /** 299 * <p>The template ID received from the regulatory body for sending SMS in your 300 * country.</p> 301 */ SetTemplateId(const Aws::String & value)302 inline void SetTemplateId(const Aws::String& value) { m_templateIdHasBeenSet = true; m_templateId = value; } 303 304 /** 305 * <p>The template ID received from the regulatory body for sending SMS in your 306 * country.</p> 307 */ SetTemplateId(Aws::String && value)308 inline void SetTemplateId(Aws::String&& value) { m_templateIdHasBeenSet = true; m_templateId = std::move(value); } 309 310 /** 311 * <p>The template ID received from the regulatory body for sending SMS in your 312 * country.</p> 313 */ SetTemplateId(const char * value)314 inline void SetTemplateId(const char* value) { m_templateIdHasBeenSet = true; m_templateId.assign(value); } 315 316 /** 317 * <p>The template ID received from the regulatory body for sending SMS in your 318 * country.</p> 319 */ WithTemplateId(const Aws::String & value)320 inline JourneySMSMessage& WithTemplateId(const Aws::String& value) { SetTemplateId(value); return *this;} 321 322 /** 323 * <p>The template ID received from the regulatory body for sending SMS in your 324 * country.</p> 325 */ WithTemplateId(Aws::String && value)326 inline JourneySMSMessage& WithTemplateId(Aws::String&& value) { SetTemplateId(std::move(value)); return *this;} 327 328 /** 329 * <p>The template ID received from the regulatory body for sending SMS in your 330 * country.</p> 331 */ WithTemplateId(const char * value)332 inline JourneySMSMessage& WithTemplateId(const char* value) { SetTemplateId(value); return *this;} 333 334 private: 335 336 MessageType m_messageType; 337 bool m_messageTypeHasBeenSet; 338 339 Aws::String m_originationNumber; 340 bool m_originationNumberHasBeenSet; 341 342 Aws::String m_senderId; 343 bool m_senderIdHasBeenSet; 344 345 Aws::String m_entityId; 346 bool m_entityIdHasBeenSet; 347 348 Aws::String m_templateId; 349 bool m_templateIdHasBeenSet; 350 }; 351 352 } // namespace Model 353 } // namespace Pinpoint 354 } // namespace Aws 355