Voice Template - Amazon Pinpoint

Voice Template

A voice 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 the voice channel for any of your Amazon Pinpoint applications. You can use voice templates in voice messages that you send as direct or test messages.

When you create a voice 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 text of the message script and any settings that you want to apply, such as the voice to use when delivering the message. The message script can include static text and, optionally, personalized content that you define by using the Handlebars template system and message variables. 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 Voice Template resource represents the repository of voice 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 the voice channel.

Amazon Pinpoint supports versioning for all types of message templates. When you use the Voice Template resource to work with a template, you can use supported parameters to specify whether your request applies to only a specific version of the template or to the overall template. For example, if you update a template, you can specify whether you want to save your updates as a new version of the template or save them to the latest existing version of the template. To retrieve information about all the versions of a template, use the Template Versions resource.

URI

/v1/templates/template-name/voice

HTTP Methods

GET

Operation ID: GetVoiceTemplate

Retrieves the content and settings of a message template for messages that are sent through the voice 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.

Query Parameters
Name Type Required Description
version String False

The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

If you don't specify a value for this parameter, Amazon Pinpoint does the following:

  • For a get operation, retrieves information about the active version of the template.

  • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

  • For a delete operation, deletes the template, including all versions of the template.

Responses
Status Code Response Model Description
200 VoiceTemplateResponse

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

POST

Operation ID: CreateVoiceTemplate

Creates a message template for messages that are sent through the voice 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: UpdateVoiceTemplate

Updates an existing message template for messages that are sent through the voice 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.

Query Parameters
Name Type Required Description
create-new-version String False

Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

version String False

The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

If you don't specify a value for this parameter, Amazon Pinpoint does the following:

  • For a get operation, retrieves information about the active version of the template.

  • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

  • For a delete operation, deletes the template, including all versions of the template.

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

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

DELETE

Operation ID: DeleteVoiceTemplate

Deletes a message template for messages that were sent through the voice 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.

Query Parameters
Name Type Required Description
version String False

The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

If you don't specify a value for this parameter, Amazon Pinpoint does the following:

  • For a get operation, retrieves information about the active version of the template.

  • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

  • For a delete operation, deletes the template, including all versions of the template.

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

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 Voice Template resource.

Responses
Status Code Response Model Description
200 None

The request succeeded.

Schemas

Request Bodies

Example POST

{ "tags": { }, "TemplateDescription": "string", "DefaultSubstitutions": "string", "Body": "string", "LanguageCode": "string", "VoiceId": "string" }

Example PUT

{ "tags": { }, "TemplateDescription": "string", "DefaultSubstitutions": "string", "Body": "string", "LanguageCode": "string", "VoiceId": "string" }

Response Bodies

Example VoiceTemplateResponse

{ "CreationDate": "string", "LastModifiedDate": "string", "TemplateType": enum, "TemplateName": "string", "TemplateDescription": "string", "DefaultSubstitutions": "string", "Version": "string", "tags": { }, "Arn": "string", "Body": "string", "LanguageCode": "string", "VoiceId": "string" }

Example CreateTemplateMessageBody

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

Example MessageBody

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

Properties

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.

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.

VoiceTemplateRequest

Specifies the content and settings for a message template that can be used in messages that are sent through the voice 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.

TemplateDescription

string

False

A custom description of the message template.

DefaultSubstitutions

string

False

A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

Body

string

False

The text of the script to use in messages that are based on the message template, in plain text format.

LanguageCode

string

False

The code for the language to use when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

VoiceId

string

False

The name of the voice to use when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

VoiceTemplateResponse

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

Property Type Required Description
CreationDate

string

True

The date, in ISO 8601 format, when the message template was created.

LastModifiedDate

string

True

The date, in ISO 8601 format, 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 voice template, this value is VOICE.

TemplateName

string

True

The name of the message template.

TemplateDescription

string

False

The custom description of the message template.

DefaultSubstitutions

string

False

The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

Version

string

False

The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

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.

Body

string

False

The text of the script that's used in messages that are based on the message template, in plain text format.

LanguageCode

string

False

The code for the language that's used when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

VoiceId

string

False

The name of the voice that's used when delivering messages that are based on the message template. 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:

GetVoiceTemplate

CreateVoiceTemplate

UpdateVoiceTemplate

DeleteVoiceTemplate