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