2018/03/15 - Amazon Pinpoint - 1 new 2 updated api methods
Changes With this release, you can delete endpoints from your Amazon Pinpoint projects. Customers can now specify one of their leased dedicated long or short codes to send text messages.
Deletes an endpoint.
See also: AWS API Documentation
Request Syntax
client.delete_endpoint( ApplicationId='string', EndpointId='string' )
string
[REQUIRED]
string
[REQUIRED]
dict
Response Syntax
{ 'EndpointResponse': { 'Address': 'string', 'ApplicationId': 'string', 'Attributes': { 'string': [ 'string', ] }, 'ChannelType': 'GCM'|'APNS'|'APNS_SANDBOX'|'APNS_VOIP'|'APNS_VOIP_SANDBOX'|'ADM'|'SMS'|'EMAIL'|'BAIDU'|'CUSTOM', 'CohortId': 'string', 'CreationDate': 'string', 'Demographic': { 'AppVersion': 'string', 'Locale': 'string', 'Make': 'string', 'Model': 'string', 'ModelVersion': 'string', 'Platform': 'string', 'PlatformVersion': 'string', 'Timezone': 'string' }, 'EffectiveDate': 'string', 'EndpointStatus': 'string', 'Id': 'string', 'Location': { 'City': 'string', 'Country': 'string', 'Latitude': 123.0, 'Longitude': 123.0, 'PostalCode': 'string', 'Region': 'string' }, 'Metrics': { 'string': 123.0 }, 'OptOut': 'string', 'RequestId': 'string', 'User': { 'UserAttributes': { 'string': [ 'string', ] }, 'UserId': 'string' } } }
Response Structure
(dict) -- 202 response
EndpointResponse (dict) -- Endpoint response
Address (string) -- The address or token of the endpoint as provided by your push provider (e.g. DeviceToken or RegistrationId).
ApplicationId (string) -- The ID of the application associated with the endpoint.
Attributes (dict) -- Custom attributes that describe the endpoint by associating a name with an array of values. For example, an attribute named "interests" might have the values ["science", "politics", "travel"]. You can use these attributes as selection criteria when you create a segment of users to engage with a messaging campaign. The following characters are not recommended in attribute names: # : ? /. The Amazon Pinpoint console does not display attributes that include these characters in the name. This limitation does not apply to attribute values.
(string) --
(list) --
(string) --
ChannelType (string) -- The channel type. Valid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU
CohortId (string) -- A number from 0 - 99 that represents the cohort the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an app. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for a campaign.
CreationDate (string) -- The last time the endpoint was created. Provided in ISO 8601 format.
Demographic (dict) -- The endpoint demographic attributes.
AppVersion (string) -- The version of the application associated with the endpoint.
Locale (string) -- The endpoint locale in the following format: The ISO 639-1 alpha-2 code, followed by an underscore, followed by an ISO 3166-1 alpha-2 value.
Make (string) -- The endpoint make, such as such as Apple or Samsung.
Model (string) -- The endpoint model, such as iPhone.
ModelVersion (string) -- The endpoint model version.
Platform (string) -- The endpoint platform, such as ios or android.
PlatformVersion (string) -- The endpoint platform version.
Timezone (string) -- The timezone of the endpoint. Specified as a tz database value, such as Americas/Los_Angeles.
EffectiveDate (string) -- The last time the endpoint was updated. Provided in ISO 8601 format.
EndpointStatus (string) -- The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated.
Id (string) -- The unique ID that you assigned to the endpoint. The ID should be a globally unique identifier (GUID) to ensure that it is unique compared to all other endpoints for the application.
Location (dict) -- The endpoint location attributes.
City (string) -- The city where the endpoint is located.
Country (string) -- Country according to ISO 3166-1 Alpha-2 codes. For example, US.
Latitude (float) -- The latitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile).
Longitude (float) -- The longitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile).
PostalCode (string) -- The postal code or zip code of the endpoint.
Region (string) -- The region of the endpoint location. For example, corresponds to a state in US.
Metrics (dict) -- Custom metrics that your app reports to Amazon Pinpoint.
(string) --
(float) --
OptOut (string) -- Indicates whether a user has opted out of receiving messages with one of the following values: ALL - User has opted out of all messages. NONE - Users has not opted out and receives all messages.
RequestId (string) -- The unique ID for the most recent request to update the endpoint.
User (dict) -- Custom user-specific attributes that your app reports to Amazon Pinpoint.
UserAttributes (dict) -- Custom attributes that describe an end user by associating a name with an array of values. For example, an attribute named "interests" might have the values ["science", "politics", "travel"]. You can use these attributes as selection criteria when you create a segment of users to engage with a messaging campaign. The following characters are not recommended in attribute names: # : ? /. The Amazon Pinpoint console does not display attributes that include these characters in the name. This limitation does not apply to attribute values.
(string) --
(list) --
(string) --
UserId (string) -- The unique ID of the user.
{'MessageRequest': {'MessageConfiguration': {'SMSMessage': {'OriginationNumber': 'string'}}}}
Send a batch of messages
See also: AWS API Documentation
Request Syntax
client.send_messages( ApplicationId='string', MessageRequest={ 'Addresses': { 'string': { 'BodyOverride': 'string', 'ChannelType': 'GCM'|'APNS'|'APNS_SANDBOX'|'APNS_VOIP'|'APNS_VOIP_SANDBOX'|'ADM'|'SMS'|'EMAIL'|'BAIDU'|'CUSTOM', 'Context': { 'string': 'string' }, 'RawContent': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'TitleOverride': 'string' } }, 'Context': { 'string': 'string' }, 'Endpoints': { 'string': { 'BodyOverride': 'string', 'Context': { 'string': 'string' }, 'RawContent': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'TitleOverride': 'string' } }, 'MessageConfiguration': { 'ADMMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'ConsolidationKey': 'string', 'Data': { 'string': 'string' }, 'ExpiresAfter': 'string', 'IconReference': 'string', 'ImageIconUrl': 'string', 'ImageUrl': 'string', 'MD5': 'string', 'RawContent': 'string', 'SilentPush': True|False, 'SmallImageIconUrl': 'string', 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'Title': 'string', 'Url': 'string' }, 'APNSMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Badge': 123, 'Body': 'string', 'Category': 'string', 'CollapseId': 'string', 'Data': { 'string': 'string' }, 'MediaUrl': 'string', 'PreferredAuthenticationMethod': 'string', 'Priority': 'string', 'RawContent': 'string', 'SilentPush': True|False, 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'ThreadId': 'string', 'TimeToLive': 123, 'Title': 'string', 'Url': 'string' }, 'BaiduMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'Data': { 'string': 'string' }, 'IconReference': 'string', 'ImageIconUrl': 'string', 'ImageUrl': 'string', 'RawContent': 'string', 'SilentPush': True|False, 'SmallImageIconUrl': 'string', 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'Title': 'string', 'Url': 'string' }, 'DefaultMessage': { 'Body': 'string', 'Substitutions': { 'string': [ 'string', ] } }, 'DefaultPushNotificationMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'Data': { 'string': 'string' }, 'SilentPush': True|False, 'Substitutions': { 'string': [ 'string', ] }, 'Title': 'string', 'Url': 'string' }, 'GCMMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'CollapseKey': 'string', 'Data': { 'string': 'string' }, 'IconReference': 'string', 'ImageIconUrl': 'string', 'ImageUrl': 'string', 'Priority': 'string', 'RawContent': 'string', 'RestrictedPackageName': 'string', 'SilentPush': True|False, 'SmallImageIconUrl': 'string', 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'TimeToLive': 123, 'Title': 'string', 'Url': 'string' }, 'SMSMessage': { 'Body': 'string', 'MessageType': 'TRANSACTIONAL'|'PROMOTIONAL', 'OriginationNumber': 'string', 'SenderId': 'string', 'Substitutions': { 'string': [ 'string', ] } } } } )
string
[REQUIRED]
dict
[REQUIRED] Send message request.
Addresses (dict) -- A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value.
(string) --
(dict) -- Address configuration.
BodyOverride (string) -- Body override. If specified will override default body.
ChannelType (string) -- The channel type. Valid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU
Context (dict) -- A map of custom attributes to attributes to be attached to the message for this address. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes.
(string) --
(string) --
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
Substitutions (dict) -- A map of substitution values for the message to be merged with the DefaultMessage's substitutions. Substitutions on this map take precedence over the all other substitutions.
(string) --
(list) --
(string) --
TitleOverride (string) -- Title override. If specified will override default title if applicable.
Context (dict) -- A map of custom attributes to attributes to be attached to the message. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes.
(string) --
(string) --
Endpoints (dict) -- A map of destination addresses, with the address as the key(Email address, phone number or push token) and the Address Configuration as the value.
(string) --
(dict) -- Endpoint send configuration.
BodyOverride (string) -- Body override. If specified will override default body.
Context (dict) -- A map of custom attributes to attributes to be attached to the message for this address. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes.
(string) --
(string) --
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
Substitutions (dict) -- A map of substitution values for the message to be merged with the DefaultMessage's substitutions. Substitutions on this map take precedence over the all other substitutions.
(string) --
(list) --
(string) --
TitleOverride (string) -- Title override. If specified will override default title if applicable.
MessageConfiguration (dict) -- Message configuration.
ADMMessage (dict) -- The message to ADM channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
ConsolidationKey (string) -- Optional. Arbitrary string used to indicate multiple messages are logically the same and that ADM is allowed to drop previously enqueued messages in favor of this one.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
ExpiresAfter (string) -- Optional. Number of seconds ADM should retain the message if the device is offline
IconReference (string) -- The icon image name of the asset saved in your application.
ImageIconUrl (string) -- The URL that points to an image used as the large icon to the notification content view.
ImageUrl (string) -- The URL that points to an image used in the push notification.
MD5 (string) -- Optional. Base-64-encoded MD5 checksum of the data parameter. Used to verify data integrity
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
SmallImageIconUrl (string) -- The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view
Sound (string) -- Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
APNSMessage (dict) -- The message to APNS channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Badge (integer) -- Include this key when you want the system to modify the badge of your app icon. If this key is not included in the dictionary, the badge is not changed. To remove the badge, set the value of this key to 0.
Body (string) -- The message body of the notification, the email body or the text message.
Category (string) -- Provide this key with a string value that represents the notification's type. This value corresponds to the value in the identifier property of one of your app's registered categories.
CollapseId (string) -- An ID that, if assigned to multiple messages, causes APNs to coalesce the messages into a single push notification instead of delivering each message individually. The value must not exceed 64 bytes. Amazon Pinpoint uses this value to set the apns-collapse-id request header when it sends the message to APNs.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
MediaUrl (string) -- The URL that points to a video used in the push notification.
PreferredAuthenticationMethod (string) -- The preferred authentication method, either "CERTIFICATE" or "TOKEN"
Priority (string) -- The message priority. Amazon Pinpoint uses this value to set the apns-priority request header when it sends the message to APNs. Accepts the following values: "5" - Low priority. Messages might be delayed, delivered in groups, and throttled. "10" - High priority. Messages are sent immediately. High priority messages must cause an alert, sound, or badge on the receiving device. The default value is "10". The equivalent values for FCM or GCM messages are "normal" and "high". Amazon Pinpoint accepts these values for APNs messages and converts them. For more information about the apns-priority parameter, see Communicating with APNs in the APNs Local and Remote Notification Programming Guide.
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
Sound (string) -- Include this key when you want the system to play a sound. The value of this key is the name of a sound file in your app's main bundle or in the Library/Sounds folder of your app's data container. If the sound file cannot be found, or if you specify defaultfor the value, the system plays the default alert sound.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
ThreadId (string) -- Provide this key with a string value that represents the app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.
TimeToLive (integer) -- The length of time (in seconds) that APNs stores and attempts to deliver the message. If the value is 0, APNs does not store the message or attempt to deliver it more than once. Amazon Pinpoint uses this value to set the apns-expiration request header when it sends the message to APNs.
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
BaiduMessage (dict) -- The message to Baidu GCM channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
IconReference (string) -- The icon image name of the asset saved in your application.
ImageIconUrl (string) -- The URL that points to an image used as the large icon to the notification content view.
ImageUrl (string) -- The URL that points to an image used in the push notification.
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
SmallImageIconUrl (string) -- The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view
Sound (string) -- Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
DefaultMessage (dict) -- The default message for all channels.
Body (string) -- The message body of the notification, the email body or the text message.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
DefaultPushNotificationMessage (dict) -- The default push notification message for all push channels.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
GCMMessage (dict) -- The message to GCM channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
CollapseKey (string) -- This parameter identifies a group of messages (e.g., with collapse_key: "Updates Available") that can be collapsed, so that only the last message gets sent when delivery can be resumed. This is intended to avoid sending too many of the same messages when the device comes back online or becomes active.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
IconReference (string) -- The icon image name of the asset saved in your application.
ImageIconUrl (string) -- The URL that points to an image used as the large icon to the notification content view.
ImageUrl (string) -- The URL that points to an image used in the push notification.
Priority (string) -- The message priority. Amazon Pinpoint uses this value to set the FCM or GCM priority parameter when it sends the message. Accepts the following values: "Normal" - Messages might be delayed. Delivery is optimized for battery usage on the receiving device. Use normal priority unless immediate delivery is required. "High" - Messages are sent immediately and might wake a sleeping device. The equivalent values for APNs messages are "5" and "10". Amazon Pinpoint accepts these values here and converts them. For more information, see About FCM Messages in the Firebase documentation.
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
RestrictedPackageName (string) -- This parameter specifies the package name of the application where the registration tokens must match in order to receive the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
SmallImageIconUrl (string) -- The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view
Sound (string) -- Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
TimeToLive (integer) -- The length of time (in seconds) that FCM or GCM stores and attempts to deliver the message. If unspecified, the value defaults to the maximum, which is 2,419,200 seconds (28 days). Amazon Pinpoint uses this value to set the FCM or GCM time_to_live parameter.
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
SMSMessage (dict) -- The message to SMS channels. Overrides the default message.
Body (string) -- The message body of the notification, the email body or the text message.
MessageType (string) -- Is this a transaction priority message or lower priority.
OriginationNumber (string) -- The phone number that the SMS message originates from. Specify one of the dedicated long codes or short codes that you requested from AWS Support and that is assigned to your account. If this attribute is not specified, Amazon Pinpoint randomly assigns a long code.
SenderId (string) -- The sender ID that is shown as the message sender on the recipient's device. Support for sender IDs varies by country or region.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
dict
Response Syntax
{ 'MessageResponse': { 'ApplicationId': 'string', 'EndpointResult': { 'string': { 'Address': 'string', 'DeliveryStatus': 'SUCCESSFUL'|'THROTTLED'|'TEMPORARY_FAILURE'|'PERMANENT_FAILURE'|'UNKNOWN_FAILURE'|'OPT_OUT'|'DUPLICATE', 'StatusCode': 123, 'StatusMessage': 'string', 'UpdatedToken': 'string' } }, 'RequestId': 'string', 'Result': { 'string': { 'DeliveryStatus': 'SUCCESSFUL'|'THROTTLED'|'TEMPORARY_FAILURE'|'PERMANENT_FAILURE'|'UNKNOWN_FAILURE'|'OPT_OUT'|'DUPLICATE', 'StatusCode': 123, 'StatusMessage': 'string', 'UpdatedToken': 'string' } } } }
Response Structure
(dict) --
MessageResponse (dict) -- Send message response.
ApplicationId (string) -- Application id of the message.
EndpointResult (dict) -- A map containing a multi part response for each address, with the endpointId as the key and the result as the value.
(string) --
(dict) -- The result from sending a message to an endpoint.
Address (string) -- Address that endpoint message was delivered to.
DeliveryStatus (string) -- Delivery status of message.
StatusCode (integer) -- Downstream service status code.
StatusMessage (string) -- Status message for message delivery.
UpdatedToken (string) -- If token was updated as part of delivery. (This is GCM Specific)
RequestId (string) -- Original request Id for which this message was delivered.
Result (dict) -- A map containing a multi part response for each address, with the address as the key(Email address, phone number or push token) and the result as the value.
(string) --
(dict) -- The result from sending a message to an address.
DeliveryStatus (string) -- Delivery status of message.
StatusCode (integer) -- Downstream service status code.
StatusMessage (string) -- Status message for message delivery.
UpdatedToken (string) -- If token was updated as part of delivery. (This is GCM Specific)
{'SendUsersMessageRequest': {'MessageConfiguration': {'SMSMessage': {'OriginationNumber': 'string'}}}}
Send a batch of messages to users
See also: AWS API Documentation
Request Syntax
client.send_users_messages( ApplicationId='string', SendUsersMessageRequest={ 'Context': { 'string': 'string' }, 'MessageConfiguration': { 'ADMMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'ConsolidationKey': 'string', 'Data': { 'string': 'string' }, 'ExpiresAfter': 'string', 'IconReference': 'string', 'ImageIconUrl': 'string', 'ImageUrl': 'string', 'MD5': 'string', 'RawContent': 'string', 'SilentPush': True|False, 'SmallImageIconUrl': 'string', 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'Title': 'string', 'Url': 'string' }, 'APNSMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Badge': 123, 'Body': 'string', 'Category': 'string', 'CollapseId': 'string', 'Data': { 'string': 'string' }, 'MediaUrl': 'string', 'PreferredAuthenticationMethod': 'string', 'Priority': 'string', 'RawContent': 'string', 'SilentPush': True|False, 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'ThreadId': 'string', 'TimeToLive': 123, 'Title': 'string', 'Url': 'string' }, 'BaiduMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'Data': { 'string': 'string' }, 'IconReference': 'string', 'ImageIconUrl': 'string', 'ImageUrl': 'string', 'RawContent': 'string', 'SilentPush': True|False, 'SmallImageIconUrl': 'string', 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'Title': 'string', 'Url': 'string' }, 'DefaultMessage': { 'Body': 'string', 'Substitutions': { 'string': [ 'string', ] } }, 'DefaultPushNotificationMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'Data': { 'string': 'string' }, 'SilentPush': True|False, 'Substitutions': { 'string': [ 'string', ] }, 'Title': 'string', 'Url': 'string' }, 'GCMMessage': { 'Action': 'OPEN_APP'|'DEEP_LINK'|'URL', 'Body': 'string', 'CollapseKey': 'string', 'Data': { 'string': 'string' }, 'IconReference': 'string', 'ImageIconUrl': 'string', 'ImageUrl': 'string', 'Priority': 'string', 'RawContent': 'string', 'RestrictedPackageName': 'string', 'SilentPush': True|False, 'SmallImageIconUrl': 'string', 'Sound': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'TimeToLive': 123, 'Title': 'string', 'Url': 'string' }, 'SMSMessage': { 'Body': 'string', 'MessageType': 'TRANSACTIONAL'|'PROMOTIONAL', 'OriginationNumber': 'string', 'SenderId': 'string', 'Substitutions': { 'string': [ 'string', ] } } }, 'Users': { 'string': { 'BodyOverride': 'string', 'Context': { 'string': 'string' }, 'RawContent': 'string', 'Substitutions': { 'string': [ 'string', ] }, 'TitleOverride': 'string' } } } )
string
[REQUIRED]
dict
[REQUIRED] Send message request.
Context (dict) -- A map of custom attributes to attributes to be attached to the message. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes.
(string) --
(string) --
MessageConfiguration (dict) -- Message configuration.
ADMMessage (dict) -- The message to ADM channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
ConsolidationKey (string) -- Optional. Arbitrary string used to indicate multiple messages are logically the same and that ADM is allowed to drop previously enqueued messages in favor of this one.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
ExpiresAfter (string) -- Optional. Number of seconds ADM should retain the message if the device is offline
IconReference (string) -- The icon image name of the asset saved in your application.
ImageIconUrl (string) -- The URL that points to an image used as the large icon to the notification content view.
ImageUrl (string) -- The URL that points to an image used in the push notification.
MD5 (string) -- Optional. Base-64-encoded MD5 checksum of the data parameter. Used to verify data integrity
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
SmallImageIconUrl (string) -- The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view
Sound (string) -- Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
APNSMessage (dict) -- The message to APNS channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Badge (integer) -- Include this key when you want the system to modify the badge of your app icon. If this key is not included in the dictionary, the badge is not changed. To remove the badge, set the value of this key to 0.
Body (string) -- The message body of the notification, the email body or the text message.
Category (string) -- Provide this key with a string value that represents the notification's type. This value corresponds to the value in the identifier property of one of your app's registered categories.
CollapseId (string) -- An ID that, if assigned to multiple messages, causes APNs to coalesce the messages into a single push notification instead of delivering each message individually. The value must not exceed 64 bytes. Amazon Pinpoint uses this value to set the apns-collapse-id request header when it sends the message to APNs.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
MediaUrl (string) -- The URL that points to a video used in the push notification.
PreferredAuthenticationMethod (string) -- The preferred authentication method, either "CERTIFICATE" or "TOKEN"
Priority (string) -- The message priority. Amazon Pinpoint uses this value to set the apns-priority request header when it sends the message to APNs. Accepts the following values: "5" - Low priority. Messages might be delayed, delivered in groups, and throttled. "10" - High priority. Messages are sent immediately. High priority messages must cause an alert, sound, or badge on the receiving device. The default value is "10". The equivalent values for FCM or GCM messages are "normal" and "high". Amazon Pinpoint accepts these values for APNs messages and converts them. For more information about the apns-priority parameter, see Communicating with APNs in the APNs Local and Remote Notification Programming Guide.
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
Sound (string) -- Include this key when you want the system to play a sound. The value of this key is the name of a sound file in your app's main bundle or in the Library/Sounds folder of your app's data container. If the sound file cannot be found, or if you specify defaultfor the value, the system plays the default alert sound.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
ThreadId (string) -- Provide this key with a string value that represents the app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.
TimeToLive (integer) -- The length of time (in seconds) that APNs stores and attempts to deliver the message. If the value is 0, APNs does not store the message or attempt to deliver it more than once. Amazon Pinpoint uses this value to set the apns-expiration request header when it sends the message to APNs.
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
BaiduMessage (dict) -- The message to Baidu GCM channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
IconReference (string) -- The icon image name of the asset saved in your application.
ImageIconUrl (string) -- The URL that points to an image used as the large icon to the notification content view.
ImageUrl (string) -- The URL that points to an image used in the push notification.
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
SmallImageIconUrl (string) -- The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view
Sound (string) -- Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
DefaultMessage (dict) -- The default message for all channels.
Body (string) -- The message body of the notification, the email body or the text message.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
DefaultPushNotificationMessage (dict) -- The default push notification message for all push channels.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
GCMMessage (dict) -- The message to GCM channels. Overrides the default push notification message.
Action (string) -- The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP - Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action. DEEP_LINK - Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app. URL - The default mobile browser on the user's device launches and opens a web page at the URL you specify. Possible values include: OPEN_APP | DEEP_LINK | URL
Body (string) -- The message body of the notification, the email body or the text message.
CollapseKey (string) -- This parameter identifies a group of messages (e.g., with collapse_key: "Updates Available") that can be collapsed, so that only the last message gets sent when delivery can be resumed. This is intended to avoid sending too many of the same messages when the device comes back online or becomes active.
Data (dict) -- The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object
(string) --
(string) --
IconReference (string) -- The icon image name of the asset saved in your application.
ImageIconUrl (string) -- The URL that points to an image used as the large icon to the notification content view.
ImageUrl (string) -- The URL that points to an image used in the push notification.
Priority (string) -- The message priority. Amazon Pinpoint uses this value to set the FCM or GCM priority parameter when it sends the message. Accepts the following values: "Normal" - Messages might be delayed. Delivery is optimized for battery usage on the receiving device. Use normal priority unless immediate delivery is required. "High" - Messages are sent immediately and might wake a sleeping device. The equivalent values for APNs messages are "5" and "10". Amazon Pinpoint accepts these values here and converts them. For more information, see About FCM Messages in the Firebase documentation.
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
RestrictedPackageName (string) -- This parameter specifies the package name of the application where the registration tokens must match in order to receive the message.
SilentPush (boolean) -- Indicates if the message should display on the users device. Silent pushes can be used for Remote Configuration and Phone Home use cases.
SmallImageIconUrl (string) -- The URL that points to an image used as the small icon for the notification which will be used to represent the notification in the status bar and content view
Sound (string) -- Indicates a sound to play when the device receives the notification. Supports default, or the filename of a sound resource bundled in the app. Android sound files must reside in /res/raw/
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
TimeToLive (integer) -- The length of time (in seconds) that FCM or GCM stores and attempts to deliver the message. If unspecified, the value defaults to the maximum, which is 2,419,200 seconds (28 days). Amazon Pinpoint uses this value to set the FCM or GCM time_to_live parameter.
Title (string) -- The message title that displays above the message on the user's device.
Url (string) -- The URL to open in the user's mobile browser. Used if the value for Action is URL.
SMSMessage (dict) -- The message to SMS channels. Overrides the default message.
Body (string) -- The message body of the notification, the email body or the text message.
MessageType (string) -- Is this a transaction priority message or lower priority.
OriginationNumber (string) -- The phone number that the SMS message originates from. Specify one of the dedicated long codes or short codes that you requested from AWS Support and that is assigned to your account. If this attribute is not specified, Amazon Pinpoint randomly assigns a long code.
SenderId (string) -- The sender ID that is shown as the message sender on the recipient's device. Support for sender IDs varies by country or region.
Substitutions (dict) -- Default message substitutions. Can be overridden by individual address substitutions.
(string) --
(list) --
(string) --
Users (dict) -- A map of destination endpoints, with the EndpointId as the key Endpoint Message Configuration as the value.
(string) --
(dict) -- Endpoint send configuration.
BodyOverride (string) -- Body override. If specified will override default body.
Context (dict) -- A map of custom attributes to attributes to be attached to the message for this address. This payload is added to the push notification's 'data.pinpoint' object or added to the email/sms delivery receipt event attributes.
(string) --
(string) --
RawContent (string) -- The Raw JSON formatted string to be used as the payload. This value overrides the message.
Substitutions (dict) -- A map of substitution values for the message to be merged with the DefaultMessage's substitutions. Substitutions on this map take precedence over the all other substitutions.
(string) --
(list) --
(string) --
TitleOverride (string) -- Title override. If specified will override default title if applicable.
dict
Response Syntax
{ 'SendUsersMessageResponse': { 'ApplicationId': 'string', 'RequestId': 'string', 'Result': { 'string': { 'string': { 'Address': 'string', 'DeliveryStatus': 'SUCCESSFUL'|'THROTTLED'|'TEMPORARY_FAILURE'|'PERMANENT_FAILURE'|'UNKNOWN_FAILURE'|'OPT_OUT'|'DUPLICATE', 'StatusCode': 123, 'StatusMessage': 'string', 'UpdatedToken': 'string' } } } } }
Response Structure
(dict) --
SendUsersMessageResponse (dict) -- User send message response.
ApplicationId (string) -- Application id of the message.
RequestId (string) -- Original request Id for which this message was delivered.
Result (dict) -- A map containing of UserId to Map of EndpointId to Endpoint Message Result.
(string) --
(dict) --
(string) --
(dict) -- The result from sending a message to an endpoint.
Address (string) -- Address that endpoint message was delivered to.
DeliveryStatus (string) -- Delivery status of message.
StatusCode (integer) -- Downstream service status code.
StatusMessage (string) -- Status message for message delivery.
UpdatedToken (string) -- If token was updated as part of delivery. (This is GCM Specific)