Amazon Pinpoint
REST API Reference

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

Messages

The Messages resource represents a direct message, which is a one-time message that you send directly to a limited audience without creating a campaign. You can send a direct message to as many as 100 recipients. The message can be a push notification for users of your mobile app, an SMS message, an email, or a voice message.

When you send a direct message, Amazon Pinpoint delivers it immediately. You can't schedule the delivery of direct messages. In addition, you can't send a direct message to a segment. If you want to schedule a message to be sent at a certain time or you want to send a message to a segment, you should create a campaign rather than sending a direct message.

You can use the Messages resource to send a direct message.

URI

/v1/apps/application-id/messages

HTTP Methods

POST

Operation ID: SendMessages

Creates and sends a direct message.

Path Parameters

Name Type Required Description
application-id String True

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

Header Parameters

Name Type Required Description
accept String False

Indicates which content types, expressed as MIME types, the client understands.

Responses

Status Code Response Model Description
200 MessageResponse

The request succeeded.

400 MessageBody

The request contains a syntax error (BadRequestException).

403 MessageBody

The request was denied because access to the specified resource is forbidden (ForbiddenException).

404 MessageBody

The request failed because the specified resource was not found (NotFoundException).

405 MessageBody

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

429 MessageBody

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

500 MessageBody

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

OPTIONS

Retrieves information about the communication requirements and options that are available for the Messages resource.

Responses

Status Code Response Model Description
200 None

The request succeeded.

Schemas

Request Bodies

Example POST

{ "TraceId": "string", "Context": { }, "MessageConfiguration": { "DefaultMessage": { "Body": "string", "Substitutions": { } }, "DefaultPushNotificationMessage": { "Body": "string", "Substitutions": { }, "Title": "string", "Action": enum, "Url": "string", "SilentPush": boolean, "Data": { } }, "APNSMessage": { "Body": "string", "Substitutions": { }, "Title": "string", "Action": enum, "Url": "string", "SilentPush": boolean, "Data": { }, "MediaUrl": "string", "Sound": "string", "Badge": integer, "Category": "string", "ThreadId": "string", "RawContent": "string", "PreferredAuthenticationMethod": "string", "TimeToLive": integer, "Priority": "string", "CollapseId": "string" }, "GCMMessage": { "Body": "string", "Substitutions": { }, "Title": "string", "Action": enum, "Url": "string", "SilentPush": boolean, "Data": { }, "IconReference": "string", "Sound": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string", "RawContent": "string", "CollapseKey": "string", "RestrictedPackageName": "string", "TimeToLive": integer, "Priority": "string" }, "BaiduMessage": { "Body": "string", "Substitutions": { }, "Title": "string", "Action": enum, "Url": "string", "SilentPush": boolean, "Data": { }, "IconReference": "string", "Sound": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string", "RawContent": "string", "TimeToLive": integer }, "ADMMessage": { "Body": "string", "Substitutions": { }, "Title": "string", "Action": enum, "Url": "string", "SilentPush": boolean, "Data": { }, "IconReference": "string", "Sound": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string", "RawContent": "string", "ConsolidationKey": "string", "ExpiresAfter": "string", "MD5": "string" }, "EmailMessage": { "Body": "string", "Substitutions": { }, "FromAddress": "string", "FeedbackForwardingAddress": "string", "ReplyToAddresses": [ "string" ], "SimpleEmail": { "Subject": { "Data": "string", "Charset": "string" }, "TextPart": { "Data": "string", "Charset": "string" }, "HtmlPart": { "Data": "string", "Charset": "string" } }, "RawEmail": { "Data": "string" } }, "SMSMessage": { "Body": "string", "Substitutions": { }, "SenderId": "string", "MessageType": enum, "Keyword": "string", "OriginationNumber": "string" }, "VoiceMessage": { "Body": "string", "Substitutions": { }, "LanguageCode": "string", "VoiceId": "string", "OriginationNumber": "string" } }, "TemplateConfiguration": { "SMSTemplate": { "Name": "string" }, "EmailTemplate": { "Name": "string" }, "PushTemplate": { "Name": "string" } }, "Addresses": { }, "Endpoints": { } }

Response Bodies

Example MessageResponse

{ "ApplicationId": "string", "RequestId": "string", "Result": { }, "EndpointResult": { } }

Example MessageBody

{ "RequestID": "string", "Message": "string" }

Properties

ADMMessage

Specifies the settings for a one-time message that's sent directly to an endpoint through the ADM (Amazon Device Messaging) channel.

Property Type Required Description
Body

string

False

The body of the notification message.

Substitutions

object

False

The default message variables to use in the notification message. You can override the default variables with individual address variables.

Title

string

False

The title to display above the notification message on the recipient's device.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

Url

string

False

The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

SilentPush

boolean

False

Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

Data

object

False

The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

IconReference

string

False

The icon image name of the asset saved in your app.

Sound

string

False

The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

ImageUrl

string

False

The URL of an image to display in the push notification.

ImageIconUrl

string

False

The URL of the large icon image to display in the content view of the push notification.

SmallImageIconUrl

string

False

The URL of the small icon image to display in the status bar and the content view of the push notification.

RawContent

string

False

The raw, JSON-formatted string to use as the payload for the notification message. This value overrides the message.

ConsolidationKey

string

False

An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.

ExpiresAfter

string

False

The amount of time, in seconds, that ADM should store the message if the recipient's device is offline. Amazon Pinpoint specifies this value in the expiresAfter parameter when it sends the notification message to ADM.

MD5

string

False

The base64-encoded, MD5 checksum of the value specified by the Data property. ADM uses the MD5 value to verify the integrity of the data.

APNSMessage

Specifies the settings for a one-time message that's sent directly to an endpoint through the APNs (Apple Push Notification service) channel.

Property Type Required Description
Body

string

False

The body of the notification message.

Substitutions

object

False

The default message variables to use in the notification message. You can override these default variables with individual address variables.

Title

string

False

The title to display above the notification message on the recipient's device.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

Url

string

False

The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

SilentPush

boolean

False

Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

Note

If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

Apple has indicated that they will throttle "excessive" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

Data

object

False

The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

MediaUrl

string

False

The URL of an image or video to display in the push notification.

Sound

string

False

The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

Badge

integer

False

The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

Category

string

False

The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

ThreadId

string

False

The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

RawContent

string

False

The raw, JSON-formatted string to use as the payload for the notification message. This value overrides the message.

Note

If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

PreferredAuthenticationMethod

string

False

The authentication method that you want Amazon Pinpoint to use when authenticating with Apple Push Notification service (APNs), CERTIFICATE or TOKEN.

TimeToLive

integer

False

The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

Priority

string

False

The priority of the push notification. Valid values are:

  • 5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

  • 10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

CollapseId

string

False

An arbitrary identifier that, if assigned to multiple messages, APNs uses to coalesce the messages into a single push notification instead of delivering each message individually. This value can't exceed 64 bytes.

Amazon Pinpoint specifies this value in the apns-collapse-id request header when it sends the notification message to APNs.

AddressConfiguration

Specifies address-based configuration settings for a message that's sent directly to an endpoint.

Property Type Required Description
Substitutions

object

False

An object that maps variable values for the message. Amazon Pinpoint merges these values with the variable values specified by properties of the DefaultMessage object. The substitutions in this map take precedence over all other substitutions.

Context

object

False

An object that maps custom attributes to attributes for the address and is attached to the message. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

RawContent

string

False

The raw, JSON-formatted string to use as the payload for the notification message. This value overrides the message.

BodyOverride

string

False

The message body to use instead of the default message body. This value overrides the default message body.

TitleOverride

string

False

The message title to use instead of the default message title. This value overrides the default message title.

ChannelType

string

Values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | VOICE | EMAIL | BAIDU | CUSTOM

False

The channel to use when sending the message.

BaiduMessage

Specifies the settings for a one-time message that's sent directly to an endpoint through the Baidu (Baidu Cloud Push) channel.

Property Type Required Description
Body

string

False

The body of the notification message.

Substitutions

object

False

The default message variables to use in the notification message. You can override the default variables with individual address variables.

Title

string

False

The title to display above the notification message on the recipient's device.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

Url

string

False

The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

SilentPush

boolean

False

Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

Data

object

False

The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

IconReference

string

False

The icon image name of the asset saved in your app.

Sound

string

False

The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

ImageUrl

string

False

The URL of an image to display in the push notification.

ImageIconUrl

string

False

The URL of the large icon image to display in the content view of the push notification.

SmallImageIconUrl

string

False

The URL of the small icon image to display in the status bar and the content view of the push notification.

RawContent

string

False

The raw, JSON-formatted string to use as the payload for the notification message. This value overrides the message.

TimeToLive

integer

False

The amount of time, in seconds, that the Baidu Cloud Push service should store the message if the recipient's device is offline. The default value and maximum supported time is 604,800 seconds (7 days).

DefaultMessage

Specifies the default message to use for all channels.

Property Type Required Description
Body

string

False

The default message body of the push notification, email, or SMS message.

Substitutions

object

False

The default message variables to use in the push notification, email, or SMS message. You can override these default variables with individual address variables.

DefaultPushNotificationMessage

Specifies the default settings and content for a push notification that's sent directly to an endpoint.

Property Type Required Description
Body

string

False

The default body of the notification message.

Substitutions

object

False

The default message variables to use in the notification message. You can override the default variables with individual address variables.

Title

string

False

The default title to display above the notification message on a recipient's device.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The default action to occur if a recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

Url

string

False

The default URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

SilentPush

boolean

False

Specifies whether the default notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or delivering messages to an in-app notification center.

Data

object

False

The JSON data payload to use for the default push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

DirectMessageConfiguration

Specifies the settings and content for the default message and any default messages that you tailored for specific channels.

Property Type Required Description
DefaultMessage

DefaultMessage

False

The default message body for all channels.

DefaultPushNotificationMessage

DefaultPushNotificationMessage

False

The default push notification message for all push notification channels.

APNSMessage

APNSMessage

False

The default push notification message for the APNs (Apple Push Notification service) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

GCMMessage

GCMMessage

False

The default push notification message for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides the default push notification message (DefaultPushNotificationMessage).

BaiduMessage

BaiduMessage

False

The default push notification message for the Baidu (Baidu Cloud Push) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

ADMMessage

ADMMessage

False

The default push notification message for the ADM (Amazon Device Messaging) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

EmailMessage

EmailMessage

False

The default message for the email channel. This message overrides the default message (DefaultMessage).

SMSMessage

SMSMessage

False

The default message for the SMS channel. This message overrides the default message (DefaultMessage).

VoiceMessage

VoiceMessage

False

The default message for the voice channel. This message overrides the default message (DefaultMessage).

EmailMessage

Specifies the default settings and content for a one-time email message that's sent directly to an endpoint.

Property Type Required Description
Body

string

False

The body of the email message.

Substitutions

object

False

The default message variables to use in the email message. You can override the default variables with individual address variables.

FromAddress

string

False

The verified email address to send the email message from. The default value is the FromAddress specified for the email channel.

FeedbackForwardingAddress

string

False

The email address to forward bounces and complaints to, if feedback forwarding is enabled.

ReplyToAddresses

Array of type string

False

The reply-to email address(es) for the email message. If a recipient replies to the email, each reply-to address receives the reply.

SimpleEmail

SimpleEmail

False

The email message, composed of a subject, a text part, and an HTML part.

RawEmail

RawEmail

False

The email message, represented as a raw MIME message.

EndpointMessageResult

Provides information about the delivery status and results of sending a message directly to an endpoint.

Property Type Required Description
DeliveryStatus

string

Values: SUCCESSFUL | THROTTLED | TEMPORARY_FAILURE | PERMANENT_FAILURE | UNKNOWN_FAILURE | OPT_OUT | DUPLICATE

True

The delivery status of the message. Possible values are:

  • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

  • OPT_OUT - The user who's associated with the endpoint has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

  • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.

  • SUCCESSFUL - The message was successfully delivered to the endpoint.

  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will attempt to deliver the message again later.

  • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint.

  • TIMEOUT - The message couldn't be sent within the timeout period.

  • UNKNOWN_FAILURE - An unknown error occurred.

StatusCode

integer

True

The downstream service status code for delivering the message.

StatusMessage

string

False

The status message for delivering the message.

UpdatedToken

string

False

For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

MessageId

string

False

The unique identifier for the message that was sent.

Address

string

False

The endpoint address that the message was delivered to.

EndpointSendConfiguration

Specifies the content, including message variables and attributes, to use in a message that's sent directly to an endpoint.

Property Type Required Description
Substitutions

object

False

A map of the message variables to merge with the variables specified for the default message (DefaultMessage.Substitutions). The variables specified in this map take precedence over all other variables.

Context

object

False

A map of custom attributes to attach to the message for the address. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

RawContent

string

False

The raw, JSON-formatted string to use as the payload for the message. If specified, this value overrides the message.

BodyOverride

string

False

The body of the message. If specified, this value overrides the default message body.

TitleOverride

string

False

The title or subject line of the message. If specified, this value overrides the default message title or subject line.

GCMMessage

Specifies the settings for a one-time message that's sent directly to an endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

Property Type Required Description
Body

string

False

The body of the notification message.

Substitutions

object

False

The default message variables to use in the notification message. You can override the default variables with individual address variables.

Title

string

False

The title to display above the notification message on the recipient's device.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

Url

string

False

The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

SilentPush

boolean

False

Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

Data

object

False

The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

IconReference

string

False

The icon image name of the asset saved in your app.

Sound

string

False

The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

ImageUrl

string

False

The URL of an image to display in the push notification.

ImageIconUrl

string

False

The URL of the large icon image to display in the content view of the push notification.

SmallImageIconUrl

string

False

The URL of the small icon image to display in the status bar and the content view of the push notification.

RawContent

string

False

The raw, JSON-formatted string to use as the payload for the notification message. This value overrides the message.

CollapseKey

string

False

An arbitrary string that identifies a group of messages that can be collapsed to ensure that only the last message is sent when delivery can resume. This helps avoid sending too many instances of the same messages when the recipient's device comes online again or becomes active.

Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) collapse_key parameter when it sends the notification message to FCM.

RestrictedPackageName

string

False

The package name of the application where registration tokens must match in order for the recipient to receive the message.

TimeToLive

integer

False

The amount of time, in seconds, that FCM should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If you don't specify this value, FCM defaults to the maximum value, which is 2,419,200 seconds (28 days).

Amazon Pinpoint specifies this value in the FCM time_to_live parameter when it sends the notification message to FCM.

Priority

string

False

The priority of the push notification. Valid values are:

  • normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

  • high - The notification is sent immediately and might wake a sleeping device.

Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM value.

MessageBody

Provides information about an API request or response.

Property Type Required Description
RequestID

string

False

The unique identifier for the request or response.

Message

string

False

The message that's returned from the API.

MessageRequest

Specifies the objects that define configuration and other settings for a message.

Property Type Required Description
TraceId

string

False

The unique identifier for tracing the message. This identifier is visible to message recipients.

Context

object

False

A map of custom attributes to attach to the message. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

MessageConfiguration

DirectMessageConfiguration

True

The set of properties that defines the configuration settings for the message.

TemplateConfiguration

TemplateConfiguration

False

The message template to use for the message.

Addresses

object

False

A map of key-value pairs, where each key is an address and each value is an AddressConfiguration object. An address can be a push notification token, a phone number, or an email address. You can use an AddressConfiguration object to tailor the message for an address by specifying settings such as content overrides and message variables.

Endpoints

object

False

A map of key-value pairs, where each key is an endpoint ID and each value is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration object to tailor the message for an endpoint by specifying settings such as content overrides and message variables.

MessageResponse

Provides information about the results of a request to send a message to an endpoint address.

Property Type Required Description
ApplicationId

string

True

The unique identifier for the application that was used to send the message.

RequestId

string

False

The identifier for the original request that the message was delivered for.

Result

object

False

A map that contains a multipart response for each address (email address, phone number, or push notification token) that the message was sent to. In the map, the address is the key and the result is the value.

EndpointResult

object

False

A map that contains a multipart response for each address that the message was sent to. In the map, the endpoint ID is the key and the result is the value.

MessageResult

Provides information about the results of sending a message directly to an endpoint address.

Property Type Required Description
DeliveryStatus

string

Values: SUCCESSFUL | THROTTLED | TEMPORARY_FAILURE | PERMANENT_FAILURE | UNKNOWN_FAILURE | OPT_OUT | DUPLICATE

True

The delivery status of the message. Possible values are:

  • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

  • OPT_OUT - The user who's associated with the endpoint address has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

  • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint address. Amazon Pinpoint won't attempt to send the message again.

  • SUCCESSFUL - The message was successfully delivered to the endpoint address.

  • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint will attempt to deliver the message again later.

  • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint address.

  • TIMEOUT - The message couldn't be sent within the timeout period.

  • UNKNOWN_FAILURE - An unknown error occurred.

StatusCode

integer

True

The downstream service status code for delivering the message.

StatusMessage

string

False

The status message for delivering the message.

UpdatedToken

string

False

For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

MessageId

string

False

The unique identifier for the message that was sent.

RawEmail

Specifies the contents of an email message, represented as a raw MIME message.

Property Type Required Description
Data

string

False

The email message, represented as a raw MIME message. The entire message must be base64 encoded.

SMSMessage

Specifies the default settings for a one-time SMS message that's sent directly to an endpoint.

Property Type Required Description
Body

string

False

The body of the SMS message.

Substitutions

object

False

The message variables to use in the SMS message. You can override the default variables with individual address variables.

SenderId

string

False

The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region.

MessageType

string

Values: TRANSACTIONAL | PROMOTIONAL

False

The SMS message type. Valid values are: TRANSACTIONAL, the message is critical or time-sensitive, such as a one-time password that supports a customer transaction; and, PROMOTIONAL, the message is not critical or time-sensitive, such as a marketing message.

Keyword

string

False

The SMS program name that you provided to AWS Support when you requested your dedicated number.

OriginationNumber

string

False

The number to send the SMS message from. This value should be one of the dedicated long or short codes that's assigned to your AWS account. If you don't specify a long or short code, Amazon Pinpoint assigns a random long code to the SMS message and sends the message from that code.

SimpleEmail

Specifies the contents of an email message, composed of a subject, a text part, and an HTML part.

Property Type Required Description
Subject

SimpleEmailPart

False

The subject line, or title, of the email.

TextPart

SimpleEmailPart

False

The body of the email message, in text format. We recommend using a text part for email clients that don't support HTML and clients that are connected to high-latency networks, such as mobile devices.

HtmlPart

SimpleEmailPart

False

The body of the email message, in HTML format. We recommend using an HTML part for email clients that support HTML. You can include links, formatted text, and more in an HTML message.

SimpleEmailPart

Specifies the subject or body of an email message, represented as textual email data and the applicable character set.

Property Type Required Description
Data

string

False

The textual data of the message content.

Charset

string

False

The applicable character set for the message content.

Template

Specifies the name of the message template to use for the message.

Property Type Required Description
Name

string

False

The name of the message template to use for the message. If specified, this value must match the name of an existing message template.

TemplateConfiguration

Specifies the message template for each type of channel.

Property Type Required Description
SMSTemplate

Template

False

The SMS template to use for the message.

EmailTemplate

Template

False

The email template to use for the message.

PushTemplate

Template

False

The push notification template to use for the message.

VoiceMessage

Specifies the settings for a one-time voice message that's sent directly to an endpoint through the voice channel.

Property Type Required Description
Body

string

False

The text script for the voice message.

Substitutions

object

False

The default message variables to use in the voice message. You can override the default variables with individual address variables.

LanguageCode

string

False

The language to use when delivering the message. For a list of supported languages, see the Amazon Polly Developer Guide.

VoiceId

string

False

The name of the voice to use when delivering the message. For a list of supported voices, see the Amazon Polly Developer Guide.

OriginationNumber

string

False

The long code to send the voice message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code in E.164 format, for example +12065550100, to ensure prompt and accurate delivery of the message.

See Also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

SendMessages