Amazon Pinpoint
REST API Reference

Push Notification Template

A push notification template is a type of message template that contains content and settings that you can define, save, and reuse in messages that you send through a push notification channel for any of your Amazon Pinpoint applications. You can use push notification templates in campaign messages, transactional messages, direct messages, and test messages.

When you create a push notification template, you specify the content and settings that you want to reuse in various components of messages that are based on the template. These components, referred to as template parts, can be the message title, the message body, or both. A template part can also be a channel-specific setting, such as a sound to play or an action to occur when a recipient interacts with a push notification that's based on the template. When you send a message that’s based on a template, Amazon Pinpoint populates the message with the content and settings that you defined in the template.

The Push Notification Template resource represents the repository of push notification templates that are associated with your Amazon Pinpoint account. You can use this resource to create, retrieve, update, or delete a message template for messages that you send through a push notification channel.

URI

/v1/templates/template-name/push

HTTP Methods

GET

Operation ID: GetPushTemplate

Retrieves the content and settings for a message template that you can use in messages that are sent through a push notification channel.

Path Parameters

Name Type Required Description
template-name String True

The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

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 PushNotificationTemplateResponse

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).

POST

Operation ID: CreatePushTemplate

Creates a message template that you can use in messages that are sent through a push notification channel.

Path Parameters

Name Type Required Description
template-name String True

The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

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
201 CreateTemplateMessageBody

The request succeeded and the specified resource was created.

400 MessageBody

The request contains a syntax error (BadRequestException).

403 MessageBody

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

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).

PUT

Operation ID: UpdatePushTemplate

Updates an existing message template that you can use in messages that are sent through a push notification channel.

Path Parameters

Name Type Required Description
template-name String True

The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

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
202 MessageBody

The request was accepted for processing. Processing may not be complete.

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).

DELETE

Operation ID: DeletePushTemplate

Deletes a message template that was designed for use in messages that were sent through a push notification channel.

Path Parameters

Name Type Required Description
template-name String True

The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

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
202 MessageBody

The request was accepted for processing. Processing may not be complete.

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 Push Notification Template resource.

Responses

Status Code Response Model Description
200 None

The request succeeded.

Schemas

Request Bodies

Example POST

{ "tags": { }, "Default": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string" }, "ADM": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "GCM": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "Baidu": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "APNS": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "MediaUrl": "string" } }

Example PUT

{ "tags": { }, "Default": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string" }, "ADM": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "GCM": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "Baidu": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "APNS": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "MediaUrl": "string" } }

Response Bodies

Example PushNotificationTemplateResponse

{ "CreationDate": "string", "LastModifiedDate": "string", "TemplateType": enum, "TemplateName": "string", "tags": { }, "Arn": "string", "Default": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string" }, "ADM": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "GCM": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "Baidu": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "ImageUrl": "string", "ImageIconUrl": "string", "SmallImageIconUrl": "string" }, "APNS": { "Title": "string", "Body": "string", "Action": enum, "Sound": "string", "Url": "string", "MediaUrl": "string" } }

Example CreateTemplateMessageBody

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

Example MessageBody

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

Properties

APNSPushNotificationTemplate

Specifies channel-specific content and settings for a message template that can be used in push notifications that are sent through the APNs (Apple Push Notification service) channel.

Property Type Required Description
Title

string

False

The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

Body

string

False

The message body to use in push notifications that are based on the message template.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if a recipient taps a push notification that's based on the message template. 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.

Sound

string

False

The key for the sound to play when the recipient receives a push notification that's based on the message template. 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.

Url

string

False

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

MediaUrl

string

False

The URL of an image or video to display in push notifications that are based on the message template.

AndroidPushNotificationTemplate

Specifies channel-specific content and settings for a message template that can be used in push notifications that are sent through the ADM (Amazon Device Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly Google Cloud Messaging) channel.

Property Type Required Description
Title

string

False

The title to use in a push notification that's based on the message template. This title appears above the notification message on a recipient's device.

Body

string

False

The message body to use in a push notification that's based on the message template.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if a recipient taps a push notification that's based on the message template. 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.

Sound

string

False

The sound to play when a recipient receives a push notification that's based on the message template. 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/.

Url

string

False

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

ImageUrl

string

False

The URL of an image to display in a push notification that's based on the message template.

ImageIconUrl

string

False

The URL of the large icon image to display in the content view of a push notification that's based on the message template.

SmallImageIconUrl

string

False

The URL of the small icon image to display in the status bar and the content view of a push notification that's based on the message template.

CreateTemplateMessageBody

Provides information about a request to create a message template.

Property Type Required Description
RequestID

string

False

The unique identifier for the request to create the message template.

Message

string

False

The message that's returned from the API for the request to create the message template.

Arn

string

False

The Amazon Resource Name (ARN) of the message template that was created.

DefaultPushNotificationTemplate

Specifies the default settings and content for a message template that can be used in messages that are sent through a push notification channel.

Property Type Required Description
Title

string

False

The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

Body

string

False

The message body to use in push notifications that are based on the message template.

Action

string

Values: OPEN_APP | DEEP_LINK | URL

False

The action to occur if a recipient taps a push notification that's based on the message template. 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.

Sound

string

False

The sound to play when a recipient receives a push notification that's based on the message template. 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/.

For an iOS platform, this value is the key for 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.

Url

string

False

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

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.

PushNotificationTemplateRequest

Specifies the content and settings for a message template that can be used in messages that are sent through a push notification channel.

Property Type Required Description
tags

object

False

A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

Default

DefaultPushNotificationTemplate

False

The default message template to use for push notification channels.

ADM

AndroidPushNotificationTemplate

False

The message template to use for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

GCM

AndroidPushNotificationTemplate

False

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

Baidu

AndroidPushNotificationTemplate

False

The message template to use for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

APNS

APNSPushNotificationTemplate

False

The message template to use for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

PushNotificationTemplateResponse

Provides information about the content and settings for a message template that can be used in messages that are sent through a push notification channel.

Property Type Required Description
CreationDate

string

True

The date when the message template was created.

LastModifiedDate

string

True

The date when the message template was last modified.

TemplateType

string

Values: EMAIL | SMS | VOICE | PUSH

True

The type of channel that the message template is designed for. For a push notification template, this value is PUSH.

TemplateName

string

True

The name of the message template.

tags

object

False

A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

Arn

string

False

The Amazon Resource Name (ARN) of the message template.

Default

DefaultPushNotificationTemplate

False

The default message template that's used for push notification channels.

ADM

AndroidPushNotificationTemplate

False

The message template that's used for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

GCM

AndroidPushNotificationTemplate

False

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

Baidu

AndroidPushNotificationTemplate

False

The message template that's used for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

APNS

APNSPushNotificationTemplate

False

The message template that's used for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

See Also

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

GetPushTemplate

CreatePushTemplate

UpdatePushTemplate

DeletePushTemplate