Subscription Schema

The following shows a subscription product schema.

{"version":"1.0","type":"SUBSCRIPTION","referenceName":"treasure_finders_plus","subscriptionInformation":{"subscriptionPaymentFrequency":"MONTHLY","subscriptionTrialPeriodDays":7},"publishingInformation":{"locales":{"en-US":{"name":"Treasure Finders Plus","smallIconUri":"small-icon-uri","largeIconUri":"large-icon-uri","summary":"1 new members-only adventure each month + over 10 previously released adventures.","description":"Get access to a new adventure each month for members only, along with a growing collection of over 10 previously released members-only adventures. Includes Crystal Catchers, The Light Stone, The Dark Pool, The Cave Fish, Long Way Down and more.","examplePhrases":["Alexa, open treasure finders plus","Alexa, play with treasure finders plus"],"keywords":["Games"],"customProductPrompts":{"purchasePromptDescription":"{PREMIUM_CONTENT_TITLE} includes access to all of our current adventures and a new one each month.","boughtCardDescription":"Enjoy {PREMIUM_CONTENT_TITLE}! Ask for a list of adventures to explore your purchase.."}}},"distributionCountries":["US"],"pricing":{"amazon.com":{"releaseDate":"2018-12-28T01:25Z","defaultPriceListing":{"price":1.99,"currency":"USD"}}},"taxInformation":{"category":"SOFTWARE"}},"privacyAndCompliance":{"locales":{"en-US":{"privacyPolicyUrl":"url-to-privacy-policy"}}},"testingInstructions":"Sample testing instructions.","purchasableState":"PURCHASABLE"}

Entitlement Schema

The following shows an entitlement product schema.

{"version":"1.0","type":"ENTITLEMENT","referenceName":"cave_quest","publishingInformation":{"locales":{"en-US":{"name":"Cave Quest","smallIconUri":"small-icon-uri","largeIconUri":"large-icon-uri","summary":" 5 new adventures for your collection","description":"The Cave Quest expansion pack includes 5 brand new adventures for your collection. Venture into even deeper and darker caves with Emerald and her friends, and collect up to 30 unique treasures. Adventures will automatically be playable once you've completed your purchase, and you can play them as often as you'd like.","examplePhrases":["Alexa, play cave quest","Alexa, buy cave quest"],"keywords":["Games"],"customProductPrompts":{"purchasePromptDescription":"{PREMIUM_CONTENT_TITLE} includes 5 new adventures with Emerald and her friends.","boughtCardDescription":"Enjoy {PREMIUM_CONTENT_TITLE} by asking Alexa to play cave quest."}}},"distributionCountries":["US"],"pricing":{"amazon.com":{"releaseDate":"2018-01-28T01:25Z","defaultPriceListing":{"price":1.99,"currency":"USD"}}},"taxInformation":{"category":"SOFTWARE"}},"privacyAndCompliance":{"locales":{"en-US":{"privacyPolicyUrl":"url-to-privacy-policy"}}},"testingInstructions":"Ask Alexa if she has any new adventures","purchasableState":"PURCHASABLE"}

Consumable Schema

The following shows a consumable product schema.

{"version":"1.0","type":"CONSUMABLE","referenceName":"five_hint_pack","publishingInformation":{"locales":{"en-US":{"name":"Five-hint pack","smallIconUri":"small-icon-uri","largeIconUri":"large-icon-uri","summary":"Five hints you can use if you get stuck on a question.","description":"The five-hint pack gives you five hints you can use any time you can't answer a question. You can use your hints at any point in the game.","examplePhrases":["Alexa, buy hints","Alexa, give me a hint"],"keywords":["games"],"customProductPrompts":{"purchasePromptDescription":"{PREMIUM_CONTENT_TITLE} provides you with five hints you can use at any time.","boughtCardDescription":"Use your hints in the {PREMIUM_CONTENT_TITLE} when you don't know an answer by asking Alexa to use a hint."}}},"distributionCountries":["US"],"pricing":{"amazon.com":{"releaseDate":"2018-10-01T01:25Z","defaultPriceListing":{"price":0.99,"currency":"USD"}}},"taxInformation":{"category":"SOFTWARE"}},"privacyAndCompliance":{"locales":{"en-US":{"privacyPolicyUrl":"url-to-privacy-policy"}}},"testingInstructions":"Start a game. When asked a question, ask Alexa for a hint.","purchasableState":"PURCHASABLE"}

Product schema parts

Following are descriptions of the in-skill product schema parts.

Product object

A product contains the following fields.

Field

Description

Type

version

The version indicator.

String. Valid value: 1.0

type

The type of in-skill product.

String. Valid values: CONSUMABLE, ENTITLEMENT, SUBSCRIPTION

referenceName

The canonical name of the in-skill product. This name is used when referring to the product in code.

String 3-50 characters long, with no spaces.

publishingInformation

An object that contains information about how the product is presented to end users, by locale.

When purchasableState is NOT_PURCHASABLE, the product is considered deactivated. In a live skill, customers can no longer purchase the product. However, customers who previously purchased and are entitled to it continue to have access to the product, so your skill should continue to support these users. For a subscription, the existing customers continue to have access to the product for the remainder of the subscription term. A deactivated subscription does not automatically renew.

SubscriptionInformation object

Required for subscriptions only. Describes the billing frequency and trial period length for the subscription.

Field

Description

Type

subscriptionPaymentFrequency

Required for subscriptions only. Indicates how often the customer is billed for the subscription.

String. Valid values: MONTHLY, YEARLY

subscriptionTrialPeriodDays

Required for subscriptions only. Indicates the duration of the trial period, in days.

Integer between 0 and 31, inclusive.

PublishingInformation object for an in-skill product

A publishingInformation object contains the following fields.

Field

Description

Type

locales

A map of locale objects that provide specific information for each supported locale. Currently the only supported locale is en-US.

String. Valid values: INFORMATION_SERVICES, NEWSPAPERS, PERIODICALS, SOFTWARE, STREAMING_RADIO, VIDEO. For more about the meaning of these categories, see Tax category field (developer console).

Publishing information locale

Each publishingInformation object contains a map of locale objects that describe publishing information specific to that locale. Each locale is identified with a 2-letter language code, a hyphen followed by the 2-letter country/region code. Currently the only supported locale is "en-US".

Field

Description

Type

<locale>

2-letter language code, a hyphen followed by the 2-letter country/region code.

String. Valid value: en-US

<locale>.name

The name for the product for this locale. This name is included in purchase confirmation prompts, Alexa app purchasing cards and email receipts.

String 2-50 characters, inclusive.

<locale>.summary

Summary description of the product.

String from 1-160 characters, inclusive.

<locale>.description

A full description explaining the product's functionality and any prerequisites to using it.

String 1-4000 characters, inclusive.

<locale>.smallIconUri

A URI to a 108px x 108 PNG with transparency, which represents the in-skill product. Because the image is rounded when displayed, it is recommended that the image has 75px padding on all sides. You can reuse the small icon associated with your skill, or provide a unique image to represent your in-skill product.

Properly formatted URL string

<locale>.largeIconUri

A URI to a 512 X 512 PNG with transparency, which represents the in-skill product. Because the image is rounded when displayed, it is recommended that the image has 75px padding on all sides. You can reuse the large icon associated with your skill, or provide a unique image to represent your in-skill product.

Properly formatted URL string

<locale>.examplePhrases

List of example phrases that illustrate how users can ask for your product. These phrases must be supported in your voice model.

String list that contains 1-3 entries. Each string in the list can be 2-200 character, inclusive.

<locale>.keywords

Keyword phrases that describe the product offering.

String list that contains 1-30 entries. Each string in the list should be 1-150 characters, inclusive.

<locale>.customProductPrompts

An object that contains prompts and descriptions for this product for this locale.

customProductPrompts object

A customProductPrompts object contains two fields that provide descriptions of your product when a customer makes a purchase. These should be in the language of of the specified locale.

Field

Description

Type

purchasePromptDescription

The description of the product a customer hears when they make a purchase or cancel a subscription. A purchasePromptDescription should:

Include the product name. Use "`{PREMIUM_CONTENT_TITLE}`" as a token for the name field. Do not use "{" or "}" anywhere else in the prompt.

Include what is unique about this product

Be as brief as possible

NOT include any pricing information, as Amazon automatically appends the price in the purchase flow.

Avoid repeating the same phrases customers may have heard in the previous step

Example

DO

The Cave Quest expansion pack includes 5 new adventures with Emerald and her friends.

DON'T

This expansion pack includes 5 new adventures. The Lost Elf, The Fall, The Mysterious Echo, Emerald's New Friend, and The Long Walk Home. Play these stories anytime you'd like. It's $0.99 plus tax. Would you like to buy it?

privacyAndCompliance object

A privacyAndCompliance object contains a map of locale objects, which in turn contains privacy information specific to that locale. Each locale is identified with a 2-letter language code, a hyphen followed by the 2-letter country/region code. Currently the only supported locale is "en-US".
Each locale identified in the publishingInformation object must have an entry in this map, and a valid privacyPolicyUrl for the locale.

Field

Description

Type

<locale>

A language tag that contains the 2-letter language code, a hyphen followed by the 2-letter country/region code.