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 message, 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.
While sending transactional template-based messages using the Amazon Pinpoint API,
CLI or SDK, you need to make sure that values are provided for all the template
variable either at request time or as default values with the template. Messages
failing to render due to missing attribute value will not be received
successfully.
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.
|
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. |
|
Name | Type | Required | Description |
---|
accept | String | False | Indicates which content types, expressed as MIME types, the client
understands. |
|
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). |
413 | MessageBody | The request failed because the payload for the body of the request is too
large (RequestEntityTooLargeException). |
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.
|
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. |
|
Status code | Response model | Description |
---|
200 | None | The request succeeded. |
Schemas
Request bodies
{
"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",
"APNSPushType": "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",
"EntityId": "string",
"TemplateId": "string",
"MediaUrl": "string"
},
"VoiceMessage": {
"Body": "string",
"Substitutions": {
},
"LanguageCode": "string",
"VoiceId": "string",
"OriginationNumber": "string"
}
},
"TemplateConfiguration": {
"SMSTemplate": {
"Name": "string",
"Version": "string"
},
"EmailTemplate": {
"Name": "string",
"Version": "string"
},
"PushTemplate": {
"Name": "string",
"Version": "string"
},
"VoiceTemplate": {
"Name": "string",
"Version": "string"
}
},
"Addresses": {
},
"Endpoints": {
}
}
Response bodies
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 |
---|
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.
|
Body | string | False | The body of the notification 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. |
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. |
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. |
IconReference | string | False | The icon image name of the asset saved in your app. |
ImageIconUrl | string | False | The URL of the large icon image to display in the content view of the push
notification. |
ImageUrl | string | False | The URL of an image to display in the push notification. |
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. |
RawContent | string | False | The raw, JSON-formatted string to use as the payload for the notification
message. If specified, this value overrides all other content for the
message. |
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. |
SmallImageIconUrl | string | False | The URL of the small icon image to display in the status bar and the content
view of the push notification. |
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/ . |
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. |
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 . |
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 |
---|
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.
|
APNSPushType | string | False | The type of push notification to send. Valid values are:
-
alert – For a standard notification that's displayed on
recipients' devices and prompts a recipient to interact with the
notification.
-
background – For a silent notification that delivers
content in the background and isn't displayed on recipients'
devices.
-
complication – For a notification that contains update
information for an app’s complication timeline.
-
fileprovider – For a notification that signals changes to a
File Provider extension.
-
mdm – For a notification that tells managed devices to
contact the MDM server.
-
voip – For a notification that provides information about
an incoming VoIP call.
Amazon Pinpoint specifies this value in the apns-push-type
request header when it sends the notification message to APNs. If you don't
specify a value for this property, Amazon Pinpoint sets the value to
alert or background automatically, based on the
value that you specify for the SilentPush or
RawContent property of the message. For more information about the apns-push-type request header, see
Sending Notification Requests to APNs on the Apple Developer
website. |
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 . |
Body | string | False | The body of the notification message. |
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. |
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. |
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. |
PreferredAuthenticationMethod | string | False | The authentication method that you want Amazon Pinpoint to use when
authenticating with APNs, CERTIFICATE or TOKEN . |
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. |
RawContent | string | False | The raw, JSON-formatted string to use as the payload for the notification
message. If specified, this value overrides all other content for the
message. 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. If you want to send a push notification to users of the Safari web browser
on a macOS laptop or desktop computer, you must specify the raw message
payload. Also, the raw message payload must include a url-args
array within the aps object. The url-args array is
required in order to send push notifications to the Safari web browser.
However, it is acceptable for the array to contain a single, empty element.
For more information about Safari push notifications, see Configuring Safari Push Notifications on the Apple Developer
website. |
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 . 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. |
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. |
Substitutions | object | False | The default message variables to use in the notification message. You can
override these default variables with individual address variables. |
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. |
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. |
Title | string | False | The title to display above the notification message on the recipient's
device. |
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 . |
AddressConfiguration
Specifies address-based configuration settings for a message that's sent
directly to an endpoint.
Property | Type | Required | Description |
---|
BodyOverride | string | False | The message body to use instead of the default message body. This value
overrides the default message body. |
ChannelType | string Values: PUSH | GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | VOICE | EMAIL | BAIDU | CUSTOM | IN_APP | False | The channel to use when sending the message. |
Context | object | False | An object that maps custom attributes to attributes for the address and is
attached to the message. Attribute names are case sensitive. 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 all other values for the message. |
Substitutions | object | False | A map of the message variables to merge with the variables specified by
properties of the DefaultMessage object. The variables specified in
this map take precedence over all other variables. |
TitleOverride | string | False | The message title to use instead of the default message title. This value
overrides the default message title. |
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 |
---|
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.
|
Body | string | False | The body of the notification message. |
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. |
ImageIconUrl | string | False | The URL of the large icon image to display in the content view of the push
notification. |
ImageUrl | string | False | The URL of an image to display in the push notification. |
RawContent | string | False | The raw, JSON-formatted string to use as the payload for the notification
message. If specified, this value overrides all other content for the
message. |
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. |
SmallImageIconUrl | string | False | The URL of the small icon image to display in the status bar and the content
view of the push notification. |
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/ . |
Substitutions | object | False | The default message variables to use in the notification message. You can
override the default variables with individual address variables. |
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). |
Title | string | False | The title to display above the notification message on the recipient's
device. |
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 . |
DefaultMessage
Specifies the default message for all channels.
Property | Type | Required | Description |
---|
Body | string | False | The default body of the message. |
Substitutions | object | False | The default message variables to use in the 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 |
---|
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.
|
Body | string | False | The default body of the notification message. |
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. |
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. |
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. |
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 . |
DirectMessageConfiguration
Specifies the settings and content for the default message and any default
messages that you tailored for specific channels.
Property | Type | Required | Description |
---|
ADMMessage | ADMMessage | False | The default push notification message for the ADM (Amazon Device Messaging)
channel. This message overrides the default push notification message
(DefaultPushNotificationMessage ). |
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 ). |
BaiduMessage | BaiduMessage | False | The default push notification message for the Baidu (Baidu Cloud Push)
channel. This message overrides the default push notification message
(DefaultPushNotificationMessage ). |
DefaultMessage | DefaultMessage | False | The default message for all channels. |
DefaultPushNotificationMessage | DefaultPushNotificationMessage | False | The default push notification message for all push notification
channels. |
EmailMessage | EmailMessage | False | The default message for the email channel. This message overrides the default
message (DefaultMessage ). |
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 ). |
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. |
FeedbackForwardingAddress | string | False | The email address to forward bounces and complaints to, if feedback forwarding
is enabled. |
FromAddress | string | False | The verified email address to send the email message from. The default value
is the FromAddress specified for the email channel. |
RawEmail | RawEmail | False | The email message, represented as a raw MIME message. |
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. |
Substitutions | object | False | The default message variables to use in the email message. You can override
the default variables with individual address variables. |
EndpointMessageResult
Provides information about the delivery status and results of sending a
message directly to an endpoint.
Property | Type | Required | Description |
---|
Address | string | False | The endpoint address that the message was delivered to. |
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 SendMessages API does not honor the endpoint OPT_OUT status.
-
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 won't attempt to send the message again.
-
THROTTLED – Amazon Pinpoint throttled the operation to
send the message to the endpoint.
-
UNKNOWN_FAILURE – An unknown error occurred.
|
MessageId | string | False | The unique identifier for the message that was sent. |
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. |
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 |
---|
BodyOverride | string | False | The body of the message. If specified, this value overrides the default
message body. |
Context | object | False | A map of custom attributes to attach to the message for the address. Attribute
names are case sensitive. 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 all other values for the message. |
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. |
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 |
---|
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.
|
Body | string | False | The body of the notification 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. |
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. |
ImageIconUrl | string | False | The URL of the large icon image to display in the content view of the push
notification. |
ImageUrl | string | False | The URL of an image to display in the push notification. |
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. |
RawContent | string | False | The raw, JSON-formatted string to use as the payload for the notification
message. If specified, this value overrides all other content for the
message. |
RestrictedPackageName | string | False | The package name of the application where registration tokens must match in
order for the recipient to receive the message. |
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. |
SmallImageIconUrl | string | False | The URL of the small icon image to display in the status bar and the content
view of the push notification. |
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/ . |
Substitutions | object | False | The default message variables to use in the notification message. You can
override the default variables with individual address variables. |
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. |
Title | string | False | The title to display above the notification message on the recipient's
device. |
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 . |
MessageBody
Provides information about an API request or response.
Property | Type | Required | Description |
---|
Message | string | False | The message that's returned from the API. |
RequestID | string | False | The unique identifier for the request or response. |
MessageRequest
Specifies the configuration and other settings for a message.
Property | Type | Required | Description |
---|
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. |
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. |
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. |
MessageConfiguration | DirectMessageConfiguration | False | The settings and content for the default message and any default messages that
you defined for specific channels. |
TemplateConfiguration | TemplateConfiguration | False | The message template to use for the message. |
TraceId | string | False | The unique identifier for tracing the message. This identifier is visible in
message events. |
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. |
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. |
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. |
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 SendMessages API does not honor the OPT_OUT attribute when sending to endpoints and therefore will not use the OPT_OUT message status.
-
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 won't attempt to send the message again.
-
THROTTLED – Amazon Pinpoint throttled the operation to
send the message to the endpoint address.
-
UNKNOWN_FAILURE – An unknown error occurred.
|
MessageId | string | False | The unique identifier for the message that was sent. |
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. |
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. |
EntityId | string | False | A registered Entity ID (currently only used when sending messages to
recipients in India). |
Keyword | string | False | The SMS program name that you provided to AWS Support when you
requested your dedicated number. |
MediaUrl | string | False | This field is reserved for future use. |
MessageType | string Values: TRANSACTIONAL | PROMOTIONAL | False | The SMS message type. Valid values are TRANSACTIONAL (for
messages that are critical or time-sensitive, such as a one-time passwords) and
PROMOTIONAL (for messsages that aren't critical or
time-sensitive, such as marketing messages). |
OriginationNumber | string | False | The number to send the SMS message from. The phone number that you specify
must exist in your Amazon Pinpoint account—you can't pass an arbitrary
phone number. If you want to use a sender ID to send your message, omit this
parameter and use SenderId instead. |
SenderId | string | False | The alphabetic Sender ID to display as the sender of the message on a
recipient's device. Support for sender IDs varies by country. To specify a phone
number as the sender, omit this parameter and use OriginationNumber
instead. For more information about support for Sender ID by country, see the
Amazon Pinpoint User Guide. |
Substitutions | object | False | The message variables to use in the SMS message. You can override the default
variables with individual address variables. |
TemplateId | string | False | A registered Template ID (currently only used when sending messages to
recipients in India). |
SimpleEmail
Specifies the contents of an email message, composed of a subject, a text
part, and an HTML part.
Property | Type | Required | Description |
---|
HtmlPart | SimpleEmailPart | False | The body of the email message, in HTML format. We recommend using HTML format
for email clients that render HTML content. You can include links, formatted
text, and more in an HTML message. |
Subject | SimpleEmailPart | False | The subject line, or title, of the email. |
TextPart | SimpleEmailPart | False | The body of the email message, in plain text format. We recommend using plain
text format for email clients that don't render HTML content and clients that
are connected to high-latency networks, such as mobile devices. |
SimpleEmailPart
Specifies the subject or body of an email message, represented as textual
email data and the applicable character set.
Property | Type | Required | Description |
---|
Charset | string | False | The applicable character set for the message content. |
Data | string | False | The textual data of the message content. |
Template
Specifies the name and version 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. |
Version | string | False | The unique identifier for the version of the message template to use for the
message. If specified, this value must match the identifier for an existing
template version. To retrieve a list of versions and version identifiers for a
template, use the Template Versions resource. If you don't specify a value for this property, Amazon Pinpoint uses the
active version of the template. The active
version is typically the version of a template that's been most
recently reviewed and approved for use, depending on your workflow. It isn't
necessarily the latest version of a template. |
TemplateConfiguration
Specifies the message template to use for the message, for each type of
channel.
Property | Type | Required | Description |
---|
EmailTemplate | Template | False | The email template to use for the message. |
PushTemplate | Template | False | The push notification template to use for the message. |
SMSTemplate | Template | False | The SMS template to use for the message. |
VoiceTemplate | Template | False | The voice template to use for the message. This object isn't supported for
campaigns. |
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 of the script to use for the voice message. |
LanguageCode | string | False | The code for the language to use when synthesizing the text of the message
script. For a list of supported languages and the code for each one, see the
Amazon Polly
Developer Guide. |
OriginationNumber | string | False | The phone number, in E.164 format, to send the voice message from. This value
should be one of the dedicated long codes that's assigned to your AWS account. |
Substitutions | object | False | The default message variables to use in the voice message. You can override
the default variables with individual address variables. |
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. |
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
SendMessages