1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Provides information about the activities that were performed by a campaign. 10type ActivitiesResponse struct { 11 12 // An array of responses, one for each activity that was performed by the campaign. 13 // 14 // This member is required. 15 Item []ActivityResponse 16 17 // The string to use in a subsequent request to get the next page of results in a 18 // paginated response. This value is null if there are no additional pages. 19 NextToken *string 20} 21 22// Specifies the configuration and other settings for an activity in a journey. 23type Activity struct { 24 25 // The settings for a custom message activity. This type of activity calls an AWS 26 // Lambda function or web hook that sends messages to participants. 27 CUSTOM *CustomMessageActivity 28 29 // The settings for a yes/no split activity. This type of activity sends 30 // participants down one of two paths in a journey, based on conditions that you 31 // specify. 32 ConditionalSplit *ConditionalSplitActivity 33 34 // The custom description of the activity. 35 Description *string 36 37 // The settings for an email activity. This type of activity sends an email message 38 // to participants. 39 EMAIL *EmailMessageActivity 40 41 // The settings for a holdout activity. This type of activity stops a journey for a 42 // specified percentage of participants. 43 Holdout *HoldoutActivity 44 45 // The settings for a multivariate split activity. This type of activity sends 46 // participants down one of as many as five paths (including a default Else path) 47 // in a journey, based on conditions that you specify. 48 MultiCondition *MultiConditionalSplitActivity 49 50 // The settings for a push notification activity. This type of activity sends a 51 // push notification to participants. 52 PUSH *PushMessageActivity 53 54 // The settings for a random split activity. This type of activity randomly sends 55 // specified percentages of participants down one of as many as five paths in a 56 // journey, based on conditions that you specify. 57 RandomSplit *RandomSplitActivity 58 59 // The settings for an SMS activity. This type of activity sends a text message to 60 // participants. 61 SMS *SMSMessageActivity 62 63 // The settings for a wait activity. This type of activity waits for a certain 64 // amount of time or until a specific date and time before moving participants to 65 // the next activity in a journey. 66 Wait *WaitActivity 67} 68 69// Provides information about an activity that was performed by a campaign. 70type ActivityResponse struct { 71 72 // The unique identifier for the application that the campaign applies to. 73 // 74 // This member is required. 75 ApplicationId *string 76 77 // The unique identifier for the campaign that the activity applies to. 78 // 79 // This member is required. 80 CampaignId *string 81 82 // The unique identifier for the activity. 83 // 84 // This member is required. 85 Id *string 86 87 // The actual time, in ISO 8601 format, when the activity was marked CANCELLED or 88 // COMPLETED. 89 End *string 90 91 // Specifies whether the activity succeeded. Possible values are SUCCESS and FAIL. 92 Result *string 93 94 // The scheduled start time, in ISO 8601 format, for the activity. 95 ScheduledStart *string 96 97 // The actual start time, in ISO 8601 format, of the activity. 98 Start *string 99 100 // The current status of the activity. Possible values are: PENDING, INITIALIZING, 101 // RUNNING, PAUSED, CANCELLED, and COMPLETED. 102 State *string 103 104 // The total number of endpoints that the campaign successfully delivered messages 105 // to. 106 SuccessfulEndpointCount int32 107 108 // The total number of time zones that were completed. 109 TimezonesCompletedCount int32 110 111 // The total number of unique time zones that are in the segment for the campaign. 112 TimezonesTotalCount int32 113 114 // The total number of endpoints that the campaign attempted to deliver messages 115 // to. 116 TotalEndpointCount int32 117 118 // The unique identifier for the campaign treatment that the activity applies to. A 119 // treatment is a variation of a campaign that's used for A/B testing of a 120 // campaign. 121 TreatmentId *string 122} 123 124// Specifies address-based configuration settings for a message that's sent 125// directly to an endpoint. 126type AddressConfiguration struct { 127 128 // The message body to use instead of the default message body. This value 129 // overrides the default message body. 130 BodyOverride *string 131 132 // The channel to use when sending the message. 133 ChannelType ChannelType 134 135 // An object that maps custom attributes to attributes for the address and is 136 // attached to the message. Attribute names are case sensitive. For a push 137 // notification, this payload is added to the data.pinpoint object. For an email or 138 // text message, this payload is added to email/SMS delivery receipt event 139 // attributes. 140 Context map[string]string 141 142 // The raw, JSON-formatted string to use as the payload for the message. If 143 // specified, this value overrides all other values for the message. 144 RawContent *string 145 146 // A map of the message variables to merge with the variables specified by 147 // properties of the DefaultMessage object. The variables specified in this map 148 // take precedence over all other variables. 149 Substitutions map[string][]string 150 151 // The message title to use instead of the default message title. This value 152 // overrides the default message title. 153 TitleOverride *string 154} 155 156// Specifies the status and settings of the ADM (Amazon Device Messaging) channel 157// for an application. 158type ADMChannelRequest struct { 159 160 // The Client ID that you received from Amazon to send messages by using ADM. 161 // 162 // This member is required. 163 ClientId *string 164 165 // The Client Secret that you received from Amazon to send messages by using ADM. 166 // 167 // This member is required. 168 ClientSecret *string 169 170 // Specifies whether to enable the ADM channel for the application. 171 Enabled bool 172} 173 174// Provides information about the status and settings of the ADM (Amazon Device 175// Messaging) channel for an application. 176type ADMChannelResponse struct { 177 178 // The type of messaging or notification platform for the channel. For the ADM 179 // channel, this value is ADM. 180 // 181 // This member is required. 182 Platform *string 183 184 // The unique identifier for the application that the ADM channel applies to. 185 ApplicationId *string 186 187 // The date and time when the ADM channel was enabled. 188 CreationDate *string 189 190 // Specifies whether the ADM channel is enabled for the application. 191 Enabled bool 192 193 // (Not used) This property is retained only for backward compatibility. 194 HasCredential bool 195 196 // (Deprecated) An identifier for the ADM channel. This property is retained only 197 // for backward compatibility. 198 Id *string 199 200 // Specifies whether the ADM channel is archived. 201 IsArchived bool 202 203 // The user who last modified the ADM channel. 204 LastModifiedBy *string 205 206 // The date and time when the ADM channel was last modified. 207 LastModifiedDate *string 208 209 // The current version of the ADM channel. 210 Version int32 211} 212 213// Specifies the settings for a one-time message that's sent directly to an 214// endpoint through the ADM (Amazon Device Messaging) channel. 215type ADMMessage struct { 216 217 // The action to occur if the recipient taps the push notification. Valid values 218 // are: 219 // 220 // * OPEN_APP - Your app opens or it becomes the foreground app if it was 221 // sent to the background. This is the default action. 222 // 223 // * DEEP_LINK - Your app 224 // opens and displays a designated user interface in the app. This action uses the 225 // deep-linking features of the Android platform. 226 // 227 // * URL - The default mobile 228 // browser on the recipient's device opens and loads the web page at a URL that you 229 // specify. 230 Action Action 231 232 // The body of the notification message. 233 Body *string 234 235 // An arbitrary string that indicates that multiple messages are logically the same 236 // and that Amazon Device Messaging (ADM) can drop previously enqueued messages in 237 // favor of this message. 238 ConsolidationKey *string 239 240 // The JSON data payload to use for the push notification, if the notification is a 241 // silent push notification. This payload is added to the data.pinpoint.jsonBody 242 // object of the notification. 243 Data map[string]string 244 245 // The amount of time, in seconds, that ADM should store the message if the 246 // recipient's device is offline. Amazon Pinpoint specifies this value in the 247 // expiresAfter parameter when it sends the notification message to ADM. 248 ExpiresAfter *string 249 250 // The icon image name of the asset saved in your app. 251 IconReference *string 252 253 // The URL of the large icon image to display in the content view of the push 254 // notification. 255 ImageIconUrl *string 256 257 // The URL of an image to display in the push notification. 258 ImageUrl *string 259 260 // The base64-encoded, MD5 checksum of the value specified by the Data property. 261 // ADM uses the MD5 value to verify the integrity of the data. 262 MD5 *string 263 264 // The raw, JSON-formatted string to use as the payload for the notification 265 // message. If specified, this value overrides all other content for the message. 266 RawContent *string 267 268 // Specifies whether the notification is a silent push notification, which is a 269 // push notification that doesn't display on a recipient's device. Silent push 270 // notifications can be used for cases such as updating an app's configuration or 271 // supporting phone home functionality. 272 SilentPush bool 273 274 // The URL of the small icon image to display in the status bar and the content 275 // view of the push notification. 276 SmallImageIconUrl *string 277 278 // The sound to play when the recipient receives the push notification. You can use 279 // the default stream or specify the file name of a sound resource that's bundled 280 // in your app. On an Android platform, the sound file must reside in /res/raw/. 281 Sound *string 282 283 // The default message variables to use in the notification message. You can 284 // override the default variables with individual address variables. 285 Substitutions map[string][]string 286 287 // The title to display above the notification message on the recipient's device. 288 Title *string 289 290 // The URL to open in the recipient's default mobile browser, if a recipient taps 291 // the push notification and the value of the Action property is URL. 292 Url *string 293} 294 295// Specifies channel-specific content and settings for a message template that can 296// be used in push notifications that are sent through the ADM (Amazon Device 297// Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly 298// Google Cloud Messaging) channel. 299type AndroidPushNotificationTemplate struct { 300 301 // The action to occur if a recipient taps a push notification that's based on the 302 // message template. Valid values are: 303 // 304 // * OPEN_APP - Your app opens or it becomes 305 // the foreground app if it was sent to the background. This is the default 306 // action. 307 // 308 // * DEEP_LINK - Your app opens and displays a designated user interface 309 // in the app. This action uses the deep-linking features of the Android 310 // platform. 311 // 312 // * URL - The default mobile browser on the recipient's device opens 313 // and loads the web page at a URL that you specify. 314 Action Action 315 316 // The message body to use in a push notification that's based on the message 317 // template. 318 Body *string 319 320 // The URL of the large icon image to display in the content view of a push 321 // notification that's based on the message template. 322 ImageIconUrl *string 323 324 // The URL of an image to display in a push notification that's based on the 325 // message template. 326 ImageUrl *string 327 328 // The raw, JSON-formatted string to use as the payload for a push notification 329 // that's based on the message template. If specified, this value overrides all 330 // other content for the message template. 331 RawContent *string 332 333 // The URL of the small icon image to display in the status bar and the content 334 // view of a push notification that's based on the message template. 335 SmallImageIconUrl *string 336 337 // The sound to play when a recipient receives a push notification that's based on 338 // the message template. You can use the default stream or specify the file name of 339 // a sound resource that's bundled in your app. On an Android platform, the sound 340 // file must reside in /res/raw/. 341 Sound *string 342 343 // The title to use in a push notification that's based on the message template. 344 // This title appears above the notification message on a recipient's device. 345 Title *string 346 347 // The URL to open in a recipient's default mobile browser, if a recipient taps a 348 // push notification that's based on the message template and the value of the 349 // Action property is URL. 350 Url *string 351} 352 353// Specifies the status and settings of the APNs (Apple Push Notification service) 354// channel for an application. 355type APNSChannelRequest struct { 356 357 // The bundle identifier that's assigned to your iOS app. This identifier is used 358 // for APNs tokens. 359 BundleId *string 360 361 // The APNs client certificate that you received from Apple, if you want Amazon 362 // Pinpoint to communicate with APNs by using an APNs certificate. 363 Certificate *string 364 365 // The default authentication method that you want Amazon Pinpoint to use when 366 // authenticating with APNs, key or certificate. 367 DefaultAuthenticationMethod *string 368 369 // Specifies whether to enable the APNs channel for the application. 370 Enabled bool 371 372 // The private key for the APNs client certificate that you want Amazon Pinpoint to 373 // use to communicate with APNs. 374 PrivateKey *string 375 376 // The identifier that's assigned to your Apple developer account team. This 377 // identifier is used for APNs tokens. 378 TeamId *string 379 380 // The authentication key to use for APNs tokens. 381 TokenKey *string 382 383 // The key identifier that's assigned to your APNs signing key, if you want Amazon 384 // Pinpoint to communicate with APNs by using APNs tokens. 385 TokenKeyId *string 386} 387 388// Provides information about the status and settings of the APNs (Apple Push 389// Notification service) channel for an application. 390type APNSChannelResponse struct { 391 392 // The type of messaging or notification platform for the channel. For the APNs 393 // channel, this value is APNS. 394 // 395 // This member is required. 396 Platform *string 397 398 // The unique identifier for the application that the APNs channel applies to. 399 ApplicationId *string 400 401 // The date and time when the APNs channel was enabled. 402 CreationDate *string 403 404 // The default authentication method that Amazon Pinpoint uses to authenticate with 405 // APNs for this channel, key or certificate. 406 DefaultAuthenticationMethod *string 407 408 // Specifies whether the APNs channel is enabled for the application. 409 Enabled bool 410 411 // (Not used) This property is retained only for backward compatibility. 412 HasCredential bool 413 414 // Specifies whether the APNs channel is configured to communicate with APNs by 415 // using APNs tokens. To provide an authentication key for APNs tokens, set the 416 // TokenKey property of the channel. 417 HasTokenKey bool 418 419 // (Deprecated) An identifier for the APNs channel. This property is retained only 420 // for backward compatibility. 421 Id *string 422 423 // Specifies whether the APNs channel is archived. 424 IsArchived bool 425 426 // The user who last modified the APNs channel. 427 LastModifiedBy *string 428 429 // The date and time when the APNs channel was last modified. 430 LastModifiedDate *string 431 432 // The current version of the APNs channel. 433 Version int32 434} 435 436// Specifies the settings for a one-time message that's sent directly to an 437// endpoint through the APNs (Apple Push Notification service) channel. 438type APNSMessage struct { 439 440 // The type of push notification to send. Valid values are: 441 // 442 // * alert - For a 443 // standard notification that's displayed on recipients' devices and prompts a 444 // recipient to interact with the notification. 445 // 446 // * background - For a silent 447 // notification that delivers content in the background and isn't displayed on 448 // recipients' devices. 449 // 450 // * complication - For a notification that contains update 451 // information for an app’s complication timeline. 452 // 453 // * fileprovider - For a 454 // notification that signals changes to a File Provider extension. 455 // 456 // * mdm - For a 457 // notification that tells managed devices to contact the MDM server. 458 // 459 // * voip - For 460 // a notification that provides information about an incoming VoIP call. 461 // 462 // Amazon 463 // Pinpoint specifies this value in the apns-push-type request header when it sends 464 // the notification message to APNs. If you don't specify a value for this 465 // property, Amazon Pinpoint sets the value to alert or background automatically, 466 // based on the value that you specify for the SilentPush or RawContent property of 467 // the message. For more information about the apns-push-type request header, see 468 // Sending Notification Requests to APNs 469 // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) 470 // on the Apple Developer website. 471 APNSPushType *string 472 473 // The action to occur if the recipient taps the push notification. Valid values 474 // are: 475 // 476 // * OPEN_APP - Your app opens or it becomes the foreground app if it was 477 // sent to the background. This is the default action. 478 // 479 // * DEEP_LINK - Your app 480 // opens and displays a designated user interface in the app. This setting uses the 481 // deep-linking features of the iOS platform. 482 // 483 // * URL - The default mobile browser 484 // on the recipient's device opens and loads the web page at a URL that you 485 // specify. 486 Action Action 487 488 // The key that indicates whether and how to modify the badge of your app's icon 489 // when the recipient receives the push notification. If this key isn't included in 490 // the dictionary, the badge doesn't change. To remove the badge, set this value to 491 // 0. 492 Badge int32 493 494 // The body of the notification message. 495 Body *string 496 497 // The key that indicates the notification type for the push notification. This key 498 // is a value that's defined by the identifier property of one of your app's 499 // registered categories. 500 Category *string 501 502 // An arbitrary identifier that, if assigned to multiple messages, APNs uses to 503 // coalesce the messages into a single push notification instead of delivering each 504 // message individually. This value can't exceed 64 bytes. Amazon Pinpoint 505 // specifies this value in the apns-collapse-id request header when it sends the 506 // notification message to APNs. 507 CollapseId *string 508 509 // The JSON payload to use for a silent push notification. This payload is added to 510 // the data.pinpoint.jsonBody object of the notification. 511 Data map[string]string 512 513 // The URL of an image or video to display in the push notification. 514 MediaUrl *string 515 516 // The authentication method that you want Amazon Pinpoint to use when 517 // authenticating with APNs, CERTIFICATE or TOKEN. 518 PreferredAuthenticationMethod *string 519 520 // para>5 - Low priority, the notification might be delayed, delivered as part of a 521 // group, or throttled./listitem> 522 // * 10 - High priority, the notification is sent 523 // immediately. This is the default value. A high priority notification should 524 // trigger an alert, play a sound, or badge your app's icon on the recipient's 525 // device. 526 // /para> Amazon Pinpoint specifies this value in the apns-priority request 527 // header when it sends the notification message to APNs. The equivalent values for 528 // Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are 529 // normal, for 5, and high, for 10. If you specify an FCM value for this property, 530 // Amazon Pinpoint accepts and converts the value to the corresponding APNs value. 531 Priority *string 532 533 // The raw, JSON-formatted string to use as the payload for the notification 534 // message. If specified, this value overrides all other content for the message. 535 // If you specify the raw content of an APNs push notification, the message payload 536 // has to include the content-available key. The value of the content-available key 537 // has to be an integer, and can only be 0 or 1. If you're sending a standard 538 // notification, set the value of content-available to 0. If you're sending a 539 // silent (background) notification, set the value of content-available to 1. 540 // Additionally, silent notification payloads can't include the alert, badge, or 541 // sound keys. For more information, see Generating a Remote Notification 542 // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification) 543 // and Pushing Background Updates to Your App 544 // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app) 545 // on the Apple Developer website. 546 RawContent *string 547 548 // Specifies whether the notification is a silent push notification. A silent (or 549 // background) push notification isn't displayed on recipients' devices. You can 550 // use silent push notifications to make small updates to your app, or to display 551 // messages in an in-app message center. Amazon Pinpoint uses this property to 552 // determine the correct value for the apns-push-type request header when it sends 553 // the notification message to APNs. If you specify a value of true for this 554 // property, Amazon Pinpoint sets the value for the apns-push-type header field to 555 // background. If you specify the raw content of an APNs push notification, the 556 // message payload has to include the content-available key. For silent 557 // (background) notifications, set the value of content-available to 1. 558 // Additionally, the message payload for a silent notification can't include the 559 // alert, badge, or sound keys. For more information, see Generating a Remote 560 // Notification 561 // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification) 562 // and Pushing Background Updates to Your App 563 // (https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app) 564 // on the Apple Developer website. Apple has indicated that they will throttle 565 // "excessive" background notifications based on current traffic volumes. To 566 // prevent your notifications being throttled, Apple recommends that you send no 567 // more than 3 silent push notifications to each recipient per hour. 568 SilentPush bool 569 570 // The key for the sound to play when the recipient receives the push notification. 571 // The value for this key is the name of a sound file in your app's main bundle or 572 // the Library/Sounds folder in your app's data container. If the sound file can't 573 // be found or you specify default for the value, the system plays the default 574 // alert sound. 575 Sound *string 576 577 // The default message variables to use in the notification message. You can 578 // override these default variables with individual address variables. 579 Substitutions map[string][]string 580 581 // The key that represents your app-specific identifier for grouping notifications. 582 // If you provide a Notification Content app extension, you can use this value to 583 // group your notifications together. 584 ThreadId *string 585 586 // The amount of time, in seconds, that APNs should store and attempt to deliver 587 // the push notification, if the service is unable to deliver the notification the 588 // first time. If this value is 0, APNs treats the notification as if it expires 589 // immediately and the service doesn't store or try to deliver the notification 590 // again. Amazon Pinpoint specifies this value in the apns-expiration request 591 // header when it sends the notification message to APNs. 592 TimeToLive int32 593 594 // The title to display above the notification message on the recipient's device. 595 Title *string 596 597 // The URL to open in the recipient's default mobile browser, if a recipient taps 598 // the push notification and the value of the Action property is URL. 599 Url *string 600} 601 602// Specifies channel-specific content and settings for a message template that can 603// be used in push notifications that are sent through the APNs (Apple Push 604// Notification service) channel. 605type APNSPushNotificationTemplate struct { 606 607 // The action to occur if a recipient taps a push notification that's based on the 608 // message template. Valid values are: 609 // 610 // * OPEN_APP - Your app opens or it becomes 611 // the foreground app if it was sent to the background. This is the default 612 // action. 613 // 614 // * DEEP_LINK - Your app opens and displays a designated user interface 615 // in the app. This setting uses the deep-linking features of the iOS platform. 616 // 617 // * 618 // URL - The default mobile browser on the recipient's device opens and loads the 619 // web page at a URL that you specify. 620 Action Action 621 622 // The message body to use in push notifications that are based on the message 623 // template. 624 Body *string 625 626 // The URL of an image or video to display in push notifications that are based on 627 // the message template. 628 MediaUrl *string 629 630 // The raw, JSON-formatted string to use as the payload for push notifications that 631 // are based on the message template. If specified, this value overrides all other 632 // content for the message template. 633 RawContent *string 634 635 // The key for the sound to play when the recipient receives a push notification 636 // that's based on the message template. The value for this key is the name of a 637 // sound file in your app's main bundle or the Library/Sounds folder in your app's 638 // data container. If the sound file can't be found or you specify default for the 639 // value, the system plays the default alert sound. 640 Sound *string 641 642 // The title to use in push notifications that are based on the message template. 643 // This title appears above the notification message on a recipient's device. 644 Title *string 645 646 // The URL to open in the recipient's default mobile browser, if a recipient taps a 647 // push notification that's based on the message template and the value of the 648 // Action property is URL. 649 Url *string 650} 651 652// Specifies the status and settings of the APNs (Apple Push Notification service) 653// sandbox channel for an application. 654type APNSSandboxChannelRequest struct { 655 656 // The bundle identifier that's assigned to your iOS app. This identifier is used 657 // for APNs tokens. 658 BundleId *string 659 660 // The APNs client certificate that you received from Apple, if you want Amazon 661 // Pinpoint to communicate with the APNs sandbox environment by using an APNs 662 // certificate. 663 Certificate *string 664 665 // The default authentication method that you want Amazon Pinpoint to use when 666 // authenticating with the APNs sandbox environment, key or certificate. 667 DefaultAuthenticationMethod *string 668 669 // Specifies whether to enable the APNs sandbox channel for the application. 670 Enabled bool 671 672 // The private key for the APNs client certificate that you want Amazon Pinpoint to 673 // use to communicate with the APNs sandbox environment. 674 PrivateKey *string 675 676 // The identifier that's assigned to your Apple developer account team. This 677 // identifier is used for APNs tokens. 678 TeamId *string 679 680 // The authentication key to use for APNs tokens. 681 TokenKey *string 682 683 // The key identifier that's assigned to your APNs signing key, if you want Amazon 684 // Pinpoint to communicate with the APNs sandbox environment by using APNs tokens. 685 TokenKeyId *string 686} 687 688// Provides information about the status and settings of the APNs (Apple Push 689// Notification service) sandbox channel for an application. 690type APNSSandboxChannelResponse struct { 691 692 // The type of messaging or notification platform for the channel. For the APNs 693 // sandbox channel, this value is APNS_SANDBOX. 694 // 695 // This member is required. 696 Platform *string 697 698 // The unique identifier for the application that the APNs sandbox channel applies 699 // to. 700 ApplicationId *string 701 702 // The date and time when the APNs sandbox channel was enabled. 703 CreationDate *string 704 705 // The default authentication method that Amazon Pinpoint uses to authenticate with 706 // the APNs sandbox environment for this channel, key or certificate. 707 DefaultAuthenticationMethod *string 708 709 // Specifies whether the APNs sandbox channel is enabled for the application. 710 Enabled bool 711 712 // (Not used) This property is retained only for backward compatibility. 713 HasCredential bool 714 715 // Specifies whether the APNs sandbox channel is configured to communicate with 716 // APNs by using APNs tokens. To provide an authentication key for APNs tokens, set 717 // the TokenKey property of the channel. 718 HasTokenKey bool 719 720 // (Deprecated) An identifier for the APNs sandbox channel. This property is 721 // retained only for backward compatibility. 722 Id *string 723 724 // Specifies whether the APNs sandbox channel is archived. 725 IsArchived bool 726 727 // The user who last modified the APNs sandbox channel. 728 LastModifiedBy *string 729 730 // The date and time when the APNs sandbox channel was last modified. 731 LastModifiedDate *string 732 733 // The current version of the APNs sandbox channel. 734 Version int32 735} 736 737// Specifies the status and settings of the APNs (Apple Push Notification service) 738// VoIP channel for an application. 739type APNSVoipChannelRequest struct { 740 741 // The bundle identifier that's assigned to your iOS app. This identifier is used 742 // for APNs tokens. 743 BundleId *string 744 745 // The APNs client certificate that you received from Apple, if you want Amazon 746 // Pinpoint to communicate with APNs by using an APNs certificate. 747 Certificate *string 748 749 // The default authentication method that you want Amazon Pinpoint to use when 750 // authenticating with APNs, key or certificate. 751 DefaultAuthenticationMethod *string 752 753 // Specifies whether to enable the APNs VoIP channel for the application. 754 Enabled bool 755 756 // The private key for the APNs client certificate that you want Amazon Pinpoint to 757 // use to communicate with APNs. 758 PrivateKey *string 759 760 // The identifier that's assigned to your Apple developer account team. This 761 // identifier is used for APNs tokens. 762 TeamId *string 763 764 // The authentication key to use for APNs tokens. 765 TokenKey *string 766 767 // The key identifier that's assigned to your APNs signing key, if you want Amazon 768 // Pinpoint to communicate with APNs by using APNs tokens. 769 TokenKeyId *string 770} 771 772// Provides information about the status and settings of the APNs (Apple Push 773// Notification service) VoIP channel for an application. 774type APNSVoipChannelResponse struct { 775 776 // The type of messaging or notification platform for the channel. For the APNs 777 // VoIP channel, this value is APNS_VOIP. 778 // 779 // This member is required. 780 Platform *string 781 782 // The unique identifier for the application that the APNs VoIP channel applies to. 783 ApplicationId *string 784 785 // The date and time when the APNs VoIP channel was enabled. 786 CreationDate *string 787 788 // The default authentication method that Amazon Pinpoint uses to authenticate with 789 // APNs for this channel, key or certificate. 790 DefaultAuthenticationMethod *string 791 792 // Specifies whether the APNs VoIP channel is enabled for the application. 793 Enabled bool 794 795 // (Not used) This property is retained only for backward compatibility. 796 HasCredential bool 797 798 // Specifies whether the APNs VoIP channel is configured to communicate with APNs 799 // by using APNs tokens. To provide an authentication key for APNs tokens, set the 800 // TokenKey property of the channel. 801 HasTokenKey bool 802 803 // (Deprecated) An identifier for the APNs VoIP channel. This property is retained 804 // only for backward compatibility. 805 Id *string 806 807 // Specifies whether the APNs VoIP channel is archived. 808 IsArchived bool 809 810 // The user who last modified the APNs VoIP channel. 811 LastModifiedBy *string 812 813 // The date and time when the APNs VoIP channel was last modified. 814 LastModifiedDate *string 815 816 // The current version of the APNs VoIP channel. 817 Version int32 818} 819 820// Specifies the status and settings of the APNs (Apple Push Notification service) 821// VoIP sandbox channel for an application. 822type APNSVoipSandboxChannelRequest struct { 823 824 // The bundle identifier that's assigned to your iOS app. This identifier is used 825 // for APNs tokens. 826 BundleId *string 827 828 // The APNs client certificate that you received from Apple, if you want Amazon 829 // Pinpoint to communicate with the APNs sandbox environment by using an APNs 830 // certificate. 831 Certificate *string 832 833 // The default authentication method that you want Amazon Pinpoint to use when 834 // authenticating with the APNs sandbox environment for this channel, key or 835 // certificate. 836 DefaultAuthenticationMethod *string 837 838 // Specifies whether the APNs VoIP sandbox channel is enabled for the application. 839 Enabled bool 840 841 // The private key for the APNs client certificate that you want Amazon Pinpoint to 842 // use to communicate with the APNs sandbox environment. 843 PrivateKey *string 844 845 // The identifier that's assigned to your Apple developer account team. This 846 // identifier is used for APNs tokens. 847 TeamId *string 848 849 // The authentication key to use for APNs tokens. 850 TokenKey *string 851 852 // The key identifier that's assigned to your APNs signing key, if you want Amazon 853 // Pinpoint to communicate with the APNs sandbox environment by using APNs tokens. 854 TokenKeyId *string 855} 856 857// Provides information about the status and settings of the APNs (Apple Push 858// Notification service) VoIP sandbox channel for an application. 859type APNSVoipSandboxChannelResponse struct { 860 861 // The type of messaging or notification platform for the channel. For the APNs 862 // VoIP sandbox channel, this value is APNS_VOIP_SANDBOX. 863 // 864 // This member is required. 865 Platform *string 866 867 // The unique identifier for the application that the APNs VoIP sandbox channel 868 // applies to. 869 ApplicationId *string 870 871 // The date and time when the APNs VoIP sandbox channel was enabled. 872 CreationDate *string 873 874 // The default authentication method that Amazon Pinpoint uses to authenticate with 875 // the APNs sandbox environment for this channel, key or certificate. 876 DefaultAuthenticationMethod *string 877 878 // Specifies whether the APNs VoIP sandbox channel is enabled for the application. 879 Enabled bool 880 881 // (Not used) This property is retained only for backward compatibility. 882 HasCredential bool 883 884 // Specifies whether the APNs VoIP sandbox channel is configured to communicate 885 // with APNs by using APNs tokens. To provide an authentication key for APNs 886 // tokens, set the TokenKey property of the channel. 887 HasTokenKey bool 888 889 // (Deprecated) An identifier for the APNs VoIP sandbox channel. This property is 890 // retained only for backward compatibility. 891 Id *string 892 893 // Specifies whether the APNs VoIP sandbox channel is archived. 894 IsArchived bool 895 896 // The user who last modified the APNs VoIP sandbox channel. 897 LastModifiedBy *string 898 899 // The date and time when the APNs VoIP sandbox channel was last modified. 900 LastModifiedDate *string 901 902 // The current version of the APNs VoIP sandbox channel. 903 Version int32 904} 905 906// Provides the results of a query that retrieved the data for a standard metric 907// that applies to an application, and provides information about that query. 908type ApplicationDateRangeKpiResponse struct { 909 910 // The unique identifier for the application that the metric applies to. 911 // 912 // This member is required. 913 ApplicationId *string 914 915 // The last date and time of the date range that was used to filter the query 916 // results, in extended ISO 8601 format. The date range is inclusive. 917 // 918 // This member is required. 919 EndTime *time.Time 920 921 // The name of the metric, also referred to as a key performance indicator (KPI), 922 // that the data was retrieved for. This value describes the associated metric and 923 // consists of two or more terms, which are comprised of lowercase alphanumeric 924 // characters, separated by a hyphen. For a list of possible values, see the Amazon 925 // Pinpoint Developer Guide 926 // (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). 927 // 928 // This member is required. 929 KpiName *string 930 931 // An array of objects that contains the results of the query. Each object contains 932 // the value for the metric and metadata about that value. 933 // 934 // This member is required. 935 KpiResult *BaseKpiResult 936 937 // The first date and time of the date range that was used to filter the query 938 // results, in extended ISO 8601 format. The date range is inclusive. 939 // 940 // This member is required. 941 StartTime *time.Time 942 943 // The string to use in a subsequent request to get the next page of results in a 944 // paginated response. This value is null for the Application Metrics resource 945 // because the resource returns all results in a single page. 946 NextToken *string 947} 948 949// Provides information about an application. 950type ApplicationResponse struct { 951 952 // The Amazon Resource Name (ARN) of the application. 953 // 954 // This member is required. 955 Arn *string 956 957 // The unique identifier for the application. This identifier is displayed as the 958 // Project ID on the Amazon Pinpoint console. 959 // 960 // This member is required. 961 Id *string 962 963 // The display name of the application. This name is displayed as the Project name 964 // on the Amazon Pinpoint console. 965 // 966 // This member is required. 967 Name *string 968 969 // A string-to-string map of key-value pairs that identifies the tags that are 970 // associated with the application. Each tag consists of a required tag key and an 971 // associated tag value. 972 Tags map[string]string 973} 974 975// Provides information about an application, including the default settings for an 976// application. 977type ApplicationSettingsResource struct { 978 979 // The unique identifier for the application. This identifier is displayed as the 980 // Project ID on the Amazon Pinpoint console. 981 // 982 // This member is required. 983 ApplicationId *string 984 985 // The settings for the AWS Lambda function to invoke by default as a code hook for 986 // campaigns in the application. You can use this hook to customize segments that 987 // are used by campaigns in the application. 988 CampaignHook *CampaignHook 989 990 // The date and time, in ISO 8601 format, when the application's settings were last 991 // modified. 992 LastModifiedDate *string 993 994 // The default sending limits for campaigns in the application. 995 Limits *CampaignLimits 996 997 // The default quiet time for campaigns in the application. Quiet time is a 998 // specific time range when messages aren't sent to endpoints, if all the following 999 // conditions are met: 1000 // 1001 // * The EndpointDemographic.Timezone property of the endpoint 1002 // is set to a valid value. 1003 // 1004 // * The current time in the endpoint's time zone is 1005 // later than or equal to the time specified by the QuietTime.Start property for 1006 // the application (or a campaign or journey that has custom quiet time 1007 // settings). 1008 // 1009 // * The current time in the endpoint's time zone is earlier than or 1010 // equal to the time specified by the QuietTime.End property for the application 1011 // (or a campaign or journey that has custom quiet time settings). 1012 // 1013 // If any of the 1014 // preceding conditions isn't met, the endpoint will receive messages from a 1015 // campaign or journey, even if quiet time is enabled. 1016 QuietTime *QuietTime 1017} 1018 1019// Provides information about all of your applications. 1020type ApplicationsResponse struct { 1021 1022 // An array of responses, one for each application that was returned. 1023 Item []ApplicationResponse 1024 1025 // The string to use in a subsequent request to get the next page of results in a 1026 // paginated response. This value is null if there are no additional pages. 1027 NextToken *string 1028} 1029 1030// Specifies attribute-based criteria for including or excluding endpoints from a 1031// segment. 1032type AttributeDimension struct { 1033 1034 // The criteria values to use for the segment dimension. Depending on the value of 1035 // the AttributeType property, endpoints are included or excluded from the segment 1036 // if their attribute values match the criteria values. 1037 // 1038 // This member is required. 1039 Values []string 1040 1041 // The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 1042 // that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 1043 // that match the criteria are excluded from the segment. 1044 AttributeType AttributeType 1045} 1046 1047// Provides information about the type and the names of attributes that were 1048// removed from all the endpoints that are associated with an application. 1049type AttributesResource struct { 1050 1051 // The unique identifier for the application. 1052 // 1053 // This member is required. 1054 ApplicationId *string 1055 1056 // The type of attribute or attributes that were removed from the endpoints. Valid 1057 // values are: 1058 // 1059 // * endpoint-custom-attributes - Custom attributes that describe 1060 // endpoints. 1061 // 1062 // * endpoint-metric-attributes - Custom metrics that your app reports 1063 // to Amazon Pinpoint for endpoints. 1064 // 1065 // * endpoint-user-attributes - Custom 1066 // attributes that describe users. 1067 // 1068 // This member is required. 1069 AttributeType *string 1070 1071 // An array that specifies the names of the attributes that were removed from the 1072 // endpoints. 1073 Attributes []string 1074} 1075 1076// Specifies the status and settings of the Baidu (Baidu Cloud Push) channel for an 1077// application. 1078type BaiduChannelRequest struct { 1079 1080 // The API key that you received from the Baidu Cloud Push service to communicate 1081 // with the service. 1082 // 1083 // This member is required. 1084 ApiKey *string 1085 1086 // The secret key that you received from the Baidu Cloud Push service to 1087 // communicate with the service. 1088 // 1089 // This member is required. 1090 SecretKey *string 1091 1092 // Specifies whether to enable the Baidu channel for the application. 1093 Enabled bool 1094} 1095 1096// Provides information about the status and settings of the Baidu (Baidu Cloud 1097// Push) channel for an application. 1098type BaiduChannelResponse struct { 1099 1100 // The API key that you received from the Baidu Cloud Push service to communicate 1101 // with the service. 1102 // 1103 // This member is required. 1104 Credential *string 1105 1106 // The type of messaging or notification platform for the channel. For the Baidu 1107 // channel, this value is BAIDU. 1108 // 1109 // This member is required. 1110 Platform *string 1111 1112 // The unique identifier for the application that the Baidu channel applies to. 1113 ApplicationId *string 1114 1115 // The date and time when the Baidu channel was enabled. 1116 CreationDate *string 1117 1118 // Specifies whether the Baidu channel is enabled for the application. 1119 Enabled bool 1120 1121 // (Not used) This property is retained only for backward compatibility. 1122 HasCredential bool 1123 1124 // (Deprecated) An identifier for the Baidu channel. This property is retained only 1125 // for backward compatibility. 1126 Id *string 1127 1128 // Specifies whether the Baidu channel is archived. 1129 IsArchived bool 1130 1131 // The user who last modified the Baidu channel. 1132 LastModifiedBy *string 1133 1134 // The date and time when the Baidu channel was last modified. 1135 LastModifiedDate *string 1136 1137 // The current version of the Baidu channel. 1138 Version int32 1139} 1140 1141// Specifies the settings for a one-time message that's sent directly to an 1142// endpoint through the Baidu (Baidu Cloud Push) channel. 1143type BaiduMessage struct { 1144 1145 // The action to occur if the recipient taps the push notification. Valid values 1146 // are: 1147 // 1148 // * OPEN_APP - Your app opens or it becomes the foreground app if it was 1149 // sent to the background. This is the default action. 1150 // 1151 // * DEEP_LINK - Your app 1152 // opens and displays a designated user interface in the app. This action uses the 1153 // deep-linking features of the Android platform. 1154 // 1155 // * URL - The default mobile 1156 // browser on the recipient's device opens and loads the web page at a URL that you 1157 // specify. 1158 Action Action 1159 1160 // The body of the notification message. 1161 Body *string 1162 1163 // The JSON data payload to use for the push notification, if the notification is a 1164 // silent push notification. This payload is added to the data.pinpoint.jsonBody 1165 // object of the notification. 1166 Data map[string]string 1167 1168 // The icon image name of the asset saved in your app. 1169 IconReference *string 1170 1171 // The URL of the large icon image to display in the content view of the push 1172 // notification. 1173 ImageIconUrl *string 1174 1175 // The URL of an image to display in the push notification. 1176 ImageUrl *string 1177 1178 // The raw, JSON-formatted string to use as the payload for the notification 1179 // message. If specified, this value overrides all other content for the message. 1180 RawContent *string 1181 1182 // Specifies whether the notification is a silent push notification, which is a 1183 // push notification that doesn't display on a recipient's device. Silent push 1184 // notifications can be used for cases such as updating an app's configuration or 1185 // supporting phone home functionality. 1186 SilentPush bool 1187 1188 // The URL of the small icon image to display in the status bar and the content 1189 // view of the push notification. 1190 SmallImageIconUrl *string 1191 1192 // The sound to play when the recipient receives the push notification. You can use 1193 // the default stream or specify the file name of a sound resource that's bundled 1194 // in your app. On an Android platform, the sound file must reside in /res/raw/. 1195 Sound *string 1196 1197 // The default message variables to use in the notification message. You can 1198 // override the default variables with individual address variables. 1199 Substitutions map[string][]string 1200 1201 // The amount of time, in seconds, that the Baidu Cloud Push service should store 1202 // the message if the recipient's device is offline. The default value and maximum 1203 // supported time is 604,800 seconds (7 days). 1204 TimeToLive int32 1205 1206 // The title to display above the notification message on the recipient's device. 1207 Title *string 1208 1209 // The URL to open in the recipient's default mobile browser, if a recipient taps 1210 // the push notification and the value of the Action property is URL. 1211 Url *string 1212} 1213 1214// Provides the results of a query that retrieved the data for a standard metric 1215// that applies to an application, campaign, or journey. 1216type BaseKpiResult struct { 1217 1218 // An array of objects that provides the results of a query that retrieved the data 1219 // for a standard metric that applies to an application, campaign, or journey. 1220 // 1221 // This member is required. 1222 Rows []ResultRow 1223} 1224 1225// Specifies the contents of a message that's sent through a custom channel to 1226// recipients of a campaign. 1227type CampaignCustomMessage struct { 1228 1229 // The raw, JSON-formatted string to use as the payload for the message. The 1230 // maximum size is 5 KB. 1231 Data *string 1232} 1233 1234// Provides the results of a query that retrieved the data for a standard metric 1235// that applies to a campaign, and provides information about that query. 1236type CampaignDateRangeKpiResponse struct { 1237 1238 // The unique identifier for the application that the metric applies to. 1239 // 1240 // This member is required. 1241 ApplicationId *string 1242 1243 // The unique identifier for the campaign that the metric applies to. 1244 // 1245 // This member is required. 1246 CampaignId *string 1247 1248 // The last date and time of the date range that was used to filter the query 1249 // results, in extended ISO 8601 format. The date range is inclusive. 1250 // 1251 // This member is required. 1252 EndTime *time.Time 1253 1254 // The name of the metric, also referred to as a key performance indicator (KPI), 1255 // that the data was retrieved for. This value describes the associated metric and 1256 // consists of two or more terms, which are comprised of lowercase alphanumeric 1257 // characters, separated by a hyphen. For a list of possible values, see the Amazon 1258 // Pinpoint Developer Guide 1259 // (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). 1260 // 1261 // This member is required. 1262 KpiName *string 1263 1264 // An array of objects that contains the results of the query. Each object contains 1265 // the value for the metric and metadata about that value. 1266 // 1267 // This member is required. 1268 KpiResult *BaseKpiResult 1269 1270 // The first date and time of the date range that was used to filter the query 1271 // results, in extended ISO 8601 format. The date range is inclusive. 1272 // 1273 // This member is required. 1274 StartTime *time.Time 1275 1276 // The string to use in a subsequent request to get the next page of results in a 1277 // paginated response. This value is null for the Campaign Metrics resource because 1278 // the resource returns all results in a single page. 1279 NextToken *string 1280} 1281 1282// Specifies the content and "From" address for an email message that's sent to 1283// recipients of a campaign. 1284type CampaignEmailMessage struct { 1285 1286 // The body of the email for recipients whose email clients don't render HTML 1287 // content. 1288 Body *string 1289 1290 // The verified email address to send the email from. The default address is the 1291 // FromAddress specified for the email channel for the application. 1292 FromAddress *string 1293 1294 // The body of the email, in HTML format, for recipients whose email clients render 1295 // HTML content. 1296 HtmlBody *string 1297 1298 // The subject line, or title, of the email. 1299 Title *string 1300} 1301 1302// Specifies the settings for events that cause a campaign to be sent. 1303type CampaignEventFilter struct { 1304 1305 // The dimension settings of the event filter for the campaign. 1306 // 1307 // This member is required. 1308 Dimensions *EventDimensions 1309 1310 // The type of event that causes the campaign to be sent. Valid values are: SYSTEM, 1311 // sends the campaign when a system event occurs; and, ENDPOINT, sends the campaign 1312 // when an endpoint event (Events resource) occurs. 1313 // 1314 // This member is required. 1315 FilterType FilterType 1316} 1317 1318// Specifies settings for invoking an AWS Lambda function that customizes a segment 1319// for a campaign. 1320type CampaignHook struct { 1321 1322 // The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon 1323 // Pinpoint invokes to customize a segment for a campaign. 1324 LambdaFunctionName *string 1325 1326 // The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible 1327 // values are: 1328 // 1329 // * FILTER - Invoke the function to customize the segment that's used 1330 // by a campaign. 1331 // 1332 // * DELIVERY - (Deprecated) Previously, invoked the function to 1333 // send a campaign through a custom channel. This functionality is not supported 1334 // anymore. To send a campaign through a custom channel, use the 1335 // CustomDeliveryConfiguration and CampaignCustomMessage objects of the campaign. 1336 Mode Mode 1337 1338 // The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over 1339 // HTTPS. 1340 WebUrl *string 1341} 1342 1343// For a campaign, specifies limits on the messages that the campaign can send. For 1344// an application, specifies the default limits for messages that campaigns in the 1345// application can send. 1346type CampaignLimits struct { 1347 1348 // The maximum number of messages that a campaign can send to a single endpoint 1349 // during a 24-hour period. For an application, this value specifies the default 1350 // limit for the number of messages that campaigns and journeys can send to a 1351 // single endpoint during a 24-hour period. The maximum value is 100. 1352 Daily int32 1353 1354 // The maximum amount of time, in seconds, that a campaign can attempt to deliver a 1355 // message after the scheduled start time for the campaign. The minimum value is 60 1356 // seconds. 1357 MaximumDuration int32 1358 1359 // The maximum number of messages that a campaign can send each second. For an 1360 // application, this value specifies the default limit for the number of messages 1361 // that campaigns can send each second. The minimum value is 50. The maximum value 1362 // is 20,000. 1363 MessagesPerSecond int32 1364 1365 // The maximum number of messages that a campaign can send to a single endpoint 1366 // during the course of the campaign. If a campaign recurs, this setting applies to 1367 // all runs of the campaign. The maximum value is 100. 1368 Total int32 1369} 1370 1371// Provides information about the status, configuration, and other settings for a 1372// campaign. 1373type CampaignResponse struct { 1374 1375 // The unique identifier for the application that the campaign applies to. 1376 // 1377 // This member is required. 1378 ApplicationId *string 1379 1380 // The Amazon Resource Name (ARN) of the campaign. 1381 // 1382 // This member is required. 1383 Arn *string 1384 1385 // The date, in ISO 8601 format, when the campaign was created. 1386 // 1387 // This member is required. 1388 CreationDate *string 1389 1390 // The unique identifier for the campaign. 1391 // 1392 // This member is required. 1393 Id *string 1394 1395 // The date, in ISO 8601 format, when the campaign was last modified. 1396 // 1397 // This member is required. 1398 LastModifiedDate *string 1399 1400 // The unique identifier for the segment that's associated with the campaign. 1401 // 1402 // This member is required. 1403 SegmentId *string 1404 1405 // The version number of the segment that's associated with the campaign. 1406 // 1407 // This member is required. 1408 SegmentVersion int32 1409 1410 // An array of responses, one for each treatment that you defined for the campaign, 1411 // in addition to the default treatment. 1412 AdditionalTreatments []TreatmentResource 1413 1414 // The delivery configuration settings for sending the campaign through a custom 1415 // channel. 1416 CustomDeliveryConfiguration *CustomDeliveryConfiguration 1417 1418 // The current status of the campaign's default treatment. This value exists only 1419 // for campaigns that have more than one treatment. 1420 DefaultState *CampaignState 1421 1422 // The custom description of the campaign. 1423 Description *string 1424 1425 // The allocated percentage of users (segment members) who shouldn't receive 1426 // messages from the campaign. 1427 HoldoutPercent int32 1428 1429 // The settings for the AWS Lambda function to use as a code hook for the campaign. 1430 // You can use this hook to customize the segment that's used by the campaign. 1431 Hook *CampaignHook 1432 1433 // Specifies whether the campaign is paused. A paused campaign doesn't run unless 1434 // you resume it by changing this value to false. 1435 IsPaused bool 1436 1437 // The messaging limits for the campaign. 1438 Limits *CampaignLimits 1439 1440 // The message configuration settings for the campaign. 1441 MessageConfiguration *MessageConfiguration 1442 1443 // The name of the campaign. 1444 Name *string 1445 1446 // The schedule settings for the campaign. 1447 Schedule *Schedule 1448 1449 // The current status of the campaign. 1450 State *CampaignState 1451 1452 // A string-to-string map of key-value pairs that identifies the tags that are 1453 // associated with the campaign. Each tag consists of a required tag key and an 1454 // associated tag value. 1455 Tags map[string]string 1456 1457 // The message template that’s used for the campaign. 1458 TemplateConfiguration *TemplateConfiguration 1459 1460 // The custom description of the default treatment for the campaign. 1461 TreatmentDescription *string 1462 1463 // The custom name of the default treatment for the campaign, if the campaign has 1464 // multiple treatments. A treatment is a variation of a campaign that's used for 1465 // A/B testing. 1466 TreatmentName *string 1467 1468 // The version number of the campaign. 1469 Version int32 1470} 1471 1472// Specifies the content and settings for an SMS message that's sent to recipients 1473// of a campaign. 1474type CampaignSmsMessage struct { 1475 1476 // The body of the SMS message. 1477 Body *string 1478 1479 // The SMS message type. Valid values are TRANSACTIONAL (for messages that are 1480 // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 1481 // messsages that aren't critical or time-sensitive, such as marketing messages). 1482 MessageType MessageType 1483 1484 // The sender ID to display on recipients' devices when they receive the SMS 1485 // message. 1486 SenderId *string 1487} 1488 1489// Provides information about the configuration and other settings for all the 1490// campaigns that are associated with an application. 1491type CampaignsResponse struct { 1492 1493 // An array of responses, one for each campaign that's associated with the 1494 // application. 1495 // 1496 // This member is required. 1497 Item []CampaignResponse 1498 1499 // The string to use in a subsequent request to get the next page of results in a 1500 // paginated response. This value is null if there are no additional pages. 1501 NextToken *string 1502} 1503 1504// Provides information about the status of a campaign. 1505type CampaignState struct { 1506 1507 // The current status of the campaign, or the current status of a treatment that 1508 // belongs to an A/B test campaign. If a campaign uses A/B testing, the campaign 1509 // has a status of COMPLETED only if all campaign treatments have a status of 1510 // COMPLETED. If you delete the segment that's associated with a campaign, the 1511 // campaign fails and has a status of DELETED. 1512 CampaignStatus CampaignStatus 1513} 1514 1515// Provides information about the general settings and status of a channel for an 1516// application. 1517type ChannelResponse struct { 1518 1519 // The unique identifier for the application. 1520 ApplicationId *string 1521 1522 // The date and time, in ISO 8601 format, when the channel was enabled. 1523 CreationDate *string 1524 1525 // Specifies whether the channel is enabled for the application. 1526 Enabled bool 1527 1528 // (Not used) This property is retained only for backward compatibility. 1529 HasCredential bool 1530 1531 // (Deprecated) An identifier for the channel. This property is retained only for 1532 // backward compatibility. 1533 Id *string 1534 1535 // Specifies whether the channel is archived. 1536 IsArchived bool 1537 1538 // The user who last modified the channel. 1539 LastModifiedBy *string 1540 1541 // The date and time, in ISO 8601 format, when the channel was last modified. 1542 LastModifiedDate *string 1543 1544 // The current version of the channel. 1545 Version int32 1546} 1547 1548// Provides information about the general settings and status of all channels for 1549// an application, including channels that aren't enabled for the application. 1550type ChannelsResponse struct { 1551 1552 // A map that contains a multipart response for each channel. For each item in this 1553 // object, the ChannelType is the key and the Channel is the value. 1554 // 1555 // This member is required. 1556 Channels map[string]ChannelResponse 1557} 1558 1559// Specifies the conditions to evaluate for an activity in a journey, and how to 1560// evaluate those conditions. 1561type Condition struct { 1562 1563 // The conditions to evaluate for the activity. 1564 Conditions []SimpleCondition 1565 1566 // Specifies how to handle multiple conditions for the activity. For example, if 1567 // you specify two conditions for an activity, whether both or only one of the 1568 // conditions must be met for the activity to be performed. 1569 Operator Operator 1570} 1571 1572// Specifies the settings for a yes/no split activity in a journey. This type of 1573// activity sends participants down one of two paths in a journey, based on 1574// conditions that you specify. To create yes/no split activities that send 1575// participants down different paths based on push notification events (such as 1576// Open or Received events), your mobile app has to specify the User ID and 1577// Endpoint ID values. For more information, see Integrating Amazon Pinpoint with 1578// your application 1579// (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html) in 1580// the Amazon Pinpoint Developer Guide. 1581type ConditionalSplitActivity struct { 1582 1583 // The conditions that define the paths for the activity, and the relationship 1584 // between the conditions. 1585 Condition *Condition 1586 1587 // The amount of time to wait before determining whether the conditions are met, or 1588 // the date and time when Amazon Pinpoint determines whether the conditions are 1589 // met. 1590 EvaluationWaitTime *WaitTime 1591 1592 // The unique identifier for the activity to perform if the conditions aren't met. 1593 FalseActivity *string 1594 1595 // The unique identifier for the activity to perform if the conditions are met. 1596 TrueActivity *string 1597} 1598 1599// Specifies the display name of an application and the tags to associate with the 1600// application. 1601type CreateApplicationRequest struct { 1602 1603 // The display name of the application. This name is displayed as the Project name 1604 // on the Amazon Pinpoint console. 1605 // 1606 // This member is required. 1607 Name *string 1608 1609 // A string-to-string map of key-value pairs that defines the tags to associate 1610 // with the application. Each tag consists of a required tag key and an associated 1611 // tag value. 1612 Tags map[string]string 1613} 1614 1615// Specifies Amazon Pinpoint configuration settings for retrieving and processing 1616// recommendation data from a recommender model. 1617type CreateRecommenderConfigurationShape struct { 1618 1619 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 1620 // role that authorizes Amazon Pinpoint to retrieve recommendation data from the 1621 // recommender model. 1622 // 1623 // This member is required. 1624 RecommendationProviderRoleArn *string 1625 1626 // The Amazon Resource Name (ARN) of the recommender model to retrieve 1627 // recommendation data from. This value must match the ARN of an Amazon Personalize 1628 // campaign. 1629 // 1630 // This member is required. 1631 RecommendationProviderUri *string 1632 1633 // A map of key-value pairs that defines 1-10 custom endpoint or user attributes, 1634 // depending on the value for the RecommendationProviderIdType property. Each of 1635 // these attributes temporarily stores a recommended item that's retrieved from the 1636 // recommender model and sent to an AWS Lambda function for additional processing. 1637 // Each attribute can be used as a message variable in a message template. In the 1638 // map, the key is the name of a custom attribute and the value is a custom display 1639 // name for that attribute. The display name appears in the Attribute finder of the 1640 // template editor on the Amazon Pinpoint console. The following restrictions apply 1641 // to these names: 1642 // 1643 // * An attribute name must start with a letter or number and it 1644 // can contain up to 50 characters. The characters can be letters, numbers, 1645 // underscores (_), or hyphens (-). Attribute names are case sensitive and must be 1646 // unique. 1647 // 1648 // * An attribute display name must start with a letter or number and it 1649 // can contain up to 25 characters. The characters can be letters, numbers, spaces, 1650 // underscores (_), or hyphens (-). 1651 // 1652 // This object is required if the configuration 1653 // invokes an AWS Lambda function (RecommendationTransformerUri) to process 1654 // recommendation data. Otherwise, don't include this object in your request. 1655 Attributes map[string]string 1656 1657 // A custom description of the configuration for the recommender model. The 1658 // description can contain up to 128 characters. The characters can be letters, 1659 // numbers, spaces, or the following symbols: _ ; () , ‐. 1660 Description *string 1661 1662 // A custom name of the configuration for the recommender model. The name must 1663 // start with a letter or number and it can contain up to 128 characters. The 1664 // characters can be letters, numbers, spaces, underscores (_), or hyphens (-). 1665 Name *string 1666 1667 // The type of Amazon Pinpoint ID to associate with unique user IDs in the 1668 // recommender model. This value enables the model to use attribute and event data 1669 // that’s specific to a particular endpoint or user in an Amazon Pinpoint 1670 // application. Valid values are: 1671 // 1672 // * PINPOINT_ENDPOINT_ID - Associate each user in 1673 // the model with a particular endpoint in Amazon Pinpoint. The data is correlated 1674 // based on endpoint IDs in Amazon Pinpoint. This is the default value. 1675 // 1676 // * 1677 // PINPOINT_USER_ID - Associate each user in the model with a particular user and 1678 // endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon 1679 // Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint 1680 // has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages 1681 // won’t be sent to the user's endpoint. 1682 RecommendationProviderIdType *string 1683 1684 // The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for 1685 // additional processing of recommendation data that's retrieved from the 1686 // recommender model. 1687 RecommendationTransformerUri *string 1688 1689 // A custom display name for the standard endpoint or user attribute 1690 // (RecommendationItems) that temporarily stores recommended items for each 1691 // endpoint or user, depending on the value for the RecommendationProviderIdType 1692 // property. This value is required if the configuration doesn't invoke an AWS 1693 // Lambda function (RecommendationTransformerUri) to perform additional processing 1694 // of recommendation data. This name appears in the Attribute finder of the 1695 // template editor on the Amazon Pinpoint console. The name can contain up to 25 1696 // characters. The characters can be letters, numbers, spaces, underscores (_), or 1697 // hyphens (-). These restrictions don't apply to attribute values. 1698 RecommendationsDisplayName *string 1699 1700 // The number of recommended items to retrieve from the model for each endpoint or 1701 // user, depending on the value for the RecommendationProviderIdType property. This 1702 // number determines how many recommended items are available for use in message 1703 // variables. The minimum value is 1. The maximum value is 5. The default value is 1704 // 5. To use multiple recommended items and custom attributes with message 1705 // variables, you have to use an AWS Lambda function (RecommendationTransformerUri) 1706 // to perform additional processing of recommendation data. 1707 RecommendationsPerMessage int32 1708} 1709 1710// Provides information about a request to create a message template. 1711type CreateTemplateMessageBody struct { 1712 1713 // The Amazon Resource Name (ARN) of the message template that was created. 1714 Arn *string 1715 1716 // The message that's returned from the API for the request to create the message 1717 // template. 1718 Message *string 1719 1720 // The unique identifier for the request to create the message template. 1721 RequestID *string 1722} 1723 1724// Specifies the delivery configuration settings for sending a campaign or campaign 1725// treatment through a custom channel. This object is required if you use the 1726// CampaignCustomMessage object to define the message to send for the campaign or 1727// campaign treatment. 1728type CustomDeliveryConfiguration struct { 1729 1730 // The destination to send the campaign or treatment to. This value can be one of 1731 // the following: 1732 // 1733 // * The name or Amazon Resource Name (ARN) of an AWS Lambda 1734 // function to invoke to handle delivery of the campaign or treatment. 1735 // 1736 // * The URL 1737 // for a web application or service that supports HTTPS and can receive the 1738 // message. The URL has to be a full URL, including the HTTPS protocol. 1739 // 1740 // This member is required. 1741 DeliveryUri *string 1742 1743 // The types of endpoints to send the campaign or treatment to. Each valid value 1744 // maps to a type of channel that you can associate with an endpoint by using the 1745 // ChannelType property of an endpoint. 1746 EndpointTypes []EndpointTypesElement 1747} 1748 1749// The settings for a custom message activity. This type of activity calls an AWS 1750// Lambda function or web hook that sends messages to participants. 1751type CustomMessageActivity struct { 1752 1753 // The destination to send the campaign or treatment to. This value can be one of 1754 // the following: 1755 // 1756 // * The name or Amazon Resource Name (ARN) of an AWS Lambda 1757 // function to invoke to handle delivery of the campaign or treatment. 1758 // 1759 // * The URL 1760 // for a web application or service that supports HTTPS and can receive the 1761 // message. The URL has to be a full URL, including the HTTPS protocol. 1762 DeliveryUri *string 1763 1764 // The types of endpoints to send the custom message to. Each valid value maps to a 1765 // type of channel that you can associate with an endpoint by using the ChannelType 1766 // property of an endpoint. 1767 EndpointTypes []EndpointTypesElement 1768 1769 // Specifies the message data included in a custom channel message that's sent to 1770 // participants in a journey. 1771 MessageConfig *JourneyCustomMessage 1772 1773 // The unique identifier for the next activity to perform, after Amazon Pinpoint 1774 // calls the AWS Lambda function or web hook. 1775 NextActivity *string 1776 1777 // The name of the custom message template to use for the message. If specified, 1778 // this value must match the name of an existing message template. 1779 TemplateName *string 1780 1781 // The unique identifier for the version of the message template to use for the 1782 // message. If specified, this value must match the identifier for an existing 1783 // template version. To retrieve a list of versions and version identifiers for a 1784 // template, use the Template Versions resource. If you don't specify a value for 1785 // this property, Amazon Pinpoint uses the active version of the template. The 1786 // active version is typically the version of a template that's been most recently 1787 // reviewed and approved for use, depending on your workflow. It isn't necessarily 1788 // the latest version of a template. 1789 TemplateVersion *string 1790} 1791 1792// Specifies the default message for all channels. 1793type DefaultMessage struct { 1794 1795 // The default body of the message. 1796 Body *string 1797 1798 // The default message variables to use in the message. You can override these 1799 // default variables with individual address variables. 1800 Substitutions map[string][]string 1801} 1802 1803// Specifies the default settings and content for a push notification that's sent 1804// directly to an endpoint. 1805type DefaultPushNotificationMessage struct { 1806 1807 // The default action to occur if a recipient taps the push notification. Valid 1808 // values are: 1809 // 1810 // * OPEN_APP - Your app opens or it becomes the foreground app if it 1811 // was sent to the background. This is the default action. 1812 // 1813 // * DEEP_LINK - Your app 1814 // opens and displays a designated user interface in the app. This setting uses the 1815 // deep-linking features of the iOS and Android platforms. 1816 // 1817 // * URL - The default 1818 // mobile browser on the recipient's device opens and loads the web page at a URL 1819 // that you specify. 1820 Action Action 1821 1822 // The default body of the notification message. 1823 Body *string 1824 1825 // The JSON data payload to use for the default push notification, if the 1826 // notification is a silent push notification. This payload is added to the 1827 // data.pinpoint.jsonBody object of the notification. 1828 Data map[string]string 1829 1830 // Specifies whether the default notification is a silent push notification, which 1831 // is a push notification that doesn't display on a recipient's device. Silent push 1832 // notifications can be used for cases such as updating an app's configuration or 1833 // delivering messages to an in-app notification center. 1834 SilentPush bool 1835 1836 // The default message variables to use in the notification message. You can 1837 // override the default variables with individual address variables. 1838 Substitutions map[string][]string 1839 1840 // The default title to display above the notification message on a recipient's 1841 // device. 1842 Title *string 1843 1844 // The default URL to open in a recipient's default mobile browser, if a recipient 1845 // taps the push notification and the value of the Action property is URL. 1846 Url *string 1847} 1848 1849// Specifies the default settings and content for a message template that can be 1850// used in messages that are sent through a push notification channel. 1851type DefaultPushNotificationTemplate struct { 1852 1853 // The action to occur if a recipient taps a push notification that's based on the 1854 // message template. Valid values are: 1855 // 1856 // * OPEN_APP - Your app opens or it becomes 1857 // the foreground app if it was sent to the background. This is the default 1858 // action. 1859 // 1860 // * DEEP_LINK - Your app opens and displays a designated user interface 1861 // in the app. This setting uses the deep-linking features of the iOS and Android 1862 // platforms. 1863 // 1864 // * URL - The default mobile browser on the recipient's device opens 1865 // and loads the web page at a URL that you specify. 1866 Action Action 1867 1868 // The message body to use in push notifications that are based on the message 1869 // template. 1870 Body *string 1871 1872 // The sound to play when a recipient receives a push notification that's based on 1873 // the message template. You can use the default stream or specify the file name of 1874 // a sound resource that's bundled in your app. On an Android platform, the sound 1875 // file must reside in /res/raw/. For an iOS platform, this value is the key for 1876 // the name of a sound file in your app's main bundle or the Library/Sounds folder 1877 // in your app's data container. If the sound file can't be found or you specify 1878 // default for the value, the system plays the default alert sound. 1879 Sound *string 1880 1881 // The title to use in push notifications that are based on the message template. 1882 // This title appears above the notification message on a recipient's device. 1883 Title *string 1884 1885 // The URL to open in a recipient's default mobile browser, if a recipient taps a 1886 // push notification that's based on the message template and the value of the 1887 // Action property is URL. 1888 Url *string 1889} 1890 1891// Specifies the settings and content for the default message and any default 1892// messages that you tailored for specific channels. 1893type DirectMessageConfiguration struct { 1894 1895 // The default push notification message for the ADM (Amazon Device Messaging) 1896 // channel. This message overrides the default push notification message 1897 // (DefaultPushNotificationMessage). 1898 ADMMessage *ADMMessage 1899 1900 // The default push notification message for the APNs (Apple Push Notification 1901 // service) channel. This message overrides the default push notification message 1902 // (DefaultPushNotificationMessage). 1903 APNSMessage *APNSMessage 1904 1905 // The default push notification message for the Baidu (Baidu Cloud Push) channel. 1906 // This message overrides the default push notification message 1907 // (DefaultPushNotificationMessage). 1908 BaiduMessage *BaiduMessage 1909 1910 // The default message for all channels. 1911 DefaultMessage *DefaultMessage 1912 1913 // The default push notification message for all push notification channels. 1914 DefaultPushNotificationMessage *DefaultPushNotificationMessage 1915 1916 // The default message for the email channel. This message overrides the default 1917 // message (DefaultMessage). 1918 EmailMessage *EmailMessage 1919 1920 // The default push notification message for the GCM channel, which is used to send 1921 // notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud 1922 // Messaging (GCM), service. This message overrides the default push notification 1923 // message (DefaultPushNotificationMessage). 1924 GCMMessage *GCMMessage 1925 1926 // The default message for the SMS channel. This message overrides the default 1927 // message (DefaultMessage). 1928 SMSMessage *SMSMessage 1929 1930 // The default message for the voice channel. This message overrides the default 1931 // message (DefaultMessage). 1932 VoiceMessage *VoiceMessage 1933} 1934 1935// Specifies the status and settings of the email channel for an application. 1936type EmailChannelRequest struct { 1937 1938 // The verified email address that you want to send email from when you send email 1939 // through the channel. 1940 // 1941 // This member is required. 1942 FromAddress *string 1943 1944 // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple 1945 // Email Service (Amazon SES), that you want to use when you send email through the 1946 // channel. 1947 // 1948 // This member is required. 1949 Identity *string 1950 1951 // The Amazon SES configuration set 1952 // (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html) 1953 // that you want to apply to messages that you send through the channel. 1954 ConfigurationSet *string 1955 1956 // Specifies whether to enable the email channel for the application. 1957 Enabled bool 1958 1959 // The ARN of the AWS Identity and Access Management (IAM) role that you want 1960 // Amazon Pinpoint to use when it submits email-related event data for the channel. 1961 RoleArn *string 1962} 1963 1964// Provides information about the status and settings of the email channel for an 1965// application. 1966type EmailChannelResponse struct { 1967 1968 // The type of messaging or notification platform for the channel. For the email 1969 // channel, this value is EMAIL. 1970 // 1971 // This member is required. 1972 Platform *string 1973 1974 // The unique identifier for the application that the email channel applies to. 1975 ApplicationId *string 1976 1977 // The Amazon SES configuration set 1978 // (https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html) 1979 // that's applied to messages that are sent through the channel. 1980 ConfigurationSet *string 1981 1982 // The date and time, in ISO 8601 format, when the email channel was enabled. 1983 CreationDate *string 1984 1985 // Specifies whether the email channel is enabled for the application. 1986 Enabled bool 1987 1988 // The verified email address that email is sent from when you send email through 1989 // the channel. 1990 FromAddress *string 1991 1992 // (Not used) This property is retained only for backward compatibility. 1993 HasCredential bool 1994 1995 // (Deprecated) An identifier for the email channel. This property is retained only 1996 // for backward compatibility. 1997 Id *string 1998 1999 // The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple 2000 // Email Service (Amazon SES), that's used when you send email through the channel. 2001 Identity *string 2002 2003 // Specifies whether the email channel is archived. 2004 IsArchived bool 2005 2006 // The user who last modified the email channel. 2007 LastModifiedBy *string 2008 2009 // The date and time, in ISO 8601 format, when the email channel was last modified. 2010 LastModifiedDate *string 2011 2012 // The maximum number of emails that can be sent through the channel each second. 2013 MessagesPerSecond int32 2014 2015 // The ARN of the AWS Identity and Access Management (IAM) role that Amazon 2016 // Pinpoint uses to submit email-related event data for the channel. 2017 RoleArn *string 2018 2019 // The current version of the email channel. 2020 Version int32 2021} 2022 2023// Specifies the default settings and content for a one-time email message that's 2024// sent directly to an endpoint. 2025type EmailMessage struct { 2026 2027 // The body of the email message. 2028 Body *string 2029 2030 // The email address to forward bounces and complaints to, if feedback forwarding 2031 // is enabled. 2032 FeedbackForwardingAddress *string 2033 2034 // The verified email address to send the email message from. The default value is 2035 // the FromAddress specified for the email channel. 2036 FromAddress *string 2037 2038 // The email message, represented as a raw MIME message. 2039 RawEmail *RawEmail 2040 2041 // The reply-to email address(es) for the email message. If a recipient replies to 2042 // the email, each reply-to address receives the reply. 2043 ReplyToAddresses []string 2044 2045 // The email message, composed of a subject, a text part, and an HTML part. 2046 SimpleEmail *SimpleEmail 2047 2048 // The default message variables to use in the email message. You can override the 2049 // default variables with individual address variables. 2050 Substitutions map[string][]string 2051} 2052 2053// Specifies the settings for an email activity in a journey. This type of activity 2054// sends an email message to participants. 2055type EmailMessageActivity struct { 2056 2057 // Specifies the sender address for an email message that's sent to participants in 2058 // the journey. 2059 MessageConfig *JourneyEmailMessage 2060 2061 // The unique identifier for the next activity to perform, after the message is 2062 // sent. 2063 NextActivity *string 2064 2065 // The name of the email message template to use for the message. If specified, 2066 // this value must match the name of an existing message template. 2067 TemplateName *string 2068 2069 // The unique identifier for the version of the email template to use for the 2070 // message. If specified, this value must match the identifier for an existing 2071 // template version. To retrieve a list of versions and version identifiers for a 2072 // template, use the Template Versions resource. If you don't specify a value for 2073 // this property, Amazon Pinpoint uses the active version of the template. The 2074 // active version is typically the version of a template that's been most recently 2075 // reviewed and approved for use, depending on your workflow. It isn't necessarily 2076 // the latest version of a template. 2077 TemplateVersion *string 2078} 2079 2080// Specifies the content and settings for a message template that can be used in 2081// messages that are sent through the email channel. 2082type EmailTemplateRequest struct { 2083 2084 // A JSON object that specifies the default values to use for message variables in 2085 // the message template. This object is a set of key-value pairs. Each key defines 2086 // a message variable in the template. The corresponding value defines the default 2087 // value for that variable. When you create a message that's based on the template, 2088 // you can override these defaults with message-specific and address-specific 2089 // variables and values. 2090 DefaultSubstitutions *string 2091 2092 // The message body, in HTML format, to use in email messages that are based on the 2093 // message template. We recommend using HTML format for email clients that render 2094 // HTML content. You can include links, formatted text, and more in an HTML 2095 // message. 2096 HtmlPart *string 2097 2098 // The unique identifier for the recommender model to use for the message template. 2099 // Amazon Pinpoint uses this value to determine how to retrieve and process data 2100 // from a recommender model when it sends messages that use the template, if the 2101 // template contains message variables for recommendation data. 2102 RecommenderId *string 2103 2104 // The subject line, or title, to use in email messages that are based on the 2105 // message template. 2106 Subject *string 2107 2108 // A string-to-string map of key-value pairs that defines the tags to associate 2109 // with the message template. Each tag consists of a required tag key and an 2110 // associated tag value. 2111 Tags map[string]string 2112 2113 // A custom description of the message template. 2114 TemplateDescription *string 2115 2116 // The message body, in plain text format, to use in email messages that are based 2117 // on the message template. We recommend using plain text format for email clients 2118 // that don't render HTML content and clients that are connected to high-latency 2119 // networks, such as mobile devices. 2120 TextPart *string 2121} 2122 2123// Provides information about the content and settings for a message template that 2124// can be used in messages that are sent through the email channel. 2125type EmailTemplateResponse struct { 2126 2127 // The date, in ISO 8601 format, when the message template was created. 2128 // 2129 // This member is required. 2130 CreationDate *string 2131 2132 // The date, in ISO 8601 format, when the message template was last modified. 2133 // 2134 // This member is required. 2135 LastModifiedDate *string 2136 2137 // The name of the message template. 2138 // 2139 // This member is required. 2140 TemplateName *string 2141 2142 // The type of channel that the message template is designed for. For an email 2143 // template, this value is EMAIL. 2144 // 2145 // This member is required. 2146 TemplateType TemplateType 2147 2148 // The Amazon Resource Name (ARN) of the message template. 2149 Arn *string 2150 2151 // The JSON object that specifies the default values that are used for message 2152 // variables in the message template. This object is a set of key-value pairs. Each 2153 // key defines a message variable in the template. The corresponding value defines 2154 // the default value for that variable. 2155 DefaultSubstitutions *string 2156 2157 // The message body, in HTML format, that's used in email messages that are based 2158 // on the message template. 2159 HtmlPart *string 2160 2161 // The unique identifier for the recommender model that's used by the message 2162 // template. 2163 RecommenderId *string 2164 2165 // The subject line, or title, that's used in email messages that are based on the 2166 // message template. 2167 Subject *string 2168 2169 // A string-to-string map of key-value pairs that identifies the tags that are 2170 // associated with the message template. Each tag consists of a required tag key 2171 // and an associated tag value. 2172 Tags map[string]string 2173 2174 // The custom description of the message template. 2175 TemplateDescription *string 2176 2177 // The message body, in plain text format, that's used in email messages that are 2178 // based on the message template. 2179 TextPart *string 2180 2181 // The unique identifier, as an integer, for the active version of the message 2182 // template, or the version of the template that you specified by using the version 2183 // parameter in your request. 2184 Version *string 2185} 2186 2187// Specifies an endpoint to create or update and the settings and attributes to set 2188// or change for the endpoint. 2189type EndpointBatchItem struct { 2190 2191 // The destination address for messages or push notifications that you send to the 2192 // endpoint. The address varies by channel. For a push-notification channel, use 2193 // the token provided by the push notification service, such as an Apple Push 2194 // Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) 2195 // registration token. For the SMS channel, use a phone number in E.164 format, 2196 // such as +12065550100. For the email channel, use an email address. 2197 Address *string 2198 2199 // One or more custom attributes that describe the endpoint by associating a name 2200 // with an array of values. For example, the value of a custom attribute named 2201 // Interests might be: ["Science", "Music", "Travel"]. You can use these attributes 2202 // as filter criteria when you create segments. Attribute names are case sensitive. 2203 // An attribute name can contain up to 50 characters. An attribute value can 2204 // contain up to 100 characters. When you define the name of a custom attribute, 2205 // avoid using the following characters: number sign (#), colon (:), question mark 2206 // (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display 2207 // attribute names that contain these characters. This restriction doesn't apply to 2208 // attribute values. 2209 Attributes map[string][]string 2210 2211 // The channel to use when sending messages or push notifications to the endpoint. 2212 ChannelType ChannelType 2213 2214 // The demographic information for the endpoint, such as the time zone and 2215 // platform. 2216 Demographic *EndpointDemographic 2217 2218 // The date and time, in ISO 8601 format, when the endpoint was created or updated. 2219 EffectiveDate *string 2220 2221 // Specifies whether to send messages or push notifications to the endpoint. Valid 2222 // values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages 2223 // aren’t sent to the endpoint. Amazon Pinpoint automatically sets this value to 2224 // ACTIVE when you create an endpoint or update an existing endpoint. Amazon 2225 // Pinpoint automatically sets this value to INACTIVE if you update another 2226 // endpoint that has the same address specified by the Address property. 2227 EndpointStatus *string 2228 2229 // The unique identifier for the endpoint in the context of the batch. 2230 Id *string 2231 2232 // The geographic information for the endpoint. 2233 Location *EndpointLocation 2234 2235 // One or more custom metrics that your app reports to Amazon Pinpoint for the 2236 // endpoint. 2237 Metrics map[string]float64 2238 2239 // Specifies whether the user who's associated with the endpoint has opted out of 2240 // receiving messages and push notifications from you. Possible values are: ALL, 2241 // the user has opted out and doesn't want to receive any messages or push 2242 // notifications; and, NONE, the user hasn't opted out and wants to receive all 2243 // messages and push notifications. 2244 OptOut *string 2245 2246 // The unique identifier for the request to create or update the endpoint. 2247 RequestId *string 2248 2249 // One or more custom attributes that describe the user who's associated with the 2250 // endpoint. 2251 User *EndpointUser 2252} 2253 2254// Specifies a batch of endpoints to create or update and the settings and 2255// attributes to set or change for each endpoint. 2256type EndpointBatchRequest struct { 2257 2258 // An array that defines the endpoints to create or update and, for each endpoint, 2259 // the property values to set or change. An array can contain a maximum of 100 2260 // items. 2261 // 2262 // This member is required. 2263 Item []EndpointBatchItem 2264} 2265 2266// Specifies demographic information about an endpoint, such as the applicable time 2267// zone and platform. 2268type EndpointDemographic struct { 2269 2270 // The version of the app that's associated with the endpoint. 2271 AppVersion *string 2272 2273 // The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 code, 2274 // followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value. 2275 Locale *string 2276 2277 // The manufacturer of the endpoint device, such as apple or samsung. 2278 Make *string 2279 2280 // The model name or number of the endpoint device, such as iPhone or SM-G900F. 2281 Model *string 2282 2283 // The model version of the endpoint device. 2284 ModelVersion *string 2285 2286 // The platform of the endpoint device, such as ios. 2287 Platform *string 2288 2289 // The platform version of the endpoint device. 2290 PlatformVersion *string 2291 2292 // The time zone of the endpoint, specified as a tz database name value, such as 2293 // America/Los_Angeles. 2294 Timezone *string 2295} 2296 2297// Provides the status code and message that result from processing data for an 2298// endpoint. 2299type EndpointItemResponse struct { 2300 2301 // The custom message that's returned in the response as a result of processing the 2302 // endpoint data. 2303 Message *string 2304 2305 // The status code that's returned in the response as a result of processing the 2306 // endpoint data. 2307 StatusCode int32 2308} 2309 2310// Specifies geographic information about an endpoint. 2311type EndpointLocation struct { 2312 2313 // The name of the city where the endpoint is located. 2314 City *string 2315 2316 // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region 2317 // where the endpoint is located. For example, US for the United States. 2318 Country *string 2319 2320 // The latitude coordinate of the endpoint location, rounded to one decimal place. 2321 Latitude float64 2322 2323 // The longitude coordinate of the endpoint location, rounded to one decimal place. 2324 Longitude float64 2325 2326 // The postal or ZIP code for the area where the endpoint is located. 2327 PostalCode *string 2328 2329 // The name of the region where the endpoint is located. For locations in the 2330 // United States, this value is the name of a state. 2331 Region *string 2332} 2333 2334// Provides information about the delivery status and results of sending a message 2335// directly to an endpoint. 2336type EndpointMessageResult struct { 2337 2338 // The delivery status of the message. Possible values are: 2339 // 2340 // * DUPLICATE - The 2341 // endpoint address is a duplicate of another endpoint address. Amazon Pinpoint 2342 // won't attempt to send the message again. 2343 // 2344 // * OPT_OUT - The user who's associated 2345 // with the endpoint has opted out of receiving messages from you. Amazon Pinpoint 2346 // won't attempt to send the message again. 2347 // 2348 // * PERMANENT_FAILURE - An error 2349 // occurred when delivering the message to the endpoint. Amazon Pinpoint won't 2350 // attempt to send the message again. 2351 // 2352 // * SUCCESSFUL - The message was successfully 2353 // delivered to the endpoint. 2354 // 2355 // * TEMPORARY_FAILURE - A temporary error occurred. 2356 // Amazon Pinpoint won't attempt to send the message again. 2357 // 2358 // * THROTTLED - Amazon 2359 // Pinpoint throttled the operation to send the message to the endpoint. 2360 // 2361 // * TIMEOUT 2362 // - The message couldn't be sent within the timeout period. 2363 // 2364 // * UNKNOWN_FAILURE - 2365 // An unknown error occurred. 2366 // 2367 // This member is required. 2368 DeliveryStatus DeliveryStatus 2369 2370 // The downstream service status code for delivering the message. 2371 // 2372 // This member is required. 2373 StatusCode int32 2374 2375 // The endpoint address that the message was delivered to. 2376 Address *string 2377 2378 // The unique identifier for the message that was sent. 2379 MessageId *string 2380 2381 // The status message for delivering the message. 2382 StatusMessage *string 2383 2384 // For push notifications that are sent through the GCM channel, specifies whether 2385 // the endpoint's device registration token was updated as part of delivering the 2386 // message. 2387 UpdatedToken *string 2388} 2389 2390// Specifies the channel type and other settings for an endpoint. 2391type EndpointRequest struct { 2392 2393 // The destination address for messages or push notifications that you send to the 2394 // endpoint. The address varies by channel. For a push-notification channel, use 2395 // the token provided by the push notification service, such as an Apple Push 2396 // Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) 2397 // registration token. For the SMS channel, use a phone number in E.164 format, 2398 // such as +12065550100. For the email channel, use an email address. 2399 Address *string 2400 2401 // One or more custom attributes that describe the endpoint by associating a name 2402 // with an array of values. For example, the value of a custom attribute named 2403 // Interests might be: ["Science", "Music", "Travel"]. You can use these attributes 2404 // as filter criteria when you create segments. Attribute names are case sensitive. 2405 // An attribute name can contain up to 50 characters. An attribute value can 2406 // contain up to 100 characters. When you define the name of a custom attribute, 2407 // avoid using the following characters: number sign (#), colon (:), question mark 2408 // (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display 2409 // attribute names that contain these characters. This restriction doesn't apply to 2410 // attribute values. 2411 Attributes map[string][]string 2412 2413 // The channel to use when sending messages or push notifications to the endpoint. 2414 ChannelType ChannelType 2415 2416 // The demographic information for the endpoint, such as the time zone and 2417 // platform. 2418 Demographic *EndpointDemographic 2419 2420 // The date and time, in ISO 8601 format, when the endpoint is updated. 2421 EffectiveDate *string 2422 2423 // Specifies whether to send messages or push notifications to the endpoint. Valid 2424 // values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages 2425 // aren’t sent to the endpoint. Amazon Pinpoint automatically sets this value to 2426 // ACTIVE when you create an endpoint or update an existing endpoint. Amazon 2427 // Pinpoint automatically sets this value to INACTIVE if you update another 2428 // endpoint that has the same address specified by the Address property. 2429 EndpointStatus *string 2430 2431 // The geographic information for the endpoint. 2432 Location *EndpointLocation 2433 2434 // One or more custom metrics that your app reports to Amazon Pinpoint for the 2435 // endpoint. 2436 Metrics map[string]float64 2437 2438 // Specifies whether the user who's associated with the endpoint has opted out of 2439 // receiving messages and push notifications from you. Possible values are: ALL, 2440 // the user has opted out and doesn't want to receive any messages or push 2441 // notifications; and, NONE, the user hasn't opted out and wants to receive all 2442 // messages and push notifications. 2443 OptOut *string 2444 2445 // The unique identifier for the most recent request to update the endpoint. 2446 RequestId *string 2447 2448 // One or more custom attributes that describe the user who's associated with the 2449 // endpoint. 2450 User *EndpointUser 2451} 2452 2453// Provides information about the channel type and other settings for an endpoint. 2454type EndpointResponse struct { 2455 2456 // The destination address for messages or push notifications that you send to the 2457 // endpoint. The address varies by channel. For example, the address for a 2458 // push-notification channel is typically the token provided by a push notification 2459 // service, such as an Apple Push Notification service (APNs) device token or a 2460 // Firebase Cloud Messaging (FCM) registration token. The address for the SMS 2461 // channel is a phone number in E.164 format, such as +12065550100. The address for 2462 // the email channel is an email address. 2463 Address *string 2464 2465 // The unique identifier for the application that's associated with the endpoint. 2466 ApplicationId *string 2467 2468 // One or more custom attributes that describe the endpoint by associating a name 2469 // with an array of values. For example, the value of a custom attribute named 2470 // Interests might be: ["Science", "Music", "Travel"]. You can use these attributes 2471 // as filter criteria when you create segments. 2472 Attributes map[string][]string 2473 2474 // The channel that's used when sending messages or push notifications to the 2475 // endpoint. 2476 ChannelType ChannelType 2477 2478 // A number from 0-99 that represents the cohort that the endpoint is assigned to. 2479 // Endpoints are grouped into cohorts randomly, and each cohort contains 2480 // approximately 1 percent of the endpoints for an application. Amazon Pinpoint 2481 // assigns cohorts to the holdout or treatment allocations for campaigns. 2482 CohortId *string 2483 2484 // The date and time, in ISO 8601 format, when the endpoint was created. 2485 CreationDate *string 2486 2487 // The demographic information for the endpoint, such as the time zone and 2488 // platform. 2489 Demographic *EndpointDemographic 2490 2491 // The date and time, in ISO 8601 format, when the endpoint was last updated. 2492 EffectiveDate *string 2493 2494 // Specifies whether messages or push notifications are sent to the endpoint. 2495 // Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, 2496 // messages aren’t sent to the endpoint. Amazon Pinpoint automatically sets this 2497 // value to ACTIVE when you create an endpoint or update an existing endpoint. 2498 // Amazon Pinpoint automatically sets this value to INACTIVE if you update another 2499 // endpoint that has the same address specified by the Address property. 2500 EndpointStatus *string 2501 2502 // The unique identifier that you assigned to the endpoint. The identifier should 2503 // be a globally unique identifier (GUID) to ensure that it doesn't conflict with 2504 // other endpoint identifiers that are associated with the application. 2505 Id *string 2506 2507 // The geographic information for the endpoint. 2508 Location *EndpointLocation 2509 2510 // One or more custom metrics that your app reports to Amazon Pinpoint for the 2511 // endpoint. 2512 Metrics map[string]float64 2513 2514 // Specifies whether the user who's associated with the endpoint has opted out of 2515 // receiving messages and push notifications from you. Possible values are: ALL, 2516 // the user has opted out and doesn't want to receive any messages or push 2517 // notifications; and, NONE, the user hasn't opted out and wants to receive all 2518 // messages and push notifications. 2519 OptOut *string 2520 2521 // The unique identifier for the most recent request to update the endpoint. 2522 RequestId *string 2523 2524 // One or more custom user attributes that your app reports to Amazon Pinpoint for 2525 // the user who's associated with the endpoint. 2526 User *EndpointUser 2527} 2528 2529// Specifies the content, including message variables and attributes, to use in a 2530// message that's sent directly to an endpoint. 2531type EndpointSendConfiguration struct { 2532 2533 // The body of the message. If specified, this value overrides the default message 2534 // body. 2535 BodyOverride *string 2536 2537 // A map of custom attributes to attach to the message for the address. Attribute 2538 // names are case sensitive. For a push notification, this payload is added to the 2539 // data.pinpoint object. For an email or text message, this payload is added to 2540 // email/SMS delivery receipt event attributes. 2541 Context map[string]string 2542 2543 // The raw, JSON-formatted string to use as the payload for the message. If 2544 // specified, this value overrides all other values for the message. 2545 RawContent *string 2546 2547 // A map of the message variables to merge with the variables specified for the 2548 // default message (DefaultMessage.Substitutions). The variables specified in this 2549 // map take precedence over all other variables. 2550 Substitutions map[string][]string 2551 2552 // The title or subject line of the message. If specified, this value overrides the 2553 // default message title or subject line. 2554 TitleOverride *string 2555} 2556 2557// Provides information about all the endpoints that are associated with a user ID. 2558type EndpointsResponse struct { 2559 2560 // An array of responses, one for each endpoint that's associated with the user ID. 2561 // 2562 // This member is required. 2563 Item []EndpointResponse 2564} 2565 2566// Specifies data for one or more attributes that describe the user who's 2567// associated with an endpoint. 2568type EndpointUser struct { 2569 2570 // One or more custom attributes that describe the user by associating a name with 2571 // an array of values. For example, the value of an attribute named Interests might 2572 // be: ["Science", "Music", "Travel"]. You can use these attributes as filter 2573 // criteria when you create segments. Attribute names are case sensitive. An 2574 // attribute name can contain up to 50 characters. An attribute value can contain 2575 // up to 100 characters. When you define the name of a custom attribute, avoid 2576 // using the following characters: number sign (#), colon (:), question mark (?), 2577 // backslash (\), and slash (/). The Amazon Pinpoint console can't display 2578 // attribute names that contain these characters. This restriction doesn't apply to 2579 // attribute values. 2580 UserAttributes map[string][]string 2581 2582 // The unique identifier for the user. 2583 UserId *string 2584} 2585 2586// Specifies information about an event that reports data to Amazon Pinpoint. 2587type Event struct { 2588 2589 // The name of the event. 2590 // 2591 // This member is required. 2592 EventType *string 2593 2594 // The date and time, in ISO 8601 format, when the event occurred. 2595 // 2596 // This member is required. 2597 Timestamp *string 2598 2599 // The package name of the app that's recording the event. 2600 AppPackageName *string 2601 2602 // The title of the app that's recording the event. 2603 AppTitle *string 2604 2605 // The version number of the app that's recording the event. 2606 AppVersionCode *string 2607 2608 // One or more custom attributes that are associated with the event. 2609 Attributes map[string]string 2610 2611 // The version of the SDK that's running on the client device. 2612 ClientSdkVersion *string 2613 2614 // One or more custom metrics that are associated with the event. 2615 Metrics map[string]float64 2616 2617 // The name of the SDK that's being used to record the event. 2618 SdkName *string 2619 2620 // Information about the session in which the event occurred. 2621 Session *Session 2622} 2623 2624// Specifies the conditions to evaluate for an event that applies to an activity in 2625// a journey. 2626type EventCondition struct { 2627 2628 // The dimensions for the event filter to use for the activity. 2629 Dimensions *EventDimensions 2630 2631 // The message identifier (message_id) for the message to use when determining 2632 // whether message events meet the condition. 2633 MessageActivity *string 2634} 2635 2636// Specifies the dimensions for an event filter that determines when a campaign is 2637// sent or a journey activity is performed. 2638type EventDimensions struct { 2639 2640 // One or more custom attributes that your application reports to Amazon Pinpoint. 2641 // You can use these attributes as selection criteria when you create an event 2642 // filter. 2643 Attributes map[string]AttributeDimension 2644 2645 // The name of the event that causes the campaign to be sent or the journey 2646 // activity to be performed. This can be a standard event that Amazon Pinpoint 2647 // generates, such as _email.delivered. For campaigns, this can also be a custom 2648 // event that's specific to your application. For information about standard 2649 // events, see Streaming Amazon Pinpoint Events 2650 // (https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams.html) 2651 // in the Amazon Pinpoint Developer Guide. 2652 EventType *SetDimension 2653 2654 // One or more custom metrics that your application reports to Amazon Pinpoint. You 2655 // can use these metrics as selection criteria when you create an event filter. 2656 Metrics map[string]MetricDimension 2657} 2658 2659// Specifies the settings for an event that causes a campaign to be sent or a 2660// journey activity to be performed. 2661type EventFilter struct { 2662 2663 // The dimensions for the event filter to use for the campaign or the journey 2664 // activity. 2665 // 2666 // This member is required. 2667 Dimensions *EventDimensions 2668 2669 // The type of event that causes the campaign to be sent or the journey activity to 2670 // be performed. Valid values are: SYSTEM, sends the campaign or performs the 2671 // activity when a system event occurs; and, ENDPOINT, sends the campaign or 2672 // performs the activity when an endpoint event (Events resource) occurs. 2673 // 2674 // This member is required. 2675 FilterType FilterType 2676} 2677 2678// Provides the status code and message that result from processing an event. 2679type EventItemResponse struct { 2680 2681 // A custom message that's returned in the response as a result of processing the 2682 // event. 2683 Message *string 2684 2685 // The status code that's returned in the response as a result of processing the 2686 // event. Possible values are: 202, for events that were accepted; and, 400, for 2687 // events that weren't valid. 2688 StatusCode int32 2689} 2690 2691// Specifies a batch of endpoints and events to process. 2692type EventsBatch struct { 2693 2694 // A set of properties and attributes that are associated with the endpoint. 2695 // 2696 // This member is required. 2697 Endpoint *PublicEndpoint 2698 2699 // A set of properties that are associated with the event. 2700 // 2701 // This member is required. 2702 Events map[string]Event 2703} 2704 2705// Specifies a batch of events to process. 2706type EventsRequest struct { 2707 2708 // The batch of events to process. For each item in a batch, the endpoint ID acts 2709 // as a key that has an EventsBatch object as its value. 2710 // 2711 // This member is required. 2712 BatchItem map[string]EventsBatch 2713} 2714 2715// Provides information about endpoints and the events that they're associated 2716// with. 2717type EventsResponse struct { 2718 2719 // A map that contains a multipart response for each endpoint. For each item in 2720 // this object, the endpoint ID is the key and the item response is the value. If 2721 // no item response exists, the value can also be one of the following: 202, the 2722 // request was processed successfully; or 400, the payload wasn't valid or required 2723 // fields were missing. 2724 Results map[string]ItemResponse 2725} 2726 2727// Specifies the settings for an event that causes a journey activity to start. 2728type EventStartCondition struct { 2729 2730 // Specifies the settings for an event that causes a campaign to be sent or a 2731 // journey activity to be performed. 2732 EventFilter *EventFilter 2733 2734 SegmentId *string 2735} 2736 2737// Specifies settings for publishing event data to an Amazon Kinesis data stream or 2738// an Amazon Kinesis Data Firehose delivery stream. 2739type EventStream struct { 2740 2741 // The unique identifier for the application to publish event data for. 2742 // 2743 // This member is required. 2744 ApplicationId *string 2745 2746 // The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon 2747 // Kinesis Data Firehose delivery stream to publish event data to. For a Kinesis 2748 // data stream, the ARN format is: 2749 // arn:aws:kinesis:region:account-id:stream/stream_name For a Kinesis Data Firehose 2750 // delivery stream, the ARN format is: 2751 // arn:aws:firehose:region:account-id:deliverystream/stream_name 2752 // 2753 // This member is required. 2754 DestinationStreamArn *string 2755 2756 // The AWS Identity and Access Management (IAM) role that authorizes Amazon 2757 // Pinpoint to publish event data to the stream in your AWS account. 2758 // 2759 // This member is required. 2760 RoleArn *string 2761 2762 // (Deprecated) Your AWS account ID, which you assigned to an external ID key in an 2763 // IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM 2764 // role when publishing event data, but we removed this requirement. We don't 2765 // recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint. 2766 ExternalId *string 2767 2768 // The date, in ISO 8601 format, when the event stream was last modified. 2769 LastModifiedDate *string 2770 2771 // The IAM user who last modified the event stream. 2772 LastUpdatedBy *string 2773} 2774 2775// Specifies the settings for a job that exports endpoint definitions to an Amazon 2776// Simple Storage Service (Amazon S3) bucket. 2777type ExportJobRequest struct { 2778 2779 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 2780 // role that authorizes Amazon Pinpoint to access the Amazon S3 location where you 2781 // want to export endpoint definitions to. 2782 // 2783 // This member is required. 2784 RoleArn *string 2785 2786 // The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket 2787 // where you want to export endpoint definitions to. This location is typically a 2788 // folder that contains multiple files. The URL should be in the following format: 2789 // s3://bucket-name/folder-name/. 2790 // 2791 // This member is required. 2792 S3UrlPrefix *string 2793 2794 // The identifier for the segment to export endpoint definitions from. If you don't 2795 // specify this value, Amazon Pinpoint exports definitions for all the endpoints 2796 // that are associated with the application. 2797 SegmentId *string 2798 2799 // The version of the segment to export endpoint definitions from, if specified. 2800 SegmentVersion int32 2801} 2802 2803// Provides information about the resource settings for a job that exports endpoint 2804// definitions to a file. The file can be added directly to an Amazon Simple 2805// Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or 2806// downloaded directly to a computer by using the Amazon Pinpoint console. 2807type ExportJobResource struct { 2808 2809 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 2810 // role that authorized Amazon Pinpoint to access the Amazon S3 location where the 2811 // endpoint definitions were exported to. 2812 // 2813 // This member is required. 2814 RoleArn *string 2815 2816 // The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket 2817 // where the endpoint definitions were exported to. This location is typically a 2818 // folder that contains multiple files. The URL should be in the following format: 2819 // s3://bucket-name/folder-name/. 2820 // 2821 // This member is required. 2822 S3UrlPrefix *string 2823 2824 // The identifier for the segment that the endpoint definitions were exported from. 2825 // If this value isn't present, Amazon Pinpoint exported definitions for all the 2826 // endpoints that are associated with the application. 2827 SegmentId *string 2828 2829 // The version of the segment that the endpoint definitions were exported from. 2830 SegmentVersion int32 2831} 2832 2833// Provides information about the status and settings of a job that exports 2834// endpoint definitions to a file. The file can be added directly to an Amazon 2835// Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or 2836// downloaded directly to a computer by using the Amazon Pinpoint console. 2837type ExportJobResponse struct { 2838 2839 // The unique identifier for the application that's associated with the export job. 2840 // 2841 // This member is required. 2842 ApplicationId *string 2843 2844 // The date, in ISO 8601 format, when the export job was created. 2845 // 2846 // This member is required. 2847 CreationDate *string 2848 2849 // The resource settings that apply to the export job. 2850 // 2851 // This member is required. 2852 Definition *ExportJobResource 2853 2854 // The unique identifier for the export job. 2855 // 2856 // This member is required. 2857 Id *string 2858 2859 // The status of the export job. The job status is FAILED if Amazon Pinpoint wasn't 2860 // able to process one or more pieces in the job. 2861 // 2862 // This member is required. 2863 JobStatus JobStatus 2864 2865 // The job type. This value is EXPORT for export jobs. 2866 // 2867 // This member is required. 2868 Type *string 2869 2870 // The number of pieces that were processed successfully (completed) by the export 2871 // job, as of the time of the request. 2872 CompletedPieces int32 2873 2874 // The date, in ISO 8601 format, when the export job was completed. 2875 CompletionDate *string 2876 2877 // The number of pieces that weren't processed successfully (failed) by the export 2878 // job, as of the time of the request. 2879 FailedPieces int32 2880 2881 // An array of entries, one for each of the first 100 entries that weren't 2882 // processed successfully (failed) by the export job, if any. 2883 Failures []string 2884 2885 // The total number of endpoint definitions that weren't processed successfully 2886 // (failed) by the export job, typically because an error, such as a syntax error, 2887 // occurred. 2888 TotalFailures int32 2889 2890 // The total number of pieces that must be processed to complete the export job. 2891 // Each piece consists of an approximately equal portion of the endpoint 2892 // definitions that are part of the export job. 2893 TotalPieces int32 2894 2895 // The total number of endpoint definitions that were processed by the export job. 2896 TotalProcessed int32 2897} 2898 2899// Provides information about all the export jobs that are associated with an 2900// application or segment. An export job is a job that exports endpoint definitions 2901// to a file. 2902type ExportJobsResponse struct { 2903 2904 // An array of responses, one for each export job that's associated with the 2905 // application (Export Jobs resource) or segment (Segment Export Jobs resource). 2906 // 2907 // This member is required. 2908 Item []ExportJobResponse 2909 2910 // The string to use in a subsequent request to get the next page of results in a 2911 // paginated response. This value is null if there are no additional pages. 2912 NextToken *string 2913} 2914 2915// Specifies the status and settings of the GCM channel for an application. This 2916// channel enables Amazon Pinpoint to send push notifications through the Firebase 2917// Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. 2918type GCMChannelRequest struct { 2919 2920 // The Web API Key, also referred to as an API_KEY or server key, that you received 2921 // from Google to communicate with Google services. 2922 // 2923 // This member is required. 2924 ApiKey *string 2925 2926 // Specifies whether to enable the GCM channel for the application. 2927 Enabled bool 2928} 2929 2930// Provides information about the status and settings of the GCM channel for an 2931// application. The GCM channel enables Amazon Pinpoint to send push notifications 2932// through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging 2933// (GCM), service. 2934type GCMChannelResponse struct { 2935 2936 // The Web API Key, also referred to as an API_KEY or server key, that you received 2937 // from Google to communicate with Google services. 2938 // 2939 // This member is required. 2940 Credential *string 2941 2942 // The type of messaging or notification platform for the channel. For the GCM 2943 // channel, this value is GCM. 2944 // 2945 // This member is required. 2946 Platform *string 2947 2948 // The unique identifier for the application that the GCM channel applies to. 2949 ApplicationId *string 2950 2951 // The date and time when the GCM channel was enabled. 2952 CreationDate *string 2953 2954 // Specifies whether the GCM channel is enabled for the application. 2955 Enabled bool 2956 2957 // (Not used) This property is retained only for backward compatibility. 2958 HasCredential bool 2959 2960 // (Deprecated) An identifier for the GCM channel. This property is retained only 2961 // for backward compatibility. 2962 Id *string 2963 2964 // Specifies whether the GCM channel is archived. 2965 IsArchived bool 2966 2967 // The user who last modified the GCM channel. 2968 LastModifiedBy *string 2969 2970 // The date and time when the GCM channel was last modified. 2971 LastModifiedDate *string 2972 2973 // The current version of the GCM channel. 2974 Version int32 2975} 2976 2977// Specifies the settings for a one-time message that's sent directly to an 2978// endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint to 2979// send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud 2980// Messaging (GCM), service. 2981type GCMMessage struct { 2982 2983 // The action to occur if the recipient taps the push notification. Valid values 2984 // are: 2985 // 2986 // * OPEN_APP - Your app opens or it becomes the foreground app if it was 2987 // sent to the background. This is the default action. 2988 // 2989 // * DEEP_LINK - Your app 2990 // opens and displays a designated user interface in the app. This action uses the 2991 // deep-linking features of the Android platform. 2992 // 2993 // * URL - The default mobile 2994 // browser on the recipient's device opens and loads the web page at a URL that you 2995 // specify. 2996 Action Action 2997 2998 // The body of the notification message. 2999 Body *string 3000 3001 // An arbitrary string that identifies a group of messages that can be collapsed to 3002 // ensure that only the last message is sent when delivery can resume. This helps 3003 // avoid sending too many instances of the same messages when the recipient's 3004 // device comes online again or becomes active. Amazon Pinpoint specifies this 3005 // value in the Firebase Cloud Messaging (FCM) collapse_key parameter when it sends 3006 // the notification message to FCM. 3007 CollapseKey *string 3008 3009 // The JSON data payload to use for the push notification, if the notification is a 3010 // silent push notification. This payload is added to the data.pinpoint.jsonBody 3011 // object of the notification. 3012 Data map[string]string 3013 3014 // The icon image name of the asset saved in your app. 3015 IconReference *string 3016 3017 // The URL of the large icon image to display in the content view of the push 3018 // notification. 3019 ImageIconUrl *string 3020 3021 // The URL of an image to display in the push notification. 3022 ImageUrl *string 3023 3024 // para>normal - The notification might be delayed. Delivery is optimized for 3025 // battery usage on the recipient's device. Use this value unless immediate 3026 // delivery is required./listitem> 3027 // * high - The notification is sent immediately 3028 // and might wake a sleeping device. 3029 // /para> Amazon Pinpoint specifies this value in 3030 // the FCM priority parameter when it sends the notification message to FCM. The 3031 // equivalent values for Apple Push Notification service (APNs) are 5, for normal, 3032 // and 10, for high. If you specify an APNs value for this property, Amazon 3033 // Pinpoint accepts and converts the value to the corresponding FCM value. 3034 Priority *string 3035 3036 // The raw, JSON-formatted string to use as the payload for the notification 3037 // message. If specified, this value overrides all other content for the message. 3038 RawContent *string 3039 3040 // The package name of the application where registration tokens must match in 3041 // order for the recipient to receive the message. 3042 RestrictedPackageName *string 3043 3044 // Specifies whether the notification is a silent push notification, which is a 3045 // push notification that doesn't display on a recipient's device. Silent push 3046 // notifications can be used for cases such as updating an app's configuration or 3047 // supporting phone home functionality. 3048 SilentPush bool 3049 3050 // The URL of the small icon image to display in the status bar and the content 3051 // view of the push notification. 3052 SmallImageIconUrl *string 3053 3054 // The sound to play when the recipient receives the push notification. You can use 3055 // the default stream or specify the file name of a sound resource that's bundled 3056 // in your app. On an Android platform, the sound file must reside in /res/raw/. 3057 Sound *string 3058 3059 // The default message variables to use in the notification message. You can 3060 // override the default variables with individual address variables. 3061 Substitutions map[string][]string 3062 3063 // The amount of time, in seconds, that FCM should store and attempt to deliver the 3064 // push notification, if the service is unable to deliver the notification the 3065 // first time. If you don't specify this value, FCM defaults to the maximum value, 3066 // which is 2,419,200 seconds (28 days). Amazon Pinpoint specifies this value in 3067 // the FCM time_to_live parameter when it sends the notification message to FCM. 3068 TimeToLive int32 3069 3070 // The title to display above the notification message on the recipient's device. 3071 Title *string 3072 3073 // The URL to open in the recipient's default mobile browser, if a recipient taps 3074 // the push notification and the value of the Action property is URL. 3075 Url *string 3076} 3077 3078// Specifies the GPS coordinates of a location. 3079type GPSCoordinates struct { 3080 3081 // The latitude coordinate of the location. 3082 // 3083 // This member is required. 3084 Latitude float64 3085 3086 // The longitude coordinate of the location. 3087 // 3088 // This member is required. 3089 Longitude float64 3090} 3091 3092// Specifies GPS-based criteria for including or excluding endpoints from a 3093// segment. 3094type GPSPointDimension struct { 3095 3096 // The GPS coordinates to measure distance from. 3097 // 3098 // This member is required. 3099 Coordinates *GPSCoordinates 3100 3101 // The range, in kilometers, from the GPS coordinates. 3102 RangeInKilometers float64 3103} 3104 3105// Specifies the settings for a holdout activity in a journey. This type of 3106// activity stops a journey for a specified percentage of participants. 3107type HoldoutActivity struct { 3108 3109 // The percentage of participants who shouldn't continue the journey. To determine 3110 // which participants are held out, Amazon Pinpoint applies a probability-based 3111 // algorithm to the percentage that you specify. Therefore, the actual percentage 3112 // of participants who are held out may not be equal to the percentage that you 3113 // specify. 3114 // 3115 // This member is required. 3116 Percentage int32 3117 3118 // The unique identifier for the next activity to perform, after performing the 3119 // holdout activity. 3120 NextActivity *string 3121} 3122 3123// Specifies the settings for a job that imports endpoint definitions from an 3124// Amazon Simple Storage Service (Amazon S3) bucket. 3125type ImportJobRequest struct { 3126 3127 // The format of the files that contain the endpoint definitions to import. Valid 3128 // values are: CSV, for comma-separated values format; and, JSON, for 3129 // newline-delimited JSON format. If the Amazon S3 location stores multiple files 3130 // that use different formats, Amazon Pinpoint imports data only from the files 3131 // that use the specified format. 3132 // 3133 // This member is required. 3134 Format Format 3135 3136 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 3137 // role that authorizes Amazon Pinpoint to access the Amazon S3 location to import 3138 // endpoint definitions from. 3139 // 3140 // This member is required. 3141 RoleArn *string 3142 3143 // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains 3144 // the endpoint definitions to import. This location can be a folder or a single 3145 // file. If the location is a folder, Amazon Pinpoint imports endpoint definitions 3146 // from the files in this location, including any subfolders that the folder 3147 // contains. The URL should be in the following format: 3148 // s3://bucket-name/folder-name/file-name. The location can end with the key for an 3149 // individual object or a prefix that qualifies multiple objects. 3150 // 3151 // This member is required. 3152 S3Url *string 3153 3154 // Specifies whether to create a segment that contains the endpoints, when the 3155 // endpoint definitions are imported. 3156 DefineSegment bool 3157 3158 // (Deprecated) Your AWS account ID, which you assigned to an external ID key in an 3159 // IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM 3160 // role when importing endpoint definitions, but we removed this requirement. We 3161 // don't recommend use of external IDs for IAM roles that are assumed by Amazon 3162 // Pinpoint. 3163 ExternalId *string 3164 3165 // Specifies whether to register the endpoints with Amazon Pinpoint, when the 3166 // endpoint definitions are imported. 3167 RegisterEndpoints bool 3168 3169 // The identifier for the segment to update or add the imported endpoint 3170 // definitions to, if the import job is meant to update an existing segment. 3171 SegmentId *string 3172 3173 // A custom name for the segment that's created by the import job, if the value of 3174 // the DefineSegment property is true. 3175 SegmentName *string 3176} 3177 3178// Provides information about the resource settings for a job that imports endpoint 3179// definitions from one or more files. The files can be stored in an Amazon Simple 3180// Storage Service (Amazon S3) bucket or uploaded directly from a computer by using 3181// the Amazon Pinpoint console. 3182type ImportJobResource struct { 3183 3184 // The format of the files that contain the endpoint definitions to import. Valid 3185 // values are: CSV, for comma-separated values format; and, JSON, for 3186 // newline-delimited JSON format. If the files are stored in an Amazon S3 location 3187 // and that location contains multiple files that use different formats, Amazon 3188 // Pinpoint imports data only from the files that use the specified format. 3189 // 3190 // This member is required. 3191 Format Format 3192 3193 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 3194 // role that authorizes Amazon Pinpoint to access the Amazon S3 location to import 3195 // endpoint definitions from. 3196 // 3197 // This member is required. 3198 RoleArn *string 3199 3200 // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains 3201 // the endpoint definitions to import. This location can be a folder or a single 3202 // file. If the location is a folder, Amazon Pinpoint imports endpoint definitions 3203 // from the files in this location, including any subfolders that the folder 3204 // contains. The URL should be in the following format: 3205 // s3://bucket-name/folder-name/file-name. The location can end with the key for an 3206 // individual object or a prefix that qualifies multiple objects. 3207 // 3208 // This member is required. 3209 S3Url *string 3210 3211 // Specifies whether the import job creates a segment that contains the endpoints, 3212 // when the endpoint definitions are imported. 3213 DefineSegment bool 3214 3215 // (Deprecated) Your AWS account ID, which you assigned to an external ID key in an 3216 // IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM 3217 // role when importing endpoint definitions, but we removed this requirement. We 3218 // don't recommend use of external IDs for IAM roles that are assumed by Amazon 3219 // Pinpoint. 3220 ExternalId *string 3221 3222 // Specifies whether the import job registers the endpoints with Amazon Pinpoint, 3223 // when the endpoint definitions are imported. 3224 RegisterEndpoints bool 3225 3226 // The identifier for the segment that the import job updates or adds endpoint 3227 // definitions to, if the import job updates an existing segment. 3228 SegmentId *string 3229 3230 // The custom name for the segment that's created by the import job, if the value 3231 // of the DefineSegment property is true. 3232 SegmentName *string 3233} 3234 3235// Provides information about the status and settings of a job that imports 3236// endpoint definitions from one or more files. The files can be stored in an 3237// Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from a 3238// computer by using the Amazon Pinpoint console. 3239type ImportJobResponse struct { 3240 3241 // The unique identifier for the application that's associated with the import job. 3242 // 3243 // This member is required. 3244 ApplicationId *string 3245 3246 // The date, in ISO 8601 format, when the import job was created. 3247 // 3248 // This member is required. 3249 CreationDate *string 3250 3251 // The resource settings that apply to the import job. 3252 // 3253 // This member is required. 3254 Definition *ImportJobResource 3255 3256 // The unique identifier for the import job. 3257 // 3258 // This member is required. 3259 Id *string 3260 3261 // The status of the import job. The job status is FAILED if Amazon Pinpoint wasn't 3262 // able to process one or more pieces in the job. 3263 // 3264 // This member is required. 3265 JobStatus JobStatus 3266 3267 // The job type. This value is IMPORT for import jobs. 3268 // 3269 // This member is required. 3270 Type *string 3271 3272 // The number of pieces that were processed successfully (completed) by the import 3273 // job, as of the time of the request. 3274 CompletedPieces int32 3275 3276 // The date, in ISO 8601 format, when the import job was completed. 3277 CompletionDate *string 3278 3279 // The number of pieces that weren't processed successfully (failed) by the import 3280 // job, as of the time of the request. 3281 FailedPieces int32 3282 3283 // An array of entries, one for each of the first 100 entries that weren't 3284 // processed successfully (failed) by the import job, if any. 3285 Failures []string 3286 3287 // The total number of endpoint definitions that weren't processed successfully 3288 // (failed) by the import job, typically because an error, such as a syntax error, 3289 // occurred. 3290 TotalFailures int32 3291 3292 // The total number of pieces that must be processed to complete the import job. 3293 // Each piece consists of an approximately equal portion of the endpoint 3294 // definitions that are part of the import job. 3295 TotalPieces int32 3296 3297 // The total number of endpoint definitions that were processed by the import job. 3298 TotalProcessed int32 3299} 3300 3301// Provides information about the status and settings of all the import jobs that 3302// are associated with an application or segment. An import job is a job that 3303// imports endpoint definitions from one or more files. 3304type ImportJobsResponse struct { 3305 3306 // An array of responses, one for each import job that's associated with the 3307 // application (Import Jobs resource) or segment (Segment Import Jobs resource). 3308 // 3309 // This member is required. 3310 Item []ImportJobResponse 3311 3312 // The string to use in a subsequent request to get the next page of results in a 3313 // paginated response. This value is null if there are no additional pages. 3314 NextToken *string 3315} 3316 3317// Provides information about the results of a request to create or update an 3318// endpoint that's associated with an event. 3319type ItemResponse struct { 3320 3321 // The response that was received after the endpoint data was accepted. 3322 EndpointItemResponse *EndpointItemResponse 3323 3324 // A multipart response object that contains a key and a value for each event in 3325 // the request. In each object, the event ID is the key and an EventItemResponse 3326 // object is the value. 3327 EventsItemResponse map[string]EventItemResponse 3328} 3329 3330// Specifies the message content for a custom channel message that's sent to 3331// participants in a journey. 3332type JourneyCustomMessage struct { 3333 3334 // The message content that's passed to an AWS Lambda function or to a web hook. 3335 Data *string 3336} 3337 3338// Provides the results of a query that retrieved the data for a standard 3339// engagement metric that applies to a journey, and provides information about that 3340// query. 3341type JourneyDateRangeKpiResponse struct { 3342 3343 // The unique identifier for the application that the metric applies to. 3344 // 3345 // This member is required. 3346 ApplicationId *string 3347 3348 // The last date and time of the date range that was used to filter the query 3349 // results, in extended ISO 8601 format. The date range is inclusive. 3350 // 3351 // This member is required. 3352 EndTime *time.Time 3353 3354 // The unique identifier for the journey that the metric applies to. 3355 // 3356 // This member is required. 3357 JourneyId *string 3358 3359 // The name of the metric, also referred to as a key performance indicator (KPI), 3360 // that the data was retrieved for. This value describes the associated metric and 3361 // consists of two or more terms, which are comprised of lowercase alphanumeric 3362 // characters, separated by a hyphen. For a list of possible values, see the Amazon 3363 // Pinpoint Developer Guide 3364 // (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). 3365 // 3366 // This member is required. 3367 KpiName *string 3368 3369 // An array of objects that contains the results of the query. Each object contains 3370 // the value for the metric and metadata about that value. 3371 // 3372 // This member is required. 3373 KpiResult *BaseKpiResult 3374 3375 // The first date and time of the date range that was used to filter the query 3376 // results, in extended ISO 8601 format. The date range is inclusive. 3377 // 3378 // This member is required. 3379 StartTime *time.Time 3380 3381 // The string to use in a subsequent request to get the next page of results in a 3382 // paginated response. This value is null for the Journey Engagement Metrics 3383 // resource because the resource returns all results in a single page. 3384 NextToken *string 3385} 3386 3387// Specifies the "From" address for an email message that's sent to participants in 3388// a journey. 3389type JourneyEmailMessage struct { 3390 3391 // The verified email address to send the email message from. The default address 3392 // is the FromAddress specified for the email channel for the application. 3393 FromAddress *string 3394} 3395 3396// Provides the results of a query that retrieved the data for a standard execution 3397// metric that applies to a journey activity, and provides information about that 3398// query. 3399type JourneyExecutionActivityMetricsResponse struct { 3400 3401 // The type of activity that the metric applies to. Possible values are: 3402 // 3403 // * 3404 // CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity that sends 3405 // participants down one of two paths in a journey. 3406 // 3407 // * HOLDOUT - For a holdout 3408 // activity, which is an activity that stops a journey for a specified percentage 3409 // of participants. 3410 // 3411 // * MESSAGE - For an email activity, which is an activity that 3412 // sends an email message to participants. 3413 // 3414 // * MULTI_CONDITIONAL_SPLIT - For a 3415 // multivariate split activity, which is an activity that sends participants down 3416 // one of as many as five paths in a journey. 3417 // 3418 // * RANDOM_SPLIT - For a random split 3419 // activity, which is an activity that sends specified percentages of participants 3420 // down one of as many as five paths in a journey. 3421 // 3422 // * WAIT - For a wait activity, 3423 // which is an activity that waits for a certain amount of time or until a specific 3424 // date and time before moving participants to the next activity in a journey. 3425 // 3426 // This member is required. 3427 ActivityType *string 3428 3429 // The unique identifier for the application that the metric applies to. 3430 // 3431 // This member is required. 3432 ApplicationId *string 3433 3434 // The unique identifier for the activity that the metric applies to. 3435 // 3436 // This member is required. 3437 JourneyActivityId *string 3438 3439 // The unique identifier for the journey that the metric applies to. 3440 // 3441 // This member is required. 3442 JourneyId *string 3443 3444 // The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the 3445 // execution status of the activity and updated the data for the metric. 3446 // 3447 // This member is required. 3448 LastEvaluatedTime *string 3449 3450 // A JSON object that contains the results of the query. The results vary depending 3451 // on the type of activity (ActivityType). For information about the structure and 3452 // contents of the results, see the Amazon Pinpoint Developer Guide 3453 // (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). 3454 // 3455 // This member is required. 3456 Metrics map[string]string 3457} 3458 3459// Provides the results of a query that retrieved the data for a standard execution 3460// metric that applies to a journey, and provides information about that query. 3461type JourneyExecutionMetricsResponse struct { 3462 3463 // The unique identifier for the application that the metric applies to. 3464 // 3465 // This member is required. 3466 ApplicationId *string 3467 3468 // The unique identifier for the journey that the metric applies to. 3469 // 3470 // This member is required. 3471 JourneyId *string 3472 3473 // The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the 3474 // journey and updated the data for the metric. 3475 // 3476 // This member is required. 3477 LastEvaluatedTime *string 3478 3479 // A JSON object that contains the results of the query. For information about the 3480 // structure and contents of the results, see the Amazon Pinpoint Developer Guide 3481 // (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html). 3482 // 3483 // This member is required. 3484 Metrics map[string]string 3485} 3486 3487// Specifies limits on the messages that a journey can send and the number of times 3488// participants can enter a journey. 3489type JourneyLimits struct { 3490 3491 // The maximum number of messages that the journey can send to a single participant 3492 // during a 24-hour period. The maximum value is 100. 3493 DailyCap int32 3494 3495 // The maximum number of times that a participant can enter the journey. The 3496 // maximum value is 100. To allow participants to enter the journey an unlimited 3497 // number of times, set this value to 0. 3498 EndpointReentryCap int32 3499 3500 // The maximum number of messages that the journey can send each second. 3501 MessagesPerSecond int32 3502} 3503 3504// Specifies the message configuration for a push notification that's sent to 3505// participants in a journey. 3506type JourneyPushMessage struct { 3507 3508 // The number of seconds that the push notification service should keep the 3509 // message, if the service is unable to deliver the notification the first time. 3510 // This value is converted to an expiration value when it's sent to a 3511 // push-notification service. If this value is 0, the service treats the 3512 // notification as if it expires immediately and the service doesn't store or try 3513 // to deliver the notification again. This value doesn't apply to messages that are 3514 // sent through the Amazon Device Messaging (ADM) service. 3515 TimeToLive *string 3516} 3517 3518// Provides information about the status, configuration, and other settings for a 3519// journey. 3520type JourneyResponse struct { 3521 3522 // The unique identifier for the application that the journey applies to. 3523 // 3524 // This member is required. 3525 ApplicationId *string 3526 3527 // The unique identifier for the journey. 3528 // 3529 // This member is required. 3530 Id *string 3531 3532 // The name of the journey. 3533 // 3534 // This member is required. 3535 Name *string 3536 3537 // A map that contains a set of Activity objects, one object for each activity in 3538 // the journey. For each Activity object, the key is the unique identifier (string) 3539 // for an activity and the value is the settings for the activity. 3540 Activities map[string]Activity 3541 3542 // The date, in ISO 8601 format, when the journey was created. 3543 CreationDate *string 3544 3545 // The date, in ISO 8601 format, when the journey was last modified. 3546 LastModifiedDate *string 3547 3548 // The messaging and entry limits for the journey. 3549 Limits *JourneyLimits 3550 3551 // Specifies whether the journey's scheduled start and end times use each 3552 // participant's local time. If this value is true, the schedule uses each 3553 // participant's local time. 3554 LocalTime bool 3555 3556 // The quiet time settings for the journey. Quiet time is a specific time range 3557 // when a journey doesn't send messages to participants, if all the following 3558 // conditions are met: 3559 // 3560 // * The EndpointDemographic.Timezone property of the endpoint 3561 // for the participant is set to a valid value. 3562 // 3563 // * The current time in the 3564 // participant's time zone is later than or equal to the time specified by the 3565 // QuietTime.Start property for the journey. 3566 // 3567 // * The current time in the 3568 // participant's time zone is earlier than or equal to the time specified by the 3569 // QuietTime.End property for the journey. 3570 // 3571 // If any of the preceding conditions 3572 // isn't met, the participant will receive messages from the journey, even if quiet 3573 // time is enabled. 3574 QuietTime *QuietTime 3575 3576 // The frequency with which Amazon Pinpoint evaluates segment and event data for 3577 // the journey, as a duration in ISO 8601 format. 3578 RefreshFrequency *string 3579 3580 // The schedule settings for the journey. 3581 Schedule *JourneySchedule 3582 3583 // The unique identifier for the first activity in the journey. 3584 StartActivity *string 3585 3586 // The segment that defines which users are participants in the journey. 3587 StartCondition *StartCondition 3588 3589 // The current status of the journey. Possible values are: 3590 // 3591 // * DRAFT - The journey 3592 // is being developed and hasn't been published yet. 3593 // 3594 // * ACTIVE - The journey has 3595 // been developed and published. Depending on the journey's schedule, the journey 3596 // may currently be running or scheduled to start running at a later time. If a 3597 // journey's status is ACTIVE, you can't add, change, or remove activities from 3598 // it. 3599 // 3600 // * COMPLETED - The journey has been published and has finished running. All 3601 // participants have entered the journey and no participants are waiting to 3602 // complete the journey or any activities in the journey. 3603 // 3604 // * CANCELLED - The 3605 // journey has been stopped. If a journey's status is CANCELLED, you can't add, 3606 // change, or remove activities or segment settings from the journey. 3607 // 3608 // * CLOSED - 3609 // The journey has been published and has started running. It may have also passed 3610 // its scheduled end time, or passed its scheduled start time and a refresh 3611 // frequency hasn't been specified for it. If a journey's status is CLOSED, you 3612 // can't add participants to it, and no existing participants can enter the journey 3613 // for the first time. However, any existing participants who are currently waiting 3614 // to start an activity may continue the journey. 3615 State State 3616 3617 // This object is not used or supported. 3618 Tags map[string]string 3619} 3620 3621// Specifies the schedule settings for a journey. 3622type JourneySchedule struct { 3623 3624 // The scheduled time, in ISO 8601 format, when the journey ended or will end. 3625 EndTime *time.Time 3626 3627 // The scheduled time, in ISO 8601 format, when the journey began or will begin. 3628 StartTime *time.Time 3629 3630 // The starting UTC offset for the journey schedule, if the value of the journey's 3631 // LocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, 3632 // UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, 3633 // UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, 3634 // UTC+12:45, UTC+13, UTC+13:45, UTC-02, UTC-02:30, UTC-03, UTC-03:30, UTC-04, 3635 // UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-09:30, UTC-10, and UTC-11. 3636 Timezone *string 3637} 3638 3639// Specifies the sender ID and message type for an SMS message that's sent to 3640// participants in a journey. 3641type JourneySMSMessage struct { 3642 3643 // The SMS message type. Valid values are TRANSACTIONAL (for messages that are 3644 // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 3645 // messsages that aren't critical or time-sensitive, such as marketing messages). 3646 MessageType MessageType 3647 3648 // The sender ID to display as the sender of the message on a recipient's device. 3649 // Support for sender IDs varies by country or region. For more information, see 3650 // Supported Countries and Regions 3651 // (https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html) 3652 // in the Amazon Pinpoint User Guide. 3653 SenderId *string 3654} 3655 3656// Provides information about the status, configuration, and other settings for all 3657// the journeys that are associated with an application. 3658type JourneysResponse struct { 3659 3660 // An array of responses, one for each journey that's associated with the 3661 // application. 3662 // 3663 // This member is required. 3664 Item []JourneyResponse 3665 3666 // The string to use in a subsequent request to get the next page of results in a 3667 // paginated response. This value is null if there are no additional pages. 3668 NextToken *string 3669} 3670 3671// Changes the status of a journey. 3672type JourneyStateRequest struct { 3673 3674 // The status of the journey. Currently, the only supported value is CANCELLED. If 3675 // you cancel a journey, Amazon Pinpoint continues to perform activities that are 3676 // currently in progress, until those activities are complete. Amazon Pinpoint also 3677 // continues to collect and aggregate analytics data for those activities, until 3678 // they are complete, and any activities that were complete when you cancelled the 3679 // journey. After you cancel a journey, you can't add, change, or remove any 3680 // activities from the journey. In addition, Amazon Pinpoint stops evaluating the 3681 // journey and doesn't perform any activities that haven't started. 3682 State State 3683} 3684 3685// Provides information about all the recommender model configurations that are 3686// associated with your Amazon Pinpoint account. 3687type ListRecommenderConfigurationsResponse struct { 3688 3689 // An array of responses, one for each recommender model configuration that's 3690 // associated with your Amazon Pinpoint account. 3691 // 3692 // This member is required. 3693 Item []RecommenderConfigurationResponse 3694 3695 // The string to use in a subsequent request to get the next page of results in a 3696 // paginated response. This value is null if there are no additional pages. 3697 NextToken *string 3698} 3699 3700// Specifies the content and settings for a push notification that's sent to 3701// recipients of a campaign. 3702type Message struct { 3703 3704 // The action to occur if a recipient taps the push notification. Valid values 3705 // are: 3706 // 3707 // * OPEN_APP - Your app opens or it becomes the foreground app if it was 3708 // sent to the background. This is the default action. 3709 // 3710 // * DEEP_LINK - Your app 3711 // opens and displays a designated user interface in the app. This setting uses the 3712 // deep-linking features of iOS and Android. 3713 // 3714 // * URL - The default mobile browser on 3715 // the recipient's device opens and loads the web page at a URL that you specify. 3716 Action Action 3717 3718 // The body of the notification message. The maximum number of characters is 200. 3719 Body *string 3720 3721 // The URL of the image to display as the push-notification icon, such as the icon 3722 // for the app. 3723 ImageIconUrl *string 3724 3725 // The URL of the image to display as the small, push-notification icon, such as a 3726 // small version of the icon for the app. 3727 ImageSmallIconUrl *string 3728 3729 // The URL of an image to display in the push notification. 3730 ImageUrl *string 3731 3732 // The JSON payload to use for a silent push notification. 3733 JsonBody *string 3734 3735 // The URL of the image or video to display in the push notification. 3736 MediaUrl *string 3737 3738 // The raw, JSON-formatted string to use as the payload for the notification 3739 // message. If specified, this value overrides all other content for the message. 3740 RawContent *string 3741 3742 // Specifies whether the notification is a silent push notification, which is a 3743 // push notification that doesn't display on a recipient's device. Silent push 3744 // notifications can be used for cases such as updating an app's configuration, 3745 // displaying messages in an in-app message center, or supporting phone home 3746 // functionality. 3747 SilentPush bool 3748 3749 // The number of seconds that the push-notification service should keep the 3750 // message, if the service is unable to deliver the notification the first time. 3751 // This value is converted to an expiration value when it's sent to a 3752 // push-notification service. If this value is 0, the service treats the 3753 // notification as if it expires immediately and the service doesn't store or try 3754 // to deliver the notification again. This value doesn't apply to messages that are 3755 // sent through the Amazon Device Messaging (ADM) service. 3756 TimeToLive int32 3757 3758 // The title to display above the notification message on a recipient's device. 3759 Title *string 3760 3761 // The URL to open in a recipient's default mobile browser, if a recipient taps the 3762 // push notification and the value of the Action property is URL. 3763 Url *string 3764} 3765 3766// Provides information about an API request or response. 3767type MessageBody struct { 3768 3769 // The message that's returned from the API. 3770 Message *string 3771 3772 // The unique identifier for the request or response. 3773 RequestID *string 3774} 3775 3776// Specifies the message configuration settings for a campaign. 3777type MessageConfiguration struct { 3778 3779 // The message that the campaign sends through the ADM (Amazon Device Messaging) 3780 // channel. If specified, this message overrides the default message. 3781 ADMMessage *Message 3782 3783 // The message that the campaign sends through the APNs (Apple Push Notification 3784 // service) channel. If specified, this message overrides the default message. 3785 APNSMessage *Message 3786 3787 // The message that the campaign sends through the Baidu (Baidu Cloud Push) 3788 // channel. If specified, this message overrides the default message. 3789 BaiduMessage *Message 3790 3791 // The message that the campaign sends through a custom channel, as specified by 3792 // the delivery configuration (CustomDeliveryConfiguration) settings for the 3793 // campaign. If specified, this message overrides the default message. 3794 CustomMessage *CampaignCustomMessage 3795 3796 // The default message that the campaign sends through all the channels that are 3797 // configured for the campaign. 3798 DefaultMessage *Message 3799 3800 // The message that the campaign sends through the email channel. If specified, 3801 // this message overrides the default message. 3802 EmailMessage *CampaignEmailMessage 3803 3804 // The message that the campaign sends through the GCM channel, which enables 3805 // Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging 3806 // (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this 3807 // message overrides the default message. 3808 GCMMessage *Message 3809 3810 // The message that the campaign sends through the SMS channel. If specified, this 3811 // message overrides the default message. 3812 SMSMessage *CampaignSmsMessage 3813} 3814 3815// Specifies the configuration and other settings for a message. 3816type MessageRequest struct { 3817 3818 // The settings and content for the default message and any default messages that 3819 // you defined for specific channels. 3820 // 3821 // This member is required. 3822 MessageConfiguration *DirectMessageConfiguration 3823 3824 // A map of key-value pairs, where each key is an address and each value is an 3825 // AddressConfiguration 3826 // (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration) 3827 // object. An address can be a push notification token, a phone number, or an email 3828 // address. You can use an AddressConfiguration 3829 // (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-addressconfiguration) 3830 // object to tailor the message for an address by specifying settings such as 3831 // content overrides and message variables. 3832 Addresses map[string]AddressConfiguration 3833 3834 // A map of custom attributes to attach to the message. For a push notification, 3835 // this payload is added to the data.pinpoint object. For an email or text message, 3836 // this payload is added to email/SMS delivery receipt event attributes. 3837 Context map[string]string 3838 3839 // A map of key-value pairs, where each key is an endpoint ID and each value is an 3840 // EndpointSendConfiguration 3841 // (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration) 3842 // object. You can use an EndpointSendConfiguration 3843 // (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration) 3844 // object to tailor the message for an endpoint by specifying settings such as 3845 // content overrides and message variables. 3846 Endpoints map[string]EndpointSendConfiguration 3847 3848 // The message template to use for the message. 3849 TemplateConfiguration *TemplateConfiguration 3850 3851 // The unique identifier for tracing the message. This identifier is visible to 3852 // message recipients. 3853 TraceId *string 3854} 3855 3856// Provides information about the results of a request to send a message to an 3857// endpoint address. 3858type MessageResponse struct { 3859 3860 // The unique identifier for the application that was used to send the message. 3861 // 3862 // This member is required. 3863 ApplicationId *string 3864 3865 // A map that contains a multipart response for each address that the message was 3866 // sent to. In the map, the endpoint ID is the key and the result is the value. 3867 EndpointResult map[string]EndpointMessageResult 3868 3869 // The identifier for the original request that the message was delivered for. 3870 RequestId *string 3871 3872 // A map that contains a multipart response for each address (email address, phone 3873 // number, or push notification token) that the message was sent to. In the map, 3874 // the address is the key and the result is the value. 3875 Result map[string]MessageResult 3876} 3877 3878// Provides information about the results of sending a message directly to an 3879// endpoint address. 3880type MessageResult struct { 3881 3882 // The delivery status of the message. Possible values are: 3883 // 3884 // * DUPLICATE - The 3885 // endpoint address is a duplicate of another endpoint address. Amazon Pinpoint 3886 // won't attempt to send the message again. 3887 // 3888 // * OPT_OUT - The user who's associated 3889 // with the endpoint address has opted out of receiving messages from you. Amazon 3890 // Pinpoint won't attempt to send the message again. 3891 // 3892 // * PERMANENT_FAILURE - An 3893 // error occurred when delivering the message to the endpoint address. Amazon 3894 // Pinpoint won't attempt to send the message again. 3895 // 3896 // * SUCCESSFUL - The message 3897 // was successfully delivered to the endpoint address. 3898 // 3899 // * TEMPORARY_FAILURE - A 3900 // temporary error occurred. Amazon Pinpoint won't attempt to send the message 3901 // again. 3902 // 3903 // * THROTTLED - Amazon Pinpoint throttled the operation to send the 3904 // message to the endpoint address. 3905 // 3906 // * TIMEOUT - The message couldn't be sent 3907 // within the timeout period. 3908 // 3909 // * UNKNOWN_FAILURE - An unknown error occurred. 3910 // 3911 // This member is required. 3912 DeliveryStatus DeliveryStatus 3913 3914 // The downstream service status code for delivering the message. 3915 // 3916 // This member is required. 3917 StatusCode int32 3918 3919 // The unique identifier for the message that was sent. 3920 MessageId *string 3921 3922 // The status message for delivering the message. 3923 StatusMessage *string 3924 3925 // For push notifications that are sent through the GCM channel, specifies whether 3926 // the endpoint's device registration token was updated as part of delivering the 3927 // message. 3928 UpdatedToken *string 3929} 3930 3931// Specifies metric-based criteria for including or excluding endpoints from a 3932// segment. These criteria derive from custom metrics that you define for 3933// endpoints. 3934type MetricDimension struct { 3935 3936 // The operator to use when comparing metric values. Valid values are: 3937 // GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL. 3938 // 3939 // This member is required. 3940 ComparisonOperator *string 3941 3942 // The value to compare. 3943 // 3944 // This member is required. 3945 Value float64 3946} 3947 3948// Specifies a condition to evaluate for an activity path in a journey. 3949type MultiConditionalBranch struct { 3950 3951 // The condition to evaluate for the activity path. 3952 Condition *SimpleCondition 3953 3954 // The unique identifier for the next activity to perform, after completing the 3955 // activity for the path. 3956 NextActivity *string 3957} 3958 3959// Specifies the settings for a multivariate split activity in a journey. This type 3960// of activity sends participants down one of as many as five paths (including a 3961// default Else path) in a journey, based on conditions that you specify. To create 3962// multivariate split activities that send participants down different paths based 3963// on push notification events (such as Open or Received events), your mobile app 3964// has to specify the User ID and Endpoint ID values. For more information, see 3965// Integrating Amazon Pinpoint with your application 3966// (https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html) in 3967// the Amazon Pinpoint Developer Guide. 3968type MultiConditionalSplitActivity struct { 3969 3970 // The paths for the activity, including the conditions for entering each path and 3971 // the activity to perform for each path. 3972 Branches []MultiConditionalBranch 3973 3974 // The unique identifier for the activity to perform for participants who don't 3975 // meet any of the conditions specified for other paths in the activity. 3976 DefaultActivity *string 3977 3978 // The amount of time to wait or the date and time when Amazon Pinpoint determines 3979 // whether the conditions are met. 3980 EvaluationWaitTime *WaitTime 3981} 3982 3983// Specifies a phone number to validate and retrieve information about. 3984type NumberValidateRequest struct { 3985 3986 // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region 3987 // where the phone number was originally registered. 3988 IsoCountryCode *string 3989 3990 // The phone number to retrieve information about. The phone number that you 3991 // provide should include a valid numeric country code. Otherwise, the operation 3992 // might result in an error. 3993 PhoneNumber *string 3994} 3995 3996// Provides information about a phone number. 3997type NumberValidateResponse struct { 3998 3999 // The carrier or service provider that the phone number is currently registered 4000 // with. In some countries and regions, this value may be the carrier or service 4001 // provider that the phone number was originally registered with. 4002 Carrier *string 4003 4004 // The name of the city where the phone number was originally registered. 4005 City *string 4006 4007 // The cleansed phone number, in E.164 format, for the location where the phone 4008 // number was originally registered. 4009 CleansedPhoneNumberE164 *string 4010 4011 // The cleansed phone number, in the format for the location where the phone number 4012 // was originally registered. 4013 CleansedPhoneNumberNational *string 4014 4015 // The name of the country or region where the phone number was originally 4016 // registered. 4017 Country *string 4018 4019 // The two-character code, in ISO 3166-1 alpha-2 format, for the country or region 4020 // where the phone number was originally registered. 4021 CountryCodeIso2 *string 4022 4023 // The numeric code for the country or region where the phone number was originally 4024 // registered. 4025 CountryCodeNumeric *string 4026 4027 // The name of the county where the phone number was originally registered. 4028 County *string 4029 4030 // The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the 4031 // request body. 4032 OriginalCountryCodeIso2 *string 4033 4034 // The phone number that was sent in the request body. 4035 OriginalPhoneNumber *string 4036 4037 // The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP, 4038 // INVALID, PREPAID, and OTHER. 4039 PhoneType *string 4040 4041 // The phone type, represented by an integer. Valid values are: 0 (mobile), 1 4042 // (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid). 4043 PhoneTypeCode int32 4044 4045 // The time zone for the location where the phone number was originally registered. 4046 Timezone *string 4047 4048 // The postal or ZIP code for the location where the phone number was originally 4049 // registered. 4050 ZipCode *string 4051} 4052 4053// Specifies the properties and attributes of an endpoint that's associated with an 4054// event. 4055type PublicEndpoint struct { 4056 4057 // The unique identifier for the recipient, such as a device token, email address, 4058 // or mobile phone number. 4059 Address *string 4060 4061 // One or more custom attributes that describe the endpoint by associating a name 4062 // with an array of values. You can use these attributes as filter criteria when 4063 // you create segments. 4064 Attributes map[string][]string 4065 4066 // The channel that's used when sending messages or push notifications to the 4067 // endpoint. 4068 ChannelType ChannelType 4069 4070 // The demographic information for the endpoint, such as the time zone and 4071 // platform. 4072 Demographic *EndpointDemographic 4073 4074 // The date and time, in ISO 8601 format, when the endpoint was last updated. 4075 EffectiveDate *string 4076 4077 // Specifies whether to send messages or push notifications to the endpoint. Valid 4078 // values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages 4079 // aren’t sent to the endpoint. Amazon Pinpoint automatically sets this value to 4080 // ACTIVE when you create an endpoint or update an existing endpoint. Amazon 4081 // Pinpoint automatically sets this value to INACTIVE if you update another 4082 // endpoint that has the same address specified by the Address property. 4083 EndpointStatus *string 4084 4085 // The geographic information for the endpoint. 4086 Location *EndpointLocation 4087 4088 // One or more custom metrics that your app reports to Amazon Pinpoint for the 4089 // endpoint. 4090 Metrics map[string]float64 4091 4092 // Specifies whether the user who's associated with the endpoint has opted out of 4093 // receiving messages and push notifications from you. Possible values are: ALL, 4094 // the user has opted out and doesn't want to receive any messages or push 4095 // notifications; and, NONE, the user hasn't opted out and wants to receive all 4096 // messages and push notifications. 4097 OptOut *string 4098 4099 // A unique identifier that's generated each time the endpoint is updated. 4100 RequestId *string 4101 4102 // One or more custom user attributes that your app reports to Amazon Pinpoint for 4103 // the user who's associated with the endpoint. 4104 User *EndpointUser 4105} 4106 4107// Specifies the settings for a push notification activity in a journey. This type 4108// of activity sends a push notification to participants. 4109type PushMessageActivity struct { 4110 4111 // Specifies the time to live (TTL) value for push notifications that are sent to 4112 // participants in a journey. 4113 MessageConfig *JourneyPushMessage 4114 4115 // The unique identifier for the next activity to perform, after the message is 4116 // sent. 4117 NextActivity *string 4118 4119 // The name of the push notification template to use for the message. If specified, 4120 // this value must match the name of an existing message template. 4121 TemplateName *string 4122 4123 // The unique identifier for the version of the push notification template to use 4124 // for the message. If specified, this value must match the identifier for an 4125 // existing template version. To retrieve a list of versions and version 4126 // identifiers for a template, use the Template Versions resource. If you don't 4127 // specify a value for this property, Amazon Pinpoint uses the active version of 4128 // the template. The active version is typically the version of a template that's 4129 // been most recently reviewed and approved for use, depending on your workflow. It 4130 // isn't necessarily the latest version of a template. 4131 TemplateVersion *string 4132} 4133 4134// Specifies the content and settings for a message template that can be used in 4135// messages that are sent through a push notification channel. 4136type PushNotificationTemplateRequest struct { 4137 4138 // The message template to use for the ADM (Amazon Device Messaging) channel. This 4139 // message template overrides the default template for push notification channels 4140 // (DefaultPushNotificationTemplate). 4141 ADM *AndroidPushNotificationTemplate 4142 4143 // The message template to use for the APNs (Apple Push Notification service) 4144 // channel. This message template overrides the default template for push 4145 // notification channels (DefaultPushNotificationTemplate). 4146 APNS *APNSPushNotificationTemplate 4147 4148 // The message template to use for the Baidu (Baidu Cloud Push) channel. This 4149 // message template overrides the default template for push notification channels 4150 // (DefaultPushNotificationTemplate). 4151 Baidu *AndroidPushNotificationTemplate 4152 4153 // The default message template to use for push notification channels. 4154 Default *DefaultPushNotificationTemplate 4155 4156 // A JSON object that specifies the default values to use for message variables in 4157 // the message template. This object is a set of key-value pairs. Each key defines 4158 // a message variable in the template. The corresponding value defines the default 4159 // value for that variable. When you create a message that's based on the template, 4160 // you can override these defaults with message-specific and address-specific 4161 // variables and values. 4162 DefaultSubstitutions *string 4163 4164 // The message template to use for the GCM channel, which is used to send 4165 // notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud 4166 // Messaging (GCM), service. This message template overrides the default template 4167 // for push notification channels (DefaultPushNotificationTemplate). 4168 GCM *AndroidPushNotificationTemplate 4169 4170 // The unique identifier for the recommender model to use for the message template. 4171 // Amazon Pinpoint uses this value to determine how to retrieve and process data 4172 // from a recommender model when it sends messages that use the template, if the 4173 // template contains message variables for recommendation data. 4174 RecommenderId *string 4175 4176 // A string-to-string map of key-value pairs that defines the tags to associate 4177 // with the message template. Each tag consists of a required tag key and an 4178 // associated tag value. 4179 Tags map[string]string 4180 4181 // A custom description of the message template. 4182 TemplateDescription *string 4183} 4184 4185// Provides information about the content and settings for a message template that 4186// can be used in messages that are sent through a push notification channel. 4187type PushNotificationTemplateResponse struct { 4188 4189 // The date, in ISO 8601 format, when the message template was created. 4190 // 4191 // This member is required. 4192 CreationDate *string 4193 4194 // The date, in ISO 8601 format, when the message template was last modified. 4195 // 4196 // This member is required. 4197 LastModifiedDate *string 4198 4199 // The name of the message template. 4200 // 4201 // This member is required. 4202 TemplateName *string 4203 4204 // The type of channel that the message template is designed for. For a push 4205 // notification template, this value is PUSH. 4206 // 4207 // This member is required. 4208 TemplateType TemplateType 4209 4210 // The message template that's used for the ADM (Amazon Device Messaging) channel. 4211 // This message template overrides the default template for push notification 4212 // channels (DefaultPushNotificationTemplate). 4213 ADM *AndroidPushNotificationTemplate 4214 4215 // The message template that's used for the APNs (Apple Push Notification service) 4216 // channel. This message template overrides the default template for push 4217 // notification channels (DefaultPushNotificationTemplate). 4218 APNS *APNSPushNotificationTemplate 4219 4220 // The Amazon Resource Name (ARN) of the message template. 4221 Arn *string 4222 4223 // The message template that's used for the Baidu (Baidu Cloud Push) channel. This 4224 // message template overrides the default template for push notification channels 4225 // (DefaultPushNotificationTemplate). 4226 Baidu *AndroidPushNotificationTemplate 4227 4228 // The default message template that's used for push notification channels. 4229 Default *DefaultPushNotificationTemplate 4230 4231 // The JSON object that specifies the default values that are used for message 4232 // variables in the message template. This object is a set of key-value pairs. Each 4233 // key defines a message variable in the template. The corresponding value defines 4234 // the default value for that variable. 4235 DefaultSubstitutions *string 4236 4237 // The message template that's used for the GCM channel, which is used to send 4238 // notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud 4239 // Messaging (GCM), service. This message template overrides the default template 4240 // for push notification channels (DefaultPushNotificationTemplate). 4241 GCM *AndroidPushNotificationTemplate 4242 4243 // The unique identifier for the recommender model that's used by the message 4244 // template. 4245 RecommenderId *string 4246 4247 // A string-to-string map of key-value pairs that identifies the tags that are 4248 // associated with the message template. Each tag consists of a required tag key 4249 // and an associated tag value. 4250 Tags map[string]string 4251 4252 // The custom description of the message template. 4253 TemplateDescription *string 4254 4255 // The unique identifier, as an integer, for the active version of the message 4256 // template, or the version of the template that you specified by using the version 4257 // parameter in your request. 4258 Version *string 4259} 4260 4261// Specifies the start and end times that define a time range when messages aren't 4262// sent to endpoints. 4263type QuietTime struct { 4264 4265 // The specific time when quiet time ends. This value has to use 24-hour notation 4266 // and be in HH:MM format, where HH is the hour (with a leading zero, if 4267 // applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, 4268 // or 14:30 to represent 2:30 PM. 4269 End *string 4270 4271 // The specific time when quiet time begins. This value has to use 24-hour notation 4272 // and be in HH:MM format, where HH is the hour (with a leading zero, if 4273 // applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, 4274 // or 14:30 to represent 2:30 PM. 4275 Start *string 4276} 4277 4278// Specifies the settings for a random split activity in a journey. This type of 4279// activity randomly sends specified percentages of participants down one of as 4280// many as five paths in a journey, based on conditions that you specify. 4281type RandomSplitActivity struct { 4282 4283 // The paths for the activity, including the percentage of participants to enter 4284 // each path and the activity to perform for each path. 4285 Branches []RandomSplitEntry 4286} 4287 4288// Specifies the settings for a path in a random split activity in a journey. 4289type RandomSplitEntry struct { 4290 4291 // The unique identifier for the next activity to perform, after completing the 4292 // activity for the path. 4293 NextActivity *string 4294 4295 // The percentage of participants to send down the activity path. To determine 4296 // which participants are sent down each path, Amazon Pinpoint applies a 4297 // probability-based algorithm to the percentages that you specify for the paths. 4298 // Therefore, the actual percentage of participants who are sent down a path may 4299 // not be equal to the percentage that you specify. 4300 Percentage int32 4301} 4302 4303// Specifies the contents of an email message, represented as a raw MIME message. 4304type RawEmail struct { 4305 4306 // The email message, represented as a raw MIME message. The entire message must be 4307 // base64 encoded. 4308 Data []byte 4309} 4310 4311// Specifies criteria for including or excluding endpoints from a segment based on 4312// how recently an endpoint was active. 4313type RecencyDimension struct { 4314 4315 // The duration to use when determining whether an endpoint is active or inactive. 4316 // 4317 // This member is required. 4318 Duration Duration 4319 4320 // The type of recency dimension to use for the segment. Valid values are: ACTIVE, 4321 // endpoints that were active within the specified duration are included in the 4322 // segment; and, INACTIVE, endpoints that weren't active within the specified 4323 // duration are included in the segment. 4324 // 4325 // This member is required. 4326 RecencyType RecencyType 4327} 4328 4329// Provides information about Amazon Pinpoint configuration settings for retrieving 4330// and processing data from a recommender model. 4331type RecommenderConfigurationResponse struct { 4332 4333 // The date, in extended ISO 8601 format, when the configuration was created for 4334 // the recommender model. 4335 // 4336 // This member is required. 4337 CreationDate *string 4338 4339 // The unique identifier for the recommender model configuration. 4340 // 4341 // This member is required. 4342 Id *string 4343 4344 // The date, in extended ISO 8601 format, when the configuration for the 4345 // recommender model was last modified. 4346 // 4347 // This member is required. 4348 LastModifiedDate *string 4349 4350 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 4351 // role that authorizes Amazon Pinpoint to retrieve recommendation data from the 4352 // recommender model. 4353 // 4354 // This member is required. 4355 RecommendationProviderRoleArn *string 4356 4357 // The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint 4358 // retrieves the recommendation data from. This value is the ARN of an Amazon 4359 // Personalize campaign. 4360 // 4361 // This member is required. 4362 RecommendationProviderUri *string 4363 4364 // A map that defines 1-10 custom endpoint or user attributes, depending on the 4365 // value for the RecommendationProviderIdType property. Each of these attributes 4366 // temporarily stores a recommended item that's retrieved from the recommender 4367 // model and sent to an AWS Lambda function for additional processing. Each 4368 // attribute can be used as a message variable in a message template. This value is 4369 // null if the configuration doesn't invoke an AWS Lambda function 4370 // (RecommendationTransformerUri) to perform additional processing of 4371 // recommendation data. 4372 Attributes map[string]string 4373 4374 // The custom description of the configuration for the recommender model. 4375 Description *string 4376 4377 // The custom name of the configuration for the recommender model. 4378 Name *string 4379 4380 // The type of Amazon Pinpoint ID that's associated with unique user IDs in the 4381 // recommender model. This value enables the model to use attribute and event data 4382 // that’s specific to a particular endpoint or user in an Amazon Pinpoint 4383 // application. Possible values are: 4384 // 4385 // * PINPOINT_ENDPOINT_ID - Each user in the 4386 // model is associated with a particular endpoint in Amazon Pinpoint. The data is 4387 // correlated based on endpoint IDs in Amazon Pinpoint. This is the default 4388 // value. 4389 // 4390 // * PINPOINT_USER_ID - Each user in the model is associated with a 4391 // particular user and endpoint in Amazon Pinpoint. The data is correlated based on 4392 // user IDs in Amazon Pinpoint. If this value is specified, an endpoint definition 4393 // in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. 4394 // Otherwise, messages won’t be sent to the user's endpoint. 4395 RecommendationProviderIdType *string 4396 4397 // The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon 4398 // Pinpoint invokes to perform additional processing of recommendation data that it 4399 // retrieves from the recommender model. 4400 RecommendationTransformerUri *string 4401 4402 // The custom display name for the standard endpoint or user attribute 4403 // (RecommendationItems) that temporarily stores recommended items for each 4404 // endpoint or user, depending on the value for the RecommendationProviderIdType 4405 // property. This name appears in the Attribute finder of the template editor on 4406 // the Amazon Pinpoint console. This value is null if the configuration doesn't 4407 // invoke an AWS Lambda function (RecommendationTransformerUri) to perform 4408 // additional processing of recommendation data. 4409 RecommendationsDisplayName *string 4410 4411 // The number of recommended items that are retrieved from the model for each 4412 // endpoint or user, depending on the value for the RecommendationProviderIdType 4413 // property. This number determines how many recommended items are available for 4414 // use in message variables. 4415 RecommendationsPerMessage int32 4416} 4417 4418// Provides the results of a query that retrieved the data for a standard metric 4419// that applies to an application, campaign, or journey. 4420type ResultRow struct { 4421 4422 // An array of objects that defines the field and field values that were used to 4423 // group data in a result set that contains multiple results. This value is null if 4424 // the data in a result set isn’t grouped. 4425 // 4426 // This member is required. 4427 GroupedBys []ResultRowValue 4428 4429 // An array of objects that provides pre-aggregated values for a standard metric 4430 // that applies to an application, campaign, or journey. 4431 // 4432 // This member is required. 4433 Values []ResultRowValue 4434} 4435 4436// Provides a single value and metadata about that value as part of an array of 4437// query results for a standard metric that applies to an application, campaign, or 4438// journey. 4439type ResultRowValue struct { 4440 4441 // The friendly name of the metric whose value is specified by the Value property. 4442 // 4443 // This member is required. 4444 Key *string 4445 4446 // The data type of the value specified by the Value property. 4447 // 4448 // This member is required. 4449 Type *string 4450 4451 // In a Values object, the value for the metric that the query retrieved data for. 4452 // In a GroupedBys object, the value for the field that was used to group data in a 4453 // result set that contains multiple results (Values objects). 4454 // 4455 // This member is required. 4456 Value *string 4457} 4458 4459// Specifies the schedule settings for a campaign. 4460type Schedule struct { 4461 4462 // The scheduled time when the campaign began or will begin. Valid values are: 4463 // IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 4464 // format. 4465 // 4466 // This member is required. 4467 StartTime *string 4468 4469 // The scheduled time, in ISO 8601 format, when the campaign ended or will end. 4470 EndTime *string 4471 4472 // The type of event that causes the campaign to be sent, if the value of the 4473 // Frequency property is EVENT. 4474 EventFilter *CampaignEventFilter 4475 4476 // Specifies how often the campaign is sent or whether the campaign is sent in 4477 // response to a specific event. 4478 Frequency Frequency 4479 4480 // Specifies whether the start and end times for the campaign schedule use each 4481 // recipient's local time. To base the schedule on each recipient's local time, set 4482 // this value to true. 4483 IsLocalTime bool 4484 4485 // The default quiet time for the campaign. Quiet time is a specific time range 4486 // when a campaign doesn't send messages to endpoints, if all the following 4487 // conditions are met: 4488 // 4489 // * The EndpointDemographic.Timezone property of the endpoint 4490 // is set to a valid value. 4491 // 4492 // * The current time in the endpoint's time zone is 4493 // later than or equal to the time specified by the QuietTime.Start property for 4494 // the campaign. 4495 // 4496 // * The current time in the endpoint's time zone is earlier than or 4497 // equal to the time specified by the QuietTime.End property for the campaign. 4498 // 4499 // If 4500 // any of the preceding conditions isn't met, the endpoint will receive messages 4501 // from the campaign, even if quiet time is enabled. 4502 QuietTime *QuietTime 4503 4504 // The starting UTC offset for the campaign schedule, if the value of the 4505 // IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, 4506 // UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, 4507 // UTC+07, UTC+08, UTC+09, UTC+09:30, UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, 4508 // UTC-02, UTC-03, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09, UTC-10, and 4509 // UTC-11. 4510 Timezone *string 4511} 4512 4513// Specifies dimension settings for including or excluding endpoints from a segment 4514// based on how recently an endpoint was active. 4515type SegmentBehaviors struct { 4516 4517 // The dimension settings that are based on how recently an endpoint was active. 4518 Recency *RecencyDimension 4519} 4520 4521// Specifies a segment to associate with an activity in a journey. 4522type SegmentCondition struct { 4523 4524 // The unique identifier for the segment to associate with the activity. 4525 // 4526 // This member is required. 4527 SegmentId *string 4528} 4529 4530// Specifies demographic-based dimension settings for including or excluding 4531// endpoints from a segment. These settings derive from characteristics of endpoint 4532// devices, such as platform, make, and model. 4533type SegmentDemographics struct { 4534 4535 // The app version criteria for the segment. 4536 AppVersion *SetDimension 4537 4538 // The channel criteria for the segment. 4539 Channel *SetDimension 4540 4541 // The device type criteria for the segment. 4542 DeviceType *SetDimension 4543 4544 // The device make criteria for the segment. 4545 Make *SetDimension 4546 4547 // The device model criteria for the segment. 4548 Model *SetDimension 4549 4550 // The device platform criteria for the segment. 4551 Platform *SetDimension 4552} 4553 4554// Specifies the dimension settings for a segment. 4555type SegmentDimensions struct { 4556 4557 // One or more custom attributes to use as criteria for the segment. 4558 Attributes map[string]AttributeDimension 4559 4560 // The behavior-based criteria, such as how recently users have used your app, for 4561 // the segment. 4562 Behavior *SegmentBehaviors 4563 4564 // The demographic-based criteria, such as device platform, for the segment. 4565 Demographic *SegmentDemographics 4566 4567 // The location-based criteria, such as region or GPS coordinates, for the segment. 4568 Location *SegmentLocation 4569 4570 // One or more custom metrics to use as criteria for the segment. 4571 Metrics map[string]MetricDimension 4572 4573 // One or more custom user attributes to use as criteria for the segment. 4574 UserAttributes map[string]AttributeDimension 4575} 4576 4577// Specifies the base segments and dimensions for a segment, and the relationships 4578// between these base segments and dimensions. 4579type SegmentGroup struct { 4580 4581 // An array that defines the dimensions for the segment. 4582 Dimensions []SegmentDimensions 4583 4584 // The base segment to build the segment on. A base segment, also referred to as a 4585 // source segment, defines the initial population of endpoints for a segment. When 4586 // you add dimensions to a segment, Amazon Pinpoint filters the base segment by 4587 // using the dimensions that you specify. You can specify more than one dimensional 4588 // segment or only one imported segment. If you specify an imported segment, the 4589 // Amazon Pinpoint console displays a segment size estimate that indicates the size 4590 // of the imported segment without any filters applied to it. 4591 SourceSegments []SegmentReference 4592 4593 // Specifies how to handle multiple base segments for the segment. For example, if 4594 // you specify three base segments for the segment, whether the resulting segment 4595 // is based on all, any, or none of the base segments. 4596 SourceType SourceType 4597 4598 // Specifies how to handle multiple dimensions for the segment. For example, if you 4599 // specify three dimensions for the segment, whether the resulting segment includes 4600 // endpoints that match all, any, or none of the dimensions. 4601 Type Type 4602} 4603 4604// Specifies the settings that define the relationships between segment groups for 4605// a segment. 4606type SegmentGroupList struct { 4607 4608 // An array that defines the set of segment criteria to evaluate when handling 4609 // segment groups for the segment. 4610 Groups []SegmentGroup 4611 4612 // Specifies how to handle multiple segment groups for the segment. For example, if 4613 // the segment includes three segment groups, whether the resulting segment 4614 // includes endpoints that match all, any, or none of the segment groups. 4615 Include Include 4616} 4617 4618// Provides information about the import job that created a segment. An import job 4619// is a job that creates a user segment by importing endpoint definitions. 4620type SegmentImportResource struct { 4621 4622 // (Deprecated) Your AWS account ID, which you assigned to an external ID key in an 4623 // IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM 4624 // role when importing endpoint definitions, but we removed this requirement. We 4625 // don't recommend use of external IDs for IAM roles that are assumed by Amazon 4626 // Pinpoint. 4627 // 4628 // This member is required. 4629 ExternalId *string 4630 4631 // The format of the files that were imported to create the segment. Valid values 4632 // are: CSV, for comma-separated values format; and, JSON, for newline-delimited 4633 // JSON format. 4634 // 4635 // This member is required. 4636 Format Format 4637 4638 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 4639 // role that authorized Amazon Pinpoint to access the Amazon S3 location to import 4640 // endpoint definitions from. 4641 // 4642 // This member is required. 4643 RoleArn *string 4644 4645 // The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the 4646 // endpoint definitions were imported from to create the segment. 4647 // 4648 // This member is required. 4649 S3Url *string 4650 4651 // The number of endpoint definitions that were imported successfully to create the 4652 // segment. 4653 // 4654 // This member is required. 4655 Size int32 4656 4657 // The number of channel types in the endpoint definitions that were imported to 4658 // create the segment. 4659 ChannelCounts map[string]int32 4660} 4661 4662// Specifies geographical dimension settings for a segment. 4663type SegmentLocation struct { 4664 4665 // The country or region code, in ISO 3166-1 alpha-2 format, for the segment. 4666 Country *SetDimension 4667 4668 // The GPS location and range for the segment. 4669 GPSPoint *GPSPointDimension 4670} 4671 4672// Specifies the segment identifier and version of a segment. 4673type SegmentReference struct { 4674 4675 // The unique identifier for the segment. 4676 // 4677 // This member is required. 4678 Id *string 4679 4680 // The version number of the segment. 4681 Version int32 4682} 4683 4684// Provides information about the configuration, dimension, and other settings for 4685// a segment. 4686type SegmentResponse struct { 4687 4688 // The unique identifier for the application that the segment is associated with. 4689 // 4690 // This member is required. 4691 ApplicationId *string 4692 4693 // The Amazon Resource Name (ARN) of the segment. 4694 // 4695 // This member is required. 4696 Arn *string 4697 4698 // The date and time when the segment was created. 4699 // 4700 // This member is required. 4701 CreationDate *string 4702 4703 // The unique identifier for the segment. 4704 // 4705 // This member is required. 4706 Id *string 4707 4708 // The segment type. Valid values are: 4709 // 4710 // * DIMENSIONAL - A dynamic segment, which is 4711 // a segment that uses selection criteria that you specify and is based on endpoint 4712 // data that's reported by your app. Dynamic segments can change over time. 4713 // 4714 // * 4715 // IMPORT - A static segment, which is a segment that uses selection criteria that 4716 // you specify and is based on endpoint definitions that you import from a file. 4717 // Imported segments are static; they don't change over time. 4718 // 4719 // This member is required. 4720 SegmentType SegmentType 4721 4722 // The dimension settings for the segment. 4723 Dimensions *SegmentDimensions 4724 4725 // The settings for the import job that's associated with the segment. 4726 ImportDefinition *SegmentImportResource 4727 4728 // The date and time when the segment was last modified. 4729 LastModifiedDate *string 4730 4731 // The name of the segment. 4732 Name *string 4733 4734 // A list of one or more segment groups that apply to the segment. Each segment 4735 // group consists of zero or more base segments and the dimensions that are applied 4736 // to those base segments. 4737 SegmentGroups *SegmentGroupList 4738 4739 // A string-to-string map of key-value pairs that identifies the tags that are 4740 // associated with the segment. Each tag consists of a required tag key and an 4741 // associated tag value. 4742 Tags map[string]string 4743 4744 // The version number of the segment. 4745 Version int32 4746} 4747 4748// Provides information about all the segments that are associated with an 4749// application. 4750type SegmentsResponse struct { 4751 4752 // An array of responses, one for each segment that's associated with the 4753 // application (Segments resource) or each version of a segment that's associated 4754 // with the application (Segment Versions resource). 4755 // 4756 // This member is required. 4757 Item []SegmentResponse 4758 4759 // The string to use in a subsequent request to get the next page of results in a 4760 // paginated response. This value is null if there are no additional pages. 4761 NextToken *string 4762} 4763 4764// Specifies the configuration and other settings for a message to send to all the 4765// endpoints that are associated with a list of users. 4766type SendUsersMessageRequest struct { 4767 4768 // The settings and content for the default message and any default messages that 4769 // you defined for specific channels. 4770 // 4771 // This member is required. 4772 MessageConfiguration *DirectMessageConfiguration 4773 4774 // A map that associates user IDs with EndpointSendConfiguration 4775 // (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration) 4776 // objects. You can use an EndpointSendConfiguration 4777 // (https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html#apps-application-id-messages-model-endpointsendconfiguration) 4778 // object to tailor the message for a user by specifying settings such as content 4779 // overrides and message variables. 4780 // 4781 // This member is required. 4782 Users map[string]EndpointSendConfiguration 4783 4784 // A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint 4785 // adds these attributes to the data.pinpoint object in the body of the 4786 // notification payload. Amazon Pinpoint also provides these attributes in the 4787 // events that it generates for users-messages deliveries. 4788 Context map[string]string 4789 4790 // The message template to use for the message. 4791 TemplateConfiguration *TemplateConfiguration 4792 4793 // The unique identifier for tracing the message. This identifier is visible to 4794 // message recipients. 4795 TraceId *string 4796} 4797 4798// Provides information about which users and endpoints a message was sent to. 4799type SendUsersMessageResponse struct { 4800 4801 // The unique identifier for the application that was used to send the message. 4802 // 4803 // This member is required. 4804 ApplicationId *string 4805 4806 // The unique identifier that was assigned to the message request. 4807 RequestId *string 4808 4809 // An object that indicates which endpoints the message was sent to, for each user. 4810 // The object lists user IDs and, for each user ID, provides the endpoint IDs that 4811 // the message was sent to. For each endpoint ID, it provides an 4812 // EndpointMessageResult object. 4813 Result map[string]map[string]EndpointMessageResult 4814} 4815 4816// Provides information about a session. 4817type Session struct { 4818 4819 // The unique identifier for the session. 4820 // 4821 // This member is required. 4822 Id *string 4823 4824 // The date and time when the session began. 4825 // 4826 // This member is required. 4827 StartTimestamp *string 4828 4829 // The duration of the session, in milliseconds. 4830 Duration int32 4831 4832 // The date and time when the session ended. 4833 StopTimestamp *string 4834} 4835 4836// Specifies the dimension type and values for a segment dimension. 4837type SetDimension struct { 4838 4839 // The criteria values to use for the segment dimension. Depending on the value of 4840 // the DimensionType property, endpoints are included or excluded from the segment 4841 // if their values match the criteria values. 4842 // 4843 // This member is required. 4844 Values []string 4845 4846 // The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 4847 // that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 4848 // that match the criteria are excluded from the segment. 4849 DimensionType DimensionType 4850} 4851 4852// Specifies a condition to evaluate for an activity in a journey. 4853type SimpleCondition struct { 4854 4855 // The dimension settings for the event that's associated with the activity. 4856 EventCondition *EventCondition 4857 4858 // The segment that's associated with the activity. 4859 SegmentCondition *SegmentCondition 4860 4861 // The dimension settings for the segment that's associated with the activity. 4862 SegmentDimensions *SegmentDimensions 4863} 4864 4865// Specifies the contents of an email message, composed of a subject, a text part, 4866// and an HTML part. 4867type SimpleEmail struct { 4868 4869 // The body of the email message, in HTML format. We recommend using HTML format 4870 // for email clients that render HTML content. You can include links, formatted 4871 // text, and more in an HTML message. 4872 HtmlPart *SimpleEmailPart 4873 4874 // The subject line, or title, of the email. 4875 Subject *SimpleEmailPart 4876 4877 // The body of the email message, in plain text format. We recommend using plain 4878 // text format for email clients that don't render HTML content and clients that 4879 // are connected to high-latency networks, such as mobile devices. 4880 TextPart *SimpleEmailPart 4881} 4882 4883// Specifies the subject or body of an email message, represented as textual email 4884// data and the applicable character set. 4885type SimpleEmailPart struct { 4886 4887 // The applicable character set for the message content. 4888 Charset *string 4889 4890 // The textual data of the message content. 4891 Data *string 4892} 4893 4894// Specifies the status and settings of the SMS channel for an application. 4895type SMSChannelRequest struct { 4896 4897 // Specifies whether to enable the SMS channel for the application. 4898 Enabled bool 4899 4900 // The identity that you want to display on recipients' devices when they receive 4901 // messages from the SMS channel. 4902 SenderId *string 4903 4904 // The registered short code that you want to use when you send messages through 4905 // the SMS channel. 4906 ShortCode *string 4907} 4908 4909// Provides information about the status and settings of the SMS channel for an 4910// application. 4911type SMSChannelResponse struct { 4912 4913 // The type of messaging or notification platform for the channel. For the SMS 4914 // channel, this value is SMS. 4915 // 4916 // This member is required. 4917 Platform *string 4918 4919 // The unique identifier for the application that the SMS channel applies to. 4920 ApplicationId *string 4921 4922 // The date and time, in ISO 8601 format, when the SMS channel was enabled. 4923 CreationDate *string 4924 4925 // Specifies whether the SMS channel is enabled for the application. 4926 Enabled bool 4927 4928 // (Not used) This property is retained only for backward compatibility. 4929 HasCredential bool 4930 4931 // (Deprecated) An identifier for the SMS channel. This property is retained only 4932 // for backward compatibility. 4933 Id *string 4934 4935 // Specifies whether the SMS channel is archived. 4936 IsArchived bool 4937 4938 // The user who last modified the SMS channel. 4939 LastModifiedBy *string 4940 4941 // The date and time, in ISO 8601 format, when the SMS channel was last modified. 4942 LastModifiedDate *string 4943 4944 // The maximum number of promotional messages that you can send through the SMS 4945 // channel each second. 4946 PromotionalMessagesPerSecond int32 4947 4948 // The identity that displays on recipients' devices when they receive messages 4949 // from the SMS channel. 4950 SenderId *string 4951 4952 // The registered short code to use when you send messages through the SMS channel. 4953 ShortCode *string 4954 4955 // The maximum number of transactional messages that you can send through the SMS 4956 // channel each second. 4957 TransactionalMessagesPerSecond int32 4958 4959 // The current version of the SMS channel. 4960 Version int32 4961} 4962 4963// Specifies the default settings for a one-time SMS message that's sent directly 4964// to an endpoint. 4965type SMSMessage struct { 4966 4967 // The body of the SMS message. 4968 Body *string 4969 4970 // The SMS program name that you provided to AWS Support when you requested your 4971 // dedicated number. 4972 Keyword *string 4973 4974 // This field is reserved for future use. 4975 MediaUrl *string 4976 4977 // The SMS message type. Valid values are TRANSACTIONAL (for messages that are 4978 // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for 4979 // messsages that aren't critical or time-sensitive, such as marketing messages). 4980 MessageType MessageType 4981 4982 // The number to send the SMS message from. This value should be one of the 4983 // dedicated long or short codes that's assigned to your AWS account. If you don't 4984 // specify a long or short code, Amazon Pinpoint assigns a random long code to the 4985 // SMS message and sends the message from that code. 4986 OriginationNumber *string 4987 4988 // The sender ID to display as the sender of the message on a recipient's device. 4989 // Support for sender IDs varies by country or region. 4990 SenderId *string 4991 4992 // The message variables to use in the SMS message. You can override the default 4993 // variables with individual address variables. 4994 Substitutions map[string][]string 4995} 4996 4997// Specifies the settings for an SMS activity in a journey. This type of activity 4998// sends a text message to participants. 4999type SMSMessageActivity struct { 5000 5001 // Specifies the sender ID and message type for an SMS message that's sent to 5002 // participants in a journey. 5003 MessageConfig *JourneySMSMessage 5004 5005 // The unique identifier for the next activity to perform, after the message is 5006 // sent. 5007 NextActivity *string 5008 5009 // The name of the SMS message template to use for the message. If specified, this 5010 // value must match the name of an existing message template. 5011 TemplateName *string 5012 5013 // The unique identifier for the version of the SMS template to use for the 5014 // message. If specified, this value must match the identifier for an existing 5015 // template version. To retrieve a list of versions and version identifiers for a 5016 // template, use the Template Versions resource. If you don't specify a value for 5017 // this property, Amazon Pinpoint uses the active version of the template. The 5018 // active version is typically the version of a template that's been most recently 5019 // reviewed and approved for use, depending on your workflow. It isn't necessarily 5020 // the latest version of a template. 5021 TemplateVersion *string 5022} 5023 5024// Specifies the content and settings for a message template that can be used in 5025// text messages that are sent through the SMS channel. 5026type SMSTemplateRequest struct { 5027 5028 // The message body to use in text messages that are based on the message template. 5029 Body *string 5030 5031 // A JSON object that specifies the default values to use for message variables in 5032 // the message template. This object is a set of key-value pairs. Each key defines 5033 // a message variable in the template. The corresponding value defines the default 5034 // value for that variable. When you create a message that's based on the template, 5035 // you can override these defaults with message-specific and address-specific 5036 // variables and values. 5037 DefaultSubstitutions *string 5038 5039 // The unique identifier for the recommender model to use for the message template. 5040 // Amazon Pinpoint uses this value to determine how to retrieve and process data 5041 // from a recommender model when it sends messages that use the template, if the 5042 // template contains message variables for recommendation data. 5043 RecommenderId *string 5044 5045 // A string-to-string map of key-value pairs that defines the tags to associate 5046 // with the message template. Each tag consists of a required tag key and an 5047 // associated tag value. 5048 Tags map[string]string 5049 5050 // A custom description of the message template. 5051 TemplateDescription *string 5052} 5053 5054// Provides information about the content and settings for a message template that 5055// can be used in text messages that are sent through the SMS channel. 5056type SMSTemplateResponse struct { 5057 5058 // The date, in ISO 8601 format, when the message template was created. 5059 // 5060 // This member is required. 5061 CreationDate *string 5062 5063 // The date, in ISO 8601 format, when the message template was last modified. 5064 // 5065 // This member is required. 5066 LastModifiedDate *string 5067 5068 // The name of the message template. 5069 // 5070 // This member is required. 5071 TemplateName *string 5072 5073 // The type of channel that the message template is designed for. For an SMS 5074 // template, this value is SMS. 5075 // 5076 // This member is required. 5077 TemplateType TemplateType 5078 5079 // The Amazon Resource Name (ARN) of the message template. 5080 Arn *string 5081 5082 // The message body that's used in text messages that are based on the message 5083 // template. 5084 Body *string 5085 5086 // The JSON object that specifies the default values that are used for message 5087 // variables in the message template. This object is a set of key-value pairs. Each 5088 // key defines a message variable in the template. The corresponding value defines 5089 // the default value for that variable. 5090 DefaultSubstitutions *string 5091 5092 // The unique identifier for the recommender model that's used by the message 5093 // template. 5094 RecommenderId *string 5095 5096 // A string-to-string map of key-value pairs that identifies the tags that are 5097 // associated with the message template. Each tag consists of a required tag key 5098 // and an associated tag value. 5099 Tags map[string]string 5100 5101 // The custom description of the message template. 5102 TemplateDescription *string 5103 5104 // The unique identifier, as an integer, for the active version of the message 5105 // template, or the version of the template that you specified by using the version 5106 // parameter in your request. 5107 Version *string 5108} 5109 5110// Specifies the conditions for the first activity in a journey. This activity and 5111// its conditions determine which users are participants in a journey. 5112type StartCondition struct { 5113 5114 // The custom description of the condition. 5115 Description *string 5116 5117 // Specifies the settings for an event that causes a journey activity to start. 5118 EventStartCondition *EventStartCondition 5119 5120 // The segment that's associated with the first activity in the journey. This 5121 // segment determines which users are participants in the journey. 5122 SegmentStartCondition *SegmentCondition 5123} 5124 5125// Specifies the tags (keys and values) for an application, campaign, message 5126// template, or segment. 5127type TagsModel struct { 5128 5129 // A string-to-string map of key-value pairs that defines the tags for an 5130 // application, campaign, message template, or segment. Each of these resources can 5131 // have a maximum of 50 tags. Each tag consists of a required tag key and an 5132 // associated tag value. The maximum length of a tag key is 128 characters. The 5133 // maximum length of a tag value is 256 characters. 5134 // 5135 // This member is required. 5136 Tags map[string]string 5137} 5138 5139// Specifies the name and version of the message template to use for the message. 5140type Template struct { 5141 5142 // The name of the message template to use for the message. If specified, this 5143 // value must match the name of an existing message template. 5144 Name *string 5145 5146 // The unique identifier for the version of the message template to use for the 5147 // message. If specified, this value must match the identifier for an existing 5148 // template version. To retrieve a list of versions and version identifiers for a 5149 // template, use the Template Versions resource. If you don't specify a value for 5150 // this property, Amazon Pinpoint uses the active version of the template. The 5151 // active version is typically the version of a template that's been most recently 5152 // reviewed and approved for use, depending on your workflow. It isn't necessarily 5153 // the latest version of a template. 5154 Version *string 5155} 5156 5157// Specifies which version of a message template to use as the active version of 5158// the template. 5159type TemplateActiveVersionRequest struct { 5160 5161 // The version of the message template to use as the active version of the 5162 // template. Valid values are: latest, for the most recent version of the template; 5163 // or, the unique identifier for any existing version of the template. If you 5164 // specify an identifier, the value must match the identifier for an existing 5165 // template version. To retrieve a list of versions and version identifiers for a 5166 // template, use the Template Versions resource. 5167 Version *string 5168} 5169 5170// Specifies the message template to use for the message, for each type of channel. 5171type TemplateConfiguration struct { 5172 5173 // The email template to use for the message. 5174 EmailTemplate *Template 5175 5176 // The push notification template to use for the message. 5177 PushTemplate *Template 5178 5179 // The SMS template to use for the message. 5180 SMSTemplate *Template 5181 5182 // The voice template to use for the message. This object isn't supported for 5183 // campaigns. 5184 VoiceTemplate *Template 5185} 5186 5187// Provides information about a message template that's associated with your Amazon 5188// Pinpoint account. 5189type TemplateResponse struct { 5190 5191 // The date, in ISO 8601 format, when the message template was created. 5192 // 5193 // This member is required. 5194 CreationDate *string 5195 5196 // The date, in ISO 8601 format, when the message template was last modified. 5197 // 5198 // This member is required. 5199 LastModifiedDate *string 5200 5201 // The name of the message template. 5202 // 5203 // This member is required. 5204 TemplateName *string 5205 5206 // The type of channel that the message template is designed for. Possible values 5207 // are: EMAIL, PUSH, SMS, and VOICE. 5208 // 5209 // This member is required. 5210 TemplateType TemplateType 5211 5212 // The Amazon Resource Name (ARN) of the message template. This value isn't 5213 // included in a TemplateResponse object. To retrieve the ARN of a template, use 5214 // the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate 5215 // operation, depending on the type of template that you want to retrieve the ARN 5216 // for. 5217 Arn *string 5218 5219 // The JSON object that specifies the default values that are used for message 5220 // variables in the message template. This object isn't included in a 5221 // TemplateResponse object. To retrieve this object for a template, use the 5222 // GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate 5223 // operation, depending on the type of template that you want to retrieve the 5224 // object for. 5225 DefaultSubstitutions *string 5226 5227 // A map of key-value pairs that identifies the tags that are associated with the 5228 // message template. This object isn't included in a TemplateResponse object. To 5229 // retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate, 5230 // GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template 5231 // that you want to retrieve the object for. 5232 Tags map[string]string 5233 5234 // The custom description of the message template. This value isn't included in a 5235 // TemplateResponse object. To retrieve the description of a template, use the 5236 // GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate 5237 // operation, depending on the type of template that you want to retrieve the 5238 // description for. 5239 TemplateDescription *string 5240 5241 // The unique identifier, as an integer, for the active version of the message 5242 // template. 5243 Version *string 5244} 5245 5246// Provides information about all the message templates that are associated with 5247// your Amazon Pinpoint account. 5248type TemplatesResponse struct { 5249 5250 // An array of responses, one for each message template that's associated with your 5251 // Amazon Pinpoint account and meets any filter criteria that you specified in the 5252 // request. 5253 // 5254 // This member is required. 5255 Item []TemplateResponse 5256 5257 // The string to use in a subsequent request to get the next page of results in a 5258 // paginated response. This value is null if there are no additional pages. 5259 NextToken *string 5260} 5261 5262// Provides information about a specific version of a message template. 5263type TemplateVersionResponse struct { 5264 5265 // The date, in ISO 8601 format, when the version of the message template was 5266 // created. 5267 // 5268 // This member is required. 5269 CreationDate *string 5270 5271 // The date, in ISO 8601 format, when the version of the message template was last 5272 // modified. 5273 // 5274 // This member is required. 5275 LastModifiedDate *string 5276 5277 // The name of the message template. 5278 // 5279 // This member is required. 5280 TemplateName *string 5281 5282 // The type of channel that the message template is designed for. Possible values 5283 // are: EMAIL, PUSH, SMS, and VOICE. 5284 // 5285 // This member is required. 5286 TemplateType *string 5287 5288 // A JSON object that specifies the default values that are used for message 5289 // variables in the version of the message template. This object is a set of 5290 // key-value pairs. Each key defines a message variable in the template. The 5291 // corresponding value defines the default value for that variable. 5292 DefaultSubstitutions *string 5293 5294 // The custom description of the version of the message template. 5295 TemplateDescription *string 5296 5297 // The unique identifier for the version of the message template. This value is an 5298 // integer that Amazon Pinpoint automatically increments and assigns to each new 5299 // version of a template. 5300 Version *string 5301} 5302 5303// Provides information about all the versions of a specific message template. 5304type TemplateVersionsResponse struct { 5305 5306 // An array of responses, one for each version of the message template. 5307 // 5308 // This member is required. 5309 Item []TemplateVersionResponse 5310 5311 // The message that's returned from the API for the request to retrieve information 5312 // about all the versions of the message template. 5313 Message *string 5314 5315 // The string to use in a subsequent request to get the next page of results in a 5316 // paginated response. This value is null if there are no additional pages. 5317 NextToken *string 5318 5319 // The unique identifier for the request to retrieve information about all the 5320 // versions of the message template. 5321 RequestID *string 5322} 5323 5324// Specifies the settings for a campaign treatment. A treatment is a variation of a 5325// campaign that's used for A/B testing of a campaign. 5326type TreatmentResource struct { 5327 5328 // The unique identifier for the treatment. 5329 // 5330 // This member is required. 5331 Id *string 5332 5333 // The allocated percentage of users (segment members) that the treatment is sent 5334 // to. 5335 // 5336 // This member is required. 5337 SizePercent int32 5338 5339 // The delivery configuration settings for sending the treatment through a custom 5340 // channel. This object is required if the MessageConfiguration object for the 5341 // treatment specifies a CustomMessage object. 5342 CustomDeliveryConfiguration *CustomDeliveryConfiguration 5343 5344 // The message configuration settings for the treatment. 5345 MessageConfiguration *MessageConfiguration 5346 5347 // The schedule settings for the treatment. 5348 Schedule *Schedule 5349 5350 // The current status of the treatment. 5351 State *CampaignState 5352 5353 // The message template to use for the treatment. 5354 TemplateConfiguration *TemplateConfiguration 5355 5356 // The custom description of the treatment. 5357 TreatmentDescription *string 5358 5359 // The custom name of the treatment. 5360 TreatmentName *string 5361} 5362 5363// Specifies one or more attributes to remove from all the endpoints that are 5364// associated with an application. 5365type UpdateAttributesRequest struct { 5366 5367 // An array of the attributes to remove from all the endpoints that are associated 5368 // with the application. The array can specify the complete, exact name of each 5369 // attribute to remove or it can specify a glob pattern that an attribute name must 5370 // match in order for the attribute to be removed. 5371 Blacklist []string 5372} 5373 5374// Specifies Amazon Pinpoint configuration settings for retrieving and processing 5375// recommendation data from a recommender model. 5376type UpdateRecommenderConfigurationShape struct { 5377 5378 // The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) 5379 // role that authorizes Amazon Pinpoint to retrieve recommendation data from the 5380 // recommender model. 5381 // 5382 // This member is required. 5383 RecommendationProviderRoleArn *string 5384 5385 // The Amazon Resource Name (ARN) of the recommender model to retrieve 5386 // recommendation data from. This value must match the ARN of an Amazon Personalize 5387 // campaign. 5388 // 5389 // This member is required. 5390 RecommendationProviderUri *string 5391 5392 // A map of key-value pairs that defines 1-10 custom endpoint or user attributes, 5393 // depending on the value for the RecommendationProviderIdType property. Each of 5394 // these attributes temporarily stores a recommended item that's retrieved from the 5395 // recommender model and sent to an AWS Lambda function for additional processing. 5396 // Each attribute can be used as a message variable in a message template. In the 5397 // map, the key is the name of a custom attribute and the value is a custom display 5398 // name for that attribute. The display name appears in the Attribute finder of the 5399 // template editor on the Amazon Pinpoint console. The following restrictions apply 5400 // to these names: 5401 // 5402 // * An attribute name must start with a letter or number and it 5403 // can contain up to 50 characters. The characters can be letters, numbers, 5404 // underscores (_), or hyphens (-). Attribute names are case sensitive and must be 5405 // unique. 5406 // 5407 // * An attribute display name must start with a letter or number and it 5408 // can contain up to 25 characters. The characters can be letters, numbers, spaces, 5409 // underscores (_), or hyphens (-). 5410 // 5411 // This object is required if the configuration 5412 // invokes an AWS Lambda function (RecommendationTransformerUri) to process 5413 // recommendation data. Otherwise, don't include this object in your request. 5414 Attributes map[string]string 5415 5416 // A custom description of the configuration for the recommender model. The 5417 // description can contain up to 128 characters. The characters can be letters, 5418 // numbers, spaces, or the following symbols: _ ; () , ‐. 5419 Description *string 5420 5421 // A custom name of the configuration for the recommender model. The name must 5422 // start with a letter or number and it can contain up to 128 characters. The 5423 // characters can be letters, numbers, spaces, underscores (_), or hyphens (-). 5424 Name *string 5425 5426 // The type of Amazon Pinpoint ID to associate with unique user IDs in the 5427 // recommender model. This value enables the model to use attribute and event data 5428 // that’s specific to a particular endpoint or user in an Amazon Pinpoint 5429 // application. Valid values are: 5430 // 5431 // * PINPOINT_ENDPOINT_ID - Associate each user in 5432 // the model with a particular endpoint in Amazon Pinpoint. The data is correlated 5433 // based on endpoint IDs in Amazon Pinpoint. This is the default value. 5434 // 5435 // * 5436 // PINPOINT_USER_ID - Associate each user in the model with a particular user and 5437 // endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon 5438 // Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint 5439 // has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages 5440 // won’t be sent to the user's endpoint. 5441 RecommendationProviderIdType *string 5442 5443 // The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for 5444 // additional processing of recommendation data that's retrieved from the 5445 // recommender model. 5446 RecommendationTransformerUri *string 5447 5448 // A custom display name for the standard endpoint or user attribute 5449 // (RecommendationItems) that temporarily stores recommended items for each 5450 // endpoint or user, depending on the value for the RecommendationProviderIdType 5451 // property. This value is required if the configuration doesn't invoke an AWS 5452 // Lambda function (RecommendationTransformerUri) to perform additional processing 5453 // of recommendation data. This name appears in the Attribute finder of the 5454 // template editor on the Amazon Pinpoint console. The name can contain up to 25 5455 // characters. The characters can be letters, numbers, spaces, underscores (_), or 5456 // hyphens (-). These restrictions don't apply to attribute values. 5457 RecommendationsDisplayName *string 5458 5459 // The number of recommended items to retrieve from the model for each endpoint or 5460 // user, depending on the value for the RecommendationProviderIdType property. This 5461 // number determines how many recommended items are available for use in message 5462 // variables. The minimum value is 1. The maximum value is 5. The default value is 5463 // 5. To use multiple recommended items and custom attributes with message 5464 // variables, you have to use an AWS Lambda function (RecommendationTransformerUri) 5465 // to perform additional processing of recommendation data. 5466 RecommendationsPerMessage int32 5467} 5468 5469// Specifies the status and settings of the voice channel for an application. 5470type VoiceChannelRequest struct { 5471 5472 // Specifies whether to enable the voice channel for the application. 5473 Enabled bool 5474} 5475 5476// Provides information about the status and settings of the voice channel for an 5477// application. 5478type VoiceChannelResponse struct { 5479 5480 // The type of messaging or notification platform for the channel. For the voice 5481 // channel, this value is VOICE. 5482 // 5483 // This member is required. 5484 Platform *string 5485 5486 // The unique identifier for the application that the voice channel applies to. 5487 ApplicationId *string 5488 5489 // The date and time, in ISO 8601 format, when the voice channel was enabled. 5490 CreationDate *string 5491 5492 // Specifies whether the voice channel is enabled for the application. 5493 Enabled bool 5494 5495 // (Not used) This property is retained only for backward compatibility. 5496 HasCredential bool 5497 5498 // (Deprecated) An identifier for the voice channel. This property is retained only 5499 // for backward compatibility. 5500 Id *string 5501 5502 // Specifies whether the voice channel is archived. 5503 IsArchived bool 5504 5505 // The user who last modified the voice channel. 5506 LastModifiedBy *string 5507 5508 // The date and time, in ISO 8601 format, when the voice channel was last modified. 5509 LastModifiedDate *string 5510 5511 // The current version of the voice channel. 5512 Version int32 5513} 5514 5515// Specifies the settings for a one-time voice message that's sent directly to an 5516// endpoint through the voice channel. 5517type VoiceMessage struct { 5518 5519 // The text of the script to use for the voice message. 5520 Body *string 5521 5522 // The code for the language to use when synthesizing the text of the message 5523 // script. For a list of supported languages and the code for each one, see the 5524 // Amazon Polly Developer Guide 5525 // (https://docs.aws.amazon.com/polly/latest/dg/what-is.html). 5526 LanguageCode *string 5527 5528 // The long code to send the voice message from. This value should be one of the 5529 // dedicated long codes that's assigned to your AWS account. Although it isn't 5530 // required, we recommend that you specify the long code in E.164 format, for 5531 // example +12065550100, to ensure prompt and accurate delivery of the message. 5532 OriginationNumber *string 5533 5534 // The default message variables to use in the voice message. You can override the 5535 // default variables with individual address variables. 5536 Substitutions map[string][]string 5537 5538 // The name of the voice to use when delivering the message. For a list of 5539 // supported voices, see the Amazon Polly Developer Guide 5540 // (https://docs.aws.amazon.com/polly/latest/dg/what-is.html). 5541 VoiceId *string 5542} 5543 5544// Specifies the content and settings for a message template that can be used in 5545// messages that are sent through the voice channel. 5546type VoiceTemplateRequest struct { 5547 5548 // The text of the script to use in messages that are based on the message 5549 // template, in plain text format. 5550 Body *string 5551 5552 // A JSON object that specifies the default values to use for message variables in 5553 // the message template. This object is a set of key-value pairs. Each key defines 5554 // a message variable in the template. The corresponding value defines the default 5555 // value for that variable. When you create a message that's based on the template, 5556 // you can override these defaults with message-specific and address-specific 5557 // variables and values. 5558 DefaultSubstitutions *string 5559 5560 // The code for the language to use when synthesizing the text of the script in 5561 // messages that are based on the message template. For a list of supported 5562 // languages and the code for each one, see the Amazon Polly Developer Guide 5563 // (https://docs.aws.amazon.com/polly/latest/dg/what-is.html). 5564 LanguageCode *string 5565 5566 // A string-to-string map of key-value pairs that defines the tags to associate 5567 // with the message template. Each tag consists of a required tag key and an 5568 // associated tag value. 5569 Tags map[string]string 5570 5571 // A custom description of the message template. 5572 TemplateDescription *string 5573 5574 // The name of the voice to use when delivering messages that are based on the 5575 // message template. For a list of supported voices, see the Amazon Polly Developer 5576 // Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html). 5577 VoiceId *string 5578} 5579 5580// Provides information about the content and settings for a message template that 5581// can be used in messages that are sent through the voice channel. 5582type VoiceTemplateResponse struct { 5583 5584 // The date, in ISO 8601 format, when the message template was created. 5585 // 5586 // This member is required. 5587 CreationDate *string 5588 5589 // The date, in ISO 8601 format, when the message template was last modified. 5590 // 5591 // This member is required. 5592 LastModifiedDate *string 5593 5594 // The name of the message template. 5595 // 5596 // This member is required. 5597 TemplateName *string 5598 5599 // The type of channel that the message template is designed for. For a voice 5600 // template, this value is VOICE. 5601 // 5602 // This member is required. 5603 TemplateType TemplateType 5604 5605 // The Amazon Resource Name (ARN) of the message template. 5606 Arn *string 5607 5608 // The text of the script that's used in messages that are based on the message 5609 // template, in plain text format. 5610 Body *string 5611 5612 // The JSON object that specifies the default values that are used for message 5613 // variables in the message template. This object is a set of key-value pairs. Each 5614 // key defines a message variable in the template. The corresponding value defines 5615 // the default value for that variable. 5616 DefaultSubstitutions *string 5617 5618 // The code for the language that's used when synthesizing the text of the script 5619 // in messages that are based on the message template. For a list of supported 5620 // languages and the code for each one, see the Amazon Polly Developer Guide 5621 // (https://docs.aws.amazon.com/polly/latest/dg/what-is.html). 5622 LanguageCode *string 5623 5624 // A string-to-string map of key-value pairs that identifies the tags that are 5625 // associated with the message template. Each tag consists of a required tag key 5626 // and an associated tag value. 5627 Tags map[string]string 5628 5629 // The custom description of the message template. 5630 TemplateDescription *string 5631 5632 // The unique identifier, as an integer, for the active version of the message 5633 // template, or the version of the template that you specified by using the version 5634 // parameter in your request. 5635 Version *string 5636 5637 // The name of the voice that's used when delivering messages that are based on the 5638 // message template. For a list of supported voices, see the Amazon Polly Developer 5639 // Guide (https://docs.aws.amazon.com/polly/latest/dg/what-is.html). 5640 VoiceId *string 5641} 5642 5643// Specifies the settings for a wait activity in a journey. This type of activity 5644// waits for a certain amount of time or until a specific date and time before 5645// moving participants to the next activity in a journey. 5646type WaitActivity struct { 5647 5648 // The unique identifier for the next activity to perform, after performing the 5649 // wait activity. 5650 NextActivity *string 5651 5652 // The amount of time to wait or the date and time when the activity moves 5653 // participants to the next activity in the journey. 5654 WaitTime *WaitTime 5655} 5656 5657// Specifies a duration or a date and time that indicates when Amazon Pinpoint 5658// determines whether an activity's conditions have been met or an activity moves 5659// participants to the next activity in a journey. 5660type WaitTime struct { 5661 5662 // The amount of time to wait, as a duration in ISO 8601 format, before determining 5663 // whether the activity's conditions have been met or moving participants to the 5664 // next activity in the journey. 5665 WaitFor *string 5666 5667 // The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether 5668 // the activity's conditions have been met or the activity moves participants to 5669 // the next activity in the journey. 5670 WaitUntil *string 5671} 5672 5673// Specifies the default settings for an application. 5674type WriteApplicationSettingsRequest struct { 5675 5676 // The settings for the AWS Lambda function to invoke by default as a code hook for 5677 // campaigns in the application. You can use this hook to customize segments that 5678 // are used by campaigns in the application. To override these settings and define 5679 // custom settings for a specific campaign, use the CampaignHook object of the 5680 // Campaign resource. 5681 CampaignHook *CampaignHook 5682 5683 // Specifies whether to enable application-related alarms in Amazon CloudWatch. 5684 CloudWatchMetricsEnabled bool 5685 5686 EventTaggingEnabled bool 5687 5688 // The default sending limits for campaigns in the application. To override these 5689 // limits and define custom limits for a specific campaign or journey, use the 5690 // Campaign resource or the Journey resource, respectively. 5691 Limits *CampaignLimits 5692 5693 // The default quiet time for campaigns in the application. Quiet time is a 5694 // specific time range when messages aren't sent to endpoints, if all the following 5695 // conditions are met: 5696 // 5697 // * The EndpointDemographic.Timezone property of the endpoint 5698 // is set to a valid value. 5699 // 5700 // * The current time in the endpoint's time zone is 5701 // later than or equal to the time specified by the QuietTime.Start property for 5702 // the application (or a campaign or journey that has custom quiet time 5703 // settings). 5704 // 5705 // * The current time in the endpoint's time zone is earlier than or 5706 // equal to the time specified by the QuietTime.End property for the application 5707 // (or a campaign or journey that has custom quiet time settings). 5708 // 5709 // If any of the 5710 // preceding conditions isn't met, the endpoint will receive messages from a 5711 // campaign or journey, even if quiet time is enabled. To override the default 5712 // quiet time settings for a specific campaign or journey, use the Campaign 5713 // resource or the Journey resource to define a custom quiet time for the campaign 5714 // or journey. 5715 QuietTime *QuietTime 5716} 5717 5718// Specifies the configuration and other settings for a campaign. 5719type WriteCampaignRequest struct { 5720 5721 // An array of requests that defines additional treatments for the campaign, in 5722 // addition to the default treatment for the campaign. 5723 AdditionalTreatments []WriteTreatmentResource 5724 5725 // The delivery configuration settings for sending the campaign through a custom 5726 // channel. This object is required if the MessageConfiguration object for the 5727 // campaign specifies a CustomMessage object. 5728 CustomDeliveryConfiguration *CustomDeliveryConfiguration 5729 5730 // A custom description of the campaign. 5731 Description *string 5732 5733 // The allocated percentage of users (segment members) who shouldn't receive 5734 // messages from the campaign. 5735 HoldoutPercent int32 5736 5737 // The settings for the AWS Lambda function to invoke as a code hook for the 5738 // campaign. You can use this hook to customize the segment that's used by the 5739 // campaign. 5740 Hook *CampaignHook 5741 5742 // Specifies whether to pause the campaign. A paused campaign doesn't run unless 5743 // you resume it by changing this value to false. 5744 IsPaused bool 5745 5746 // The messaging limits for the campaign. 5747 Limits *CampaignLimits 5748 5749 // The message configuration settings for the campaign. 5750 MessageConfiguration *MessageConfiguration 5751 5752 // A custom name for the campaign. 5753 Name *string 5754 5755 // The schedule settings for the campaign. 5756 Schedule *Schedule 5757 5758 // The unique identifier for the segment to associate with the campaign. 5759 SegmentId *string 5760 5761 // The version of the segment to associate with the campaign. 5762 SegmentVersion int32 5763 5764 // A string-to-string map of key-value pairs that defines the tags to associate 5765 // with the campaign. Each tag consists of a required tag key and an associated tag 5766 // value. 5767 Tags map[string]string 5768 5769 // The message template to use for the campaign. 5770 TemplateConfiguration *TemplateConfiguration 5771 5772 // A custom description of the default treatment for the campaign. 5773 TreatmentDescription *string 5774 5775 // A custom name of the default treatment for the campaign, if the campaign has 5776 // multiple treatments. A treatment is a variation of a campaign that's used for 5777 // A/B testing. 5778 TreatmentName *string 5779} 5780 5781// Specifies the Amazon Resource Name (ARN) of an event stream to publish events to 5782// and the AWS Identity and Access Management (IAM) role to use when publishing 5783// those events. 5784type WriteEventStream struct { 5785 5786 // The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon 5787 // Kinesis Data Firehose delivery stream that you want to publish event data to. 5788 // For a Kinesis data stream, the ARN format is: 5789 // arn:aws:kinesis:region:account-id:stream/stream_name For a Kinesis Data Firehose 5790 // delivery stream, the ARN format is: 5791 // arn:aws:firehose:region:account-id:deliverystream/stream_name 5792 // 5793 // This member is required. 5794 DestinationStreamArn *string 5795 5796 // The AWS Identity and Access Management (IAM) role that authorizes Amazon 5797 // Pinpoint to publish event data to the stream in your AWS account. 5798 // 5799 // This member is required. 5800 RoleArn *string 5801} 5802 5803// Specifies the configuration and other settings for a journey. 5804type WriteJourneyRequest struct { 5805 5806 // The name of the journey. A journey name can contain a maximum of 150 characters. 5807 // The characters can be alphanumeric characters or symbols, such as underscores 5808 // (_) or hyphens (-). A journey name can't contain any spaces. 5809 // 5810 // This member is required. 5811 Name *string 5812 5813 // A map that contains a set of Activity objects, one object for each activity in 5814 // the journey. For each Activity object, the key is the unique identifier (string) 5815 // for an activity and the value is the settings for the activity. An activity 5816 // identifier can contain a maximum of 100 characters. The characters must be 5817 // alphanumeric characters. 5818 Activities map[string]Activity 5819 5820 // The date, in ISO 8601 format, when the journey was created. 5821 CreationDate *string 5822 5823 // The date, in ISO 8601 format, when the journey was last modified. 5824 LastModifiedDate *string 5825 5826 // The messaging and entry limits for the journey. 5827 Limits *JourneyLimits 5828 5829 // Specifies whether the journey's scheduled start and end times use each 5830 // participant's local time. To base the schedule on each participant's local time, 5831 // set this value to true. 5832 LocalTime bool 5833 5834 // The quiet time settings for the journey. Quiet time is a specific time range 5835 // when a journey doesn't send messages to participants, if all the following 5836 // conditions are met: 5837 // 5838 // * The EndpointDemographic.Timezone property of the endpoint 5839 // for the participant is set to a valid value. 5840 // 5841 // * The current time in the 5842 // participant's time zone is later than or equal to the time specified by the 5843 // QuietTime.Start property for the journey. 5844 // 5845 // * The current time in the 5846 // participant's time zone is earlier than or equal to the time specified by the 5847 // QuietTime.End property for the journey. 5848 // 5849 // If any of the preceding conditions 5850 // isn't met, the participant will receive messages from the journey, even if quiet 5851 // time is enabled. 5852 QuietTime *QuietTime 5853 5854 // The frequency with which Amazon Pinpoint evaluates segment and event data for 5855 // the journey, as a duration in ISO 8601 format. 5856 RefreshFrequency *string 5857 5858 // The schedule settings for the journey. 5859 Schedule *JourneySchedule 5860 5861 // The unique identifier for the first activity in the journey. The identifier for 5862 // this activity can contain a maximum of 128 characters. The characters must be 5863 // alphanumeric characters. 5864 StartActivity *string 5865 5866 // The segment that defines which users are participants in the journey. 5867 StartCondition *StartCondition 5868 5869 // The status of the journey. Valid values are: 5870 // 5871 // * DRAFT - Saves the journey and 5872 // doesn't publish it. 5873 // 5874 // * ACTIVE - Saves and publishes the journey. Depending on 5875 // the journey's schedule, the journey starts running immediately or at the 5876 // scheduled start time. If a journey's status is ACTIVE, you can't add, change, or 5877 // remove activities from it. 5878 // 5879 // The CANCELLED, COMPLETED, and CLOSED values are not 5880 // supported in requests to create or update a journey. To cancel a journey, use 5881 // the Journey State resource. 5882 State State 5883} 5884 5885// Specifies the configuration, dimension, and other settings for a segment. A 5886// WriteSegmentRequest object can include a Dimensions object or a SegmentGroups 5887// object, but not both. 5888type WriteSegmentRequest struct { 5889 5890 // The criteria that define the dimensions for the segment. 5891 Dimensions *SegmentDimensions 5892 5893 // The name of the segment. 5894 Name *string 5895 5896 // The segment group to use and the dimensions to apply to the group's base 5897 // segments in order to build the segment. A segment group can consist of zero or 5898 // more base segments. Your request can include only one segment group. 5899 SegmentGroups *SegmentGroupList 5900 5901 // A string-to-string map of key-value pairs that defines the tags to associate 5902 // with the segment. Each tag consists of a required tag key and an associated tag 5903 // value. 5904 Tags map[string]string 5905} 5906 5907// Specifies the settings for a campaign treatment. A treatment is a variation of a 5908// campaign that's used for A/B testing of a campaign. 5909type WriteTreatmentResource struct { 5910 5911 // The allocated percentage of users (segment members) to send the treatment to. 5912 // 5913 // This member is required. 5914 SizePercent int32 5915 5916 // The delivery configuration settings for sending the treatment through a custom 5917 // channel. This object is required if the MessageConfiguration object for the 5918 // treatment specifies a CustomMessage object. 5919 CustomDeliveryConfiguration *CustomDeliveryConfiguration 5920 5921 // The message configuration settings for the treatment. 5922 MessageConfiguration *MessageConfiguration 5923 5924 // The schedule settings for the treatment. 5925 Schedule *Schedule 5926 5927 // The message template to use for the treatment. 5928 TemplateConfiguration *TemplateConfiguration 5929 5930 // A custom description of the treatment. 5931 TreatmentDescription *string 5932 5933 // A custom name for the treatment. 5934 TreatmentName *string 5935} 5936