プロアクティブサジェスチョンREST APIリファレンス


プロアクティブサジェスチョンREST APIリファレンス

プロアクティブサジェスチョンREST APIを使用すると、Alexa Smart Properties(ASP)の画面付きAlexa搭載デバイスにインタラクティブなコンテンツを表示できます。このAPIにより、施設の運営者は、ブランディング情報などの視覚コンテンツをゲストに表示して、商品とサービス(ハッピーアワーやスパサービスなど)を提供したり、イベント・アップデート・スキルに関する情報を通知したりできます。

開発者は、視覚コンテンツをサジェスチョンとしてAlexaに提供します。Alexaは、このサジェスチョンからコンテンツ項目を選択し、ユーザーのデバイスのホーム画面に表示します。サジェスチョンの視覚エクスペリエンスを作成するには、Alexa Presentation Language(APL)を使用します。

詳細については、プロアクティブサジェスチョンを送信するを参照してください。

APIエンドポイント

組織が所在する国に応じて、リクエストヘッダーのHostパラメーターを、以下のいずれかのAPIエンドポイントに設定してください。

エンドポイント

カナダ、米国

https://api.amazonalexa.com

ドイツ、スペイン、フランス、イタリア、英国

https://api.eu.amazonalexa.com

日本

https://api.fe.amazonalexa.com

認証

すべてのAPIリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazon(LWA)から取得したアクセストークンが入ります。詳細については、APIアクセスを管理するを参照してください。

操作

プロアクティブサジェスチョンAPIには、以下の操作が用意されています。

説明 HTTPメソッドとパス

キャンペーンを作成する

POST /v1/proactive/campaigns

キャンペーンを削除する

DELETE /v1/proactive/campaigns/{campaignId}

キャンペーンを取得する

GET /v1/proactive/campaigns/{campaignId}

キャンペーンのリストを取得する

GET /v1/proactive/campaigns?maxResults={maxResults}&nextToken={nextToken}

キャンペーンを照会する

POST /v1/proactive/campaigns/query

キャンペーンを作成する

ターゲット受信者へのサジェスチョンとしてコンテンツをレンダリングするキャンペーンを作成します。

この操作は以下の国で使用できます。

Healthcare Hospitality Senior Living Core

米国

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国

リクエスト

キャンペーンを作成するには、/v1/proactive/campaignsリソースに対してPOSTリクエストを実行します。

リクエストパスとリクエストヘッダーの例

クリップボードにコピーされました。

POST /v1/proactive/campaigns HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエスト本文には、サジェスチョンをその受信者およびスケジュールの詳細と共にカプセル化する、キャンペーンエンティティが含まれます。以下の例は、キャンペーンエンティティを示しています。

以下は、キャンペーンのリクエスト本文の例です。この例は、英語(米国)のデバイスではen-USのコンテンツを表示し、日本語のデバイスではja-JPのコンテンツを表示します。デバイスには、ロケールごとに常に1つのキャンペーンのみが表示されます。

リクエスト本文のプロパティ

プロパティ 説明 必須

suggestion

Alexaがユーザーにプロアクティブに配信できる情報。

オブジェクト

suggestion.variants[]

ユーザーに提供するサジェスチョンバリアントのリスト。リストには1つ以上のバリアントが含まれている必要があります。配信先チャネルごとに最大1つのバリアントを提供できます。

オブジェクトの配列

results[].suggestion.variants[].placement

コンテンツをレンダリングする場所を指定します。

Placementオブジェクト

suggestion.variants[].content

レンダリングするプレゼンテーションデータ。

Contentオブジェクト

targeting

キャンペーンの受信者を定義します。

Targetオブジェクト

scheduling

キャンペーンを有効にするスケジュールを定義します。
デフォルトでは、 開始時刻は現在の時刻、終了時刻は現在の時刻の24時間後になります。

Schedulingオブジェクト

×

応答

正常に完了すると、HTTP 202 Acceptedと共に、キャンペーンIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。応答には、問題が発生したときにAmazonでトラブルシューティングに使用される、X-Amzn-RequestIdという一意の文字列識別子も含まれています。

応答本文の例

{
    "campaignId": "campaign.id.1"
}

応答本文のプロパティ

プロパティ 説明

campaignId

キャンペーンを識別します。
キャンペーンを削除するときやキャンペーンを取得するときは、このIDを使用します。

文字列

HTTPステータスコード

ステータス 説明

202 Accepted

キャンペーンが正常に作成されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

キャンペーンを削除する

アクティブなキャンペーンを削除します。

この操作は以下の国で使用できます。

Healthcare Hospitality Senior Living Core

米国

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国

リクエスト

キャンペーンを削除するには、/v1/proactive/campaignsリソースに対してDELETEリクエストを実行します。

リクエストパスとリクエストヘッダーの例

クリップボードにコピーされました。

DELETE /v1/proactive/campaigns/{campaignId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

campaignId

パス

削除するキャンペーンを識別します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、HTTP 202 Acceptedが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。応答には、問題が発生したときにAmazonでトラブルシューティングに使用される、X-Amzn-RequestIdという一意の文字列識別子も含まれています。

応答本文の例

応答の本文はありません。

応答本文のプロパティ

応答の本文はありません。

HTTPステータスコード

ステータス 説明

202 Accepted

キャンペーンが正常に削除されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

キャンペーンを取得する

作成したアクティブなキャンペーンを取得します。この操作では、有効期限が切れたキャンペーンは返されません。

この操作は以下の国で使用できます。

Healthcare Hospitality Senior Living Core

米国

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国

リクエスト

キャンペーンを取得するには、/v1/proactive/campaignsリソースに対してGETリクエストを実行します。

リクエストパスとリクエストヘッダーの例

クリップボードにコピーされました。

GET /v1/proactive/campaigns/{campaignId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

campaignId

パス

キャンペーンを識別します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、HTTP 200 OKと共に、指定したキャンペーンが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。応答には、問題が発生したときにAmazonでトラブルシューティングに使用される、X-Amzn-RequestIdという一意の文字列識別子も含まれています。

応答本文の例

応答本文のプロパティ

プロパティ 説明

campaignId

キャンペーンを識別します。

文字列

suggestion

Alexaがユーザーにプロアクティブに配信できる情報。

オブジェクト

suggestion.variants[]

ユーザーに提供するサジェスチョンバリアントのリスト。リストには1つ以上のバリアントが含まれている必要があります。配信先チャネルごとに最大1つのバリアントを提供できます。

オブジェクトの配列

results[].suggestion.variants[].placement

コンテンツをレンダリングする場所を指定します。

Placementオブジェクト

suggestion.variants[].content

レンダリングするプレゼンテーションデータ。

Contentオブジェクト

targeting

キャンペーンの受信者を定義します。

Targetオブジェクト

scheduling

キャンペーンを有効にするスケジュールを定義します。
デフォルトでは、 開始時刻は現在の時刻、終了時刻は現在の時刻の24時間後になります。

Schedulingオブジェクト

validationStatus

キャンペーンの最新ステータス。

オブジェクト

validationStatus.value

キャンペーンの検証ステータス。
有効な値は IN_PROGRESSAPPROVEDREJECTEDです。

文字列

validationStatus.reason

検証ステータスの値の説明(該当する場合)。

文字列

HTTP応答コード

ステータス 説明

200 OK

指定されたキャンペーンの詳細が応答本文に含まれます。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

キャンペーンのリストを取得する

作成したキャンペーンのリストを取得します。

この操作は以下の国で使用できます。

Healthcare Hospitality Senior Living Core

米国

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本

米国

リクエスト

キャンペーンのリストを取得するには、/v1/proactive/campaignsリソースに対してGETリクエストを実行します。

リクエストパスとリクエストヘッダーの例

クリップボードにコピーされました。

GET /v1/proactive/campaigns?maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

maxResults

クエリ

応答で返される結果の最大数。
有効な値は 1~10です。デフォルト値は 10です。

整数

×

nextToken

クエリ

前回の応答で受け取ったトークン。
ページ分割された応答の反復処理を行う場合に含めます。

文字列

×

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、HTTP 200 OKと共に、キャンペーンのリストが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。応答には、問題が発生したときにAmazonでトラブルシューティングに使用される、X-Amzn-RequestIdという一意の文字列識別子も含まれています。

応答本文の形式

応答本文のプロパティ

プロパティ 説明

results[]

作成したキャンペーンのリストと、各キャンペーンの検証ステータス。

オブジェクトの配列

results[].campaignId

キャンペーンを識別します。

文字列

results[].suggestion

Alexaがユーザーにプロアクティブに配信できる情報。

オブジェクト

results[].suggestion.variants[]

ユーザーに提供するサジェスチョンのリスト。リストには1つ以上のバリアントが含まれている必要があります。

オブジェクトの配列

results[].suggestion.variants[].placement

コンテンツをレンダリングする場所を指定します。

Placementオブジェクト

results[].suggestion.variants[].content

レンダリングするプレゼンテーションデータ。

Contentオブジェクト

results[].targeting

キャンペーンの受信者を定義します。

Targetオブジェクト

results[].scheduling

キャンペーンを有効にするスケジュールを定義します。
デフォルト値は 現在の時刻から24時間後です。

Schedulingオブジェクト

results[].validationStatus

キャンペーンの最新ステータス。

オブジェクト

results[].validationStatus.value

キャンペーンの検証ステータス。
有効な値は IN_PROGRESSAPPROVEDREJECTEDです。

文字列

results[].validationStatus.reason

検証ステータスの値の説明(該当する場合)。

文字列

paginationContext

ページ分割情報を含むオブジェクト。ページ分割された応答の反復処理を行う場合に含まれます。存在しない場合は、すべての結果が既に返されています。

オブジェクト

paginationContext.nextToken

次に返されるキャンペーンのセットを識別します。次回のキャンペーンのリストを取得する呼び出しで使用します。

文字列

HTTP応答コード

ステータス 説明

200 OK

指定されたキャンペーンの詳細が応答本文に含まれます。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

キャンペーンを照会する

ユニットのリストに対するキャンペーンを照会します。

この操作は以下の国で使用できます。

Healthcare Hospitality Senior Living Core

米国

米国、英国、フランス、カナダ、イタリア、ドイツ、日本

米国、英国、フランス、カナダ、イタリア、ドイツ、日本

米国

リクエスト

キャンペーンを照会するには、/v1/proactive/campaigns/queryリソースに対してGETリクエストを実行します。

リクエストパスとリクエストヘッダーの例

クリップボードにコピーされました。

POST /v1/proactive/campaigns/query HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

以下のクエリは、ユニット101または102のアクティブなキャンペーンを返します。

クリップボードにコピーされました。

{
    "query": {
        "and": [{
                "or": [{
                        "match": {
                            "targeting.values.id": "101"
                        }
                    },
                    {
                        "match": {
                            "targeting.values.id": "102"
                        }
                    }
                ]
            },
            {
                "match": {
                    "targeting.type": "UNITS"
                }
            }
        ]
    },
    "paginationContext": {
        "maxResults": 10,
        "nextToken": "someToken.1"
    }
}

リクエスト本文のプロパティ

プロパティ 説明 必須

query

サジェスチョンのフィルタリング条件。
andプロパティとorプロパティのいずれかを含めます。

クエリは以下のルールに従う必要があります。

  • クエリは、リクエスト本文の例に示す構造に合致する必要があります。
  • クエリには、and演算を1つ含めることができます。
  • 使用できる条件はmatchのみです。
  • query.andは、2つの項目を含むリストです。
  • query.and.orは、1~100個の項目を含むリストです。
  • 使用可能なフィールドはtargeting.values.idのみです。
  • targeting.typeの値はUNITSである必要があります。

オブジェクト

query.and

論理AND演算を使用して適用するフィルタリング条件のリスト。別のandまたはorフィルタリング条件のリストを含めることもできます。
これらの条件は、JSONをドット演算子でフラット化したものです。
例:{"and": [{"DSN": "DSN1234"}, {"UnitId": "Unit1234"}]}

文字列の配列

×

query.or

論理OR演算を使用して適用するフィルタリング条件のリスト。別のandまたはorフィルタリング条件のリストを含めることもできます。
これらの条件は、JSONをドット演算子でフラット化したものです。
例:{"or": [{"DSN": "DSN1234"}, {"DSN": "DSN5678"}]}

文字列の配列

×

paginationContext

ページ分割情報。ページ分割された応答の反復処理を行う場合に含めます。省略すると、応答には結果の最初のページが含まれます。

オブジェクト

×

paginationContext.maxResults

応答で返される結果の最大数。
有効な値は 1~100です。デフォルト値は 10です。

整数

×

paginationContext.nextToken

取得するキャンペーンのセットを識別します。ページ分割された応答の反復処理を行う場合に含めます。それ以外の場合はnullに設定します。

文字列

×

応答

正常に完了すると、HTTP 200 OKと共に、フィルタリングされたキャンペーンのリストが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。応答には、問題が発生したときにAmazonでトラブルシューティングに使用される、X-Amzn-RequestIdという一意の文字列識別子も含まれています。

応答本文の例

応答本文のプロパティ

プロパティ 説明

results[]

作成したキャンペーンのリストと、各キャンペーンの検証ステータス。

オブジェクトの配列

results[].campaignId

キャンペーンを識別します。

文字列

results[].suggestion

Alexaがユーザーにプロアクティブに配信できる情報。

オブジェクト

results[].suggestion.variants[]

ユーザーに提供するサジェスチョンのリスト。リストには1つ以上のバリアントが含まれている必要があります。

オブジェクトの配列

results[].suggestion.variants[].placement

コンテンツをレンダリングする場所を指定します。

Placementオブジェクト

results[].suggestion.variants[].content

レンダリングするプレゼンテーションデータ。

Contentオブジェクト

results[].targeting

キャンペーンの受信者を定義します。

Targetオブジェクト

results[].scheduling

キャンペーンを有効にするスケジュールを定義します。
デフォルト値は 現在の時刻から24時間後です。

Schedulingオブジェクト

results[].validationStatus

キャンペーンの最新ステータス。

オブジェクト

results[].validationStatus.value

キャンペーンの検証ステータス。
有効な値は IN_PROGRESSAPPROVEDREJECTEDです。

文字列

results[].validationStatus.reason

検証ステータスの値の説明(該当する場合)。

文字列

paginationContext

ページ分割情報を含むオブジェクト。ページ分割された応答の反復処理を行う場合に含まれます。存在しない場合は、すべての結果が既に返されています。

オブジェクト

paginationContext.nextToken

次に返されるキャンペーンのセットを識別します。次回のキャンペーンのリストを取得する呼び出しで使用します。

文字列

HTTPステータスコード

ステータス 説明

200 OK

指定されたキャンペーンの詳細が応答本文に含まれます。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

キャンペーンテンプレート

画面付きAlexa搭載デバイスのホーム画面にカードを追加するには、ユニットのリストを対象とするキャンペーンを作成します。テンプレート名は、キャンペーンを作成するリクエスト本文のsuggestion.variants[].content.values[].document.srcプロパティに指定します。その後、テンプレートに応じたプロパティをsuggestion.variants[].content.values[].datasourcesプロパティに設定します。

次のキャンペーンテンプレートから選択できます。

背景画像について

各テンプレートには、background.backgroundImageSourceプロパティを使用して背景画像を指定できます。テンプレートでは、画面全体に表示されるように画像のサイズが均一に拡大または縮小されます(「best-fill」)。その結果、画像のアスペクト比とデバイス画面のアスペクト比が一致しない場合は、画像の一部が切り取られることがあります。

画像を適切に表示するには、以下の推奨事項を考慮してください。

  • 画像の端までテキストがある画像は使用しないでください。画像のサイズ調整によって、テキストが切り詰められる可能性があります。
  • 可能であれば、ユニットで使用されているものと同じタイプのデバイスで、画像をテストしてください。
  • 別々のユニットに異なるデバイスが含まれている場合は、デバイスに合わせて画像を最適化できるように、異なるプロアクティブキャンペーンを使用して個々のユニットをターゲットにすることを検討してください。この方法は、同一のユニット内ですべてのデバイスのアスペクト比が同じである場合に有効です。

PNGまたはJPG形式の画像を指定できます。画像ファイルのサイズは400KB以内にする必要があります。

テキスト折り返し

テキスト折り返しテンプレートは、背景画像の上にテキストを表示します。このテンプレートでは、スキルを起動するボタンを含めることもできます。

テンプレート名:doc://alexa/apl/documents/home/cards/textWrapping

このテンプレートを使用するには、suggestion.variants[].content.values[].datasourcesオブジェクトに以下のプロパティを設定します。

プロパティ名 説明 必須

attribution.attributionImageSource

表示するアトリビューション画像のURL。attributionImageSourceattributionTextはどちらか一方を指定し、両方は指定しないでください。

文字列

×

attribution.attributionText

ほかのテキストフィールドの下に表示されるアトリビューションテキスト。attributionTextattributionImageSourceはどちらか一方を指定し、両方は指定しないでください。
最大文字数は 35文字です。

文字列

×

background.backgroundImageSource

背景画像のURL。画像を選択する際は、背景画像についての推奨事項を参照してください。

文字列

×

displayText.headerText

ほかのすべてのテキストフィールドの前に表示されるヘッダーテキスト。
最大文字数は 80文字です。

文字列

×

displayText.hintText

画面下部に表示されるヒントテキスト。
最大文字数は 60文字です。

文字列

×

displayText.primaryText

表示する第1テキスト。このテキストは、ほかのテキストよりも大きいフォントで表示されます。
最大文字数は 60文字です。

文字列

displayText.secondaryText

第1テキストの下に小さいフォントで表示される第2テキスト。
最大文字数は 80文字です。

文字列

×

displayText.tertiaryText

第2テキストの横に表示される第3テキスト。
最大文字数は 25文字です。

文字列

×

displayText.playbackEnabled

trueの場合、第1テキストの前に「再生」ボタンが表示されます。ユーザーがボタンをタップすると、指定したactionが実行されます。

ブール値

×

displayText.callToActionButtonText

設定すると、指定したラベルの付いたアクションボタンがテキストの下に表示されます。ユーザーがボタンをタップすると、指定したactionが実行されます。
最大文字数は 35文字です。

文字列

×

displayText.action

ユーザーが再生ボタンまたはアクションボタンをタップしたときに実行するアクションを定義します。

オブジェクト

displayText.action.type

アクションのタイプ。
有効な値: SkillConnection

文字列

displayText.action.uri

カードに関連付けるスキルのURI。
connection://AMAZON.ColdLaunch/1?provider=<スキルID>という形式で指定します。
例:connection://AMAZON.ColdLaunch/1?provider=amzn1.ask.skill.12345

文字列

メディア

メディアテンプレートは、テキストの横に大きいサムネイル画像を表示します。

テンプレート名:doc://alexa/apl/documents/home/cards/media

このテンプレートを使用するには、suggestion.variants[].content.values[].datasourcesオブジェクトに以下のプロパティを設定します。

プロパティ名 説明 必須

attribution.attributionImageSource

表示するアトリビューション画像のURL。attributionImageSourceattributionTextはどちらか一方を指定し、両方は指定しないでください。

文字列

×

attribution.attributionText

ほかのテキストフィールドの下に表示されるアトリビューションテキスト。attributionTextattributionImageSourceはどちらか一方を指定し、両方は指定しないでください。
最大文字数は 35文字です。

文字列

×

background.backgroundImageSource

背景画像のURL。画像を選択する際は、背景画像についての推奨事項を参照してください。

文字列

×

displayText.headerText

ほかのすべてのテキストフィールドの前に表示されるヘッダーテキスト。
最大文字数は 40文字です。

文字列

×

displayText.hintText

画面下部に表示されるヒントテキスト。
最大文字数は 35文字です。

文字列

×

displayText.primaryText

表示する第1テキスト。このテキストは、ほかのテキストよりも大きいフォントで表示されます。
最大文字数は 40文字です。

文字列

displayText.secondaryText

第1テキストの下に小さいフォントで表示される第2テキスト。
最大文字数は 25文字です。

文字列

×

displayText.tertiaryText

第2テキストの横に表示される第3テキスト。
最大文字数は 25文字です。

文字列

×

thumbnail.thumbnailImageSource

テキストフィールドの横に表示する画像のサムネイルのURL。

文字列

×

レーティング

レーティングテンプレートは、テキストを星評価と共に表示します。

テンプレート名:doc://alexa/apl/documents/home/cards/rating

このテンプレートを使用するには、suggestion.variants[].content.values[].datasourcesオブジェクトに以下のプロパティを設定します。

プロパティ名 説明 必須

background.backgroundImageSource

背景画像のURL。画像を選択する際は、背景画像についての推奨事項を参照してください。

文字列

×

displayText.headerText

ほかのすべてのテキストフィールドの前に表示されるヘッダーテキスト。
最大文字数は 60文字です。

文字列

×

displayText.hintText

画面下部に表示されるヒントテキスト。
最大文字数は 35文字です。

文字列

×

displayText.primaryText

表示する第1テキスト。このテキストは、ほかのテキストよりも大きいフォントで表示されます。
最大文字数は 60文字です。

文字列

displayText.ratingNumber

レーティングを表す星の数。レーティングの数値は1~5の範囲で指定でき、3.5のように半分の星を含めることもできます。

1~5の数値

displayText.ratingText

星評価のコンテキストを表す短いテキスト。
最大文字数は 8文字です。

文字列

thumbnail.thumbnailImageSource

表示する画像のサムネイルのURL。

文字列

×

あなたの1日

あなたの1日テンプレートは、ヒントテキストとサムネイル画像から成る項目を3つまで表示します。ユーザーが項目をタップしたときに実行するアクションを定義できます。

このテンプレートで表示される項目の数は、デバイスのサイズによって異なります。たとえば、Echo Show 15では3つの項目がすべて表示され、Echo Show 8では最初の2つの項目が表示されます。Echo Show 5などの小型デバイスでは1つの項目だけが表示されます。

テンプレート名:doc://alexa/apl/documents/home/cards/suggestedActions

このテンプレートを使用するには、suggestion.variants[].content.values[].datasourcesオブジェクトに以下のプロパティを設定します。

プロパティ名 説明 必須

background.backgroundImageSource

背景画像のURL。画像を選択する際は、背景画像についての推奨事項を参照してください。

文字列

×

displayText.headerText

ほかのすべてのテキストフィールドの前に表示されるヘッダーテキスト。
最大文字数は 60文字です。

文字列

×

displayText.listItems

表示する最大3つのリスト項目オブジェクトの配列。

オブジェクトの配列

×

displayText.listItems[].hintText

項目に表示するテキスト。
最大文字数は 80文字です。

文字列

×

displayText.listItems[].thumbnailSource

hintTextの前に表示する画像のサムネイルのURL。

文字列

×

displayText.action

ユーザーが画面上のリスト項目をタップしたときに実行するアクションを定義します。
すべてのリスト項目に使用するアクションを1つ定義できます。

オブジェクト

displayText.action.type

アクションのタイプ。
有効な値: SkillConnection

文字列

displayText.action.uri

カードに関連付けるスキルのURI。
connection://AMAZON.ColdLaunch/1?provider=<スキルID>という形式で指定します。
例:connection://AMAZON.ColdLaunch/1?provider=amzn1.ask.skill.12345

文字列

displayText.action.input

スキルに渡すデータ。この機能はサポートされていないため、このプロパティは空のオブジェクト{}に設定してください。

オブジェクト

この日

この日テンプレートは、写真と短いテキストを全画面に表示します。

テンプレート名:doc://alexa/apl/documents/home/cards/primePhoto

このテンプレートを使用するには、suggestion.variants[].content.values[].datasourcesオブジェクトに以下のプロパティを設定します。

プロパティ名 説明 必須

background.backgroundImageSource

表示する画像のURL。画像を選択する際は、背景画像についての推奨事項を参照してください。

文字列

×

displayText.headerText

ほかのすべてのテキストフィールドの前に表示されるヘッダーテキスト。
最大文字数は 60文字です。

文字列

×

displayText.hintText

画面下部に表示されるヒントテキスト。
最大文字数は 35文字です。

文字列

×

displayText.primaryText

ヘッダーの後に表示する第1テキスト。
最大文字数は 60文字です。

文字列

displayText.action

ユーザーが画面上の任意の場所をタップしたときに実行するアクションを定義します。

オブジェクト

displayText.action.type

アクションのタイプ。
有効な値: SkillConnection

文字列

displayText.action.uri

カードに関連付けるスキルのURI。
connection://AMAZON.ColdLaunch/1?provider=<スキルID>という形式で指定します。
例:connection://AMAZON.ColdLaunch/1?provider=amzn1.ask.skill.12345

文字列

displayText.action.input

スキルに渡すデータ。この機能はサポートされていないため、このプロパティは空のオブジェクト{}に設定してください。

オブジェクト

写真カード

写真カードテンプレートは、写真と短い第1テキストおよび第2テキストを全画面に表示します。

テンプレート名:doc://alexa/apl/documents/home/cards/selectedPhoto

このテンプレートを使用するには、suggestion.variants[].content.values[].datasourcesオブジェクトに以下のプロパティを設定します。

プロパティ名 説明 必須

background.backgroundImageSource

表示する画像のURL。画像を選択する際は、背景画像についての推奨事項を参照してください。

文字列

×

displayText.hintText

画面下部に表示されるヒントテキスト。
最大文字数は 35文字です。

文字列

×

displayText.primaryText

表示する第1テキスト。やや大きいフォントで表示されます。
最大文字数は 60文字です。

文字列

displayText.secondaryText

第1テキストの下に表示する第2テキスト。
最大文字数は 80文字です。

文字列

displayText.action

ユーザーが画面上の任意の場所をタップしたときに実行するアクションを定義します。

オブジェクト

displayText.action.type

アクションのタイプ。
有効な値: SkillConnection

文字列

displayText.action.uri

カードに関連付けるスキルのURI。
connection://AMAZON.ColdLaunch/1?provider=<スキルID>という形式で指定します。
例:connection://AMAZON.ColdLaunch/1?provider=amzn1.ask.skill.12345

文字列

displayText.action.input

スキルに渡すデータ。この機能はサポートされていないため、このプロパティは空のオブジェクト{}に設定してください。

オブジェクト

オブジェクトの定義

プロアクティブサジェスチョンAPIでは、以下のオブジェクトが定義されています。

Contentオブジェクト

Contentオブジェクトは、キャンペーン用にレンダリングするプレゼンテーションデータをカプセル化します。

プロパティ 説明 必須

values[]

デフォルトのコンテンツタイプに固有のローカライズされたプレゼンテーションデータのリスト。少なくとも1つのローカライズされたプレゼンテーションデータ要素を提供する必要があります。各ロケールに対応するために、この配列には複数のオブジェクトを含めることができます。ただし、1つのロケールに複数のオブジェクトを定義することはできません。デバイスでは、そのデバイスのロケールに一致する最初のオブジェクトが表示されます。

オブジェクトのリスト

values[].locale

コンテンツをレンダリングするロケール。ロケールには言語と国/地域の両方を含める必要があります。たとえば、ja-JPのようにします。
IETF BCP 47形式で指定します。

文字列

values[].document

レンダリングするAPLドキュメントへのリンク。
詳細については、RenderDocumentでリンクドキュメントを使用するを参照してください。
すべてのAPL機能がサポートされるわけではありません。

オブジェクト

values[].document.type

APLドキュメントのタイプ。
有効な値は Linkです。

文字列

values[].document.src

APLドキュメントのリンク。
使用するテンプレートに応じて、このプロパティを次の特定のドキュメントリンクに設定します。

  • テキスト折り返し - doc://alexa/apl/documents/home/cards/textWrapping
  • メディアサムネイル - doc://alexa/apl/documents/home/cards/media
  • レーティング - doc://alexa/apl/documents/home/cards/rating
  • あなたの1日 - doc://alexa/apl/documents/home/cards/suggestedActions
  • この日 - doc://alexa/apl/documents/home/cards/primePhoto
  • 写真カード - doc://alexa/apl/documents/home/cards/selectedPhoto

文字列

values[].datasources

APLドキュメントにデータをバインドするために使用します。指定する固有のフィールドは、document.srcプロパティに設定したテンプレートによって異なります。詳細については、以下のテンプレートリンクを参照してください。

データソースオブジェクトのマップ

values[].datasources.displayText.title

ドキュメントのタイトルフィールドにレンダリングされるテキスト。
このテキストは、Alexaによってホーム画面上に大きいフォントで表示されます。
有効な値は 最大25文字です。

文字列

×

values[].datasources.displayText.body

ドキュメントの本文フィールドにレンダリングされるテキスト。
このテキストは、Alexaによってホーム画面上のタイトルの下に、タイトルよりも小さいフォントで表示されます。
有効な値は 最大60文字です。

文字列

×

Errorオブジェクト

Errorオブジェクトは、エラーが発生したときに応答に含まれるエラーのタイプとメッセージを定義します。

以下は、エラータイプとメッセージを含む応答本文の例です。

{
    "type": "BAD_REQUEST",
    "message": "The request is malformed or is missing any required parameters."
}
プロパティ 説明

type

発生したエラーのタイプ。
具体的なエラータイプについては、各操作のHTTPステータスコードの表を参照してください。

文字列

message

読み取り可能なエラーメッセージ。エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。

文字列

Placementオブジェクト

Placementオブジェクトは、画面上でサジェスチョンをレンダリングする場所を定義します。

プロパティ 説明 必須

channel

チャネルの名前。
現在、サジェスチョンはAlexaマルチモーダルデバイスのホーム画面に表示できます。
有効な値: HOMEです。

文字列

Schedulingオブジェクト

Schedulingオブジェクトは、キャンペーンをアクティブにするスケジュールを定義します。

プロパティ 説明 必須

activationWindow

キャンペーンがアクティブになる期間を指定します。リクエストに含まれていない場合、Alexaはデフォルト値を使用します。

オブジェクト

×

activationWindow.start

アクティブ期間の開始時刻。
ISO 8601の形式(YYYY-MM-DDThh:mm:ssZ)で定義されます。
デフォルト値は 現在の時刻です。

文字列

×

activationWindow.end

アクティブ期間の終了時刻。
ISO 8601の形式(YYYY-MM-DDThh:mm:ssZ)で定義されます。
デフォルト値は 現在の時刻から24時間後です。

文字列

×

Targetオブジェクト

Targetオブジェクトは、キャンペーンのターゲットとなるユニットを定義します。

フィールド 説明 必須

type

ターゲットのタイプに適用する条件。
有効な値: UNITSです。

文字列

values[]

キャンペーンのターゲットとなるルームのリスト。このリストには、最大100個のユニットIDを含めることができます。

文字列の配列

values[].id

ユニットを識別します。
amzn1.alexa.unit.did.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列


このページは役に立ちましたか?

最終更新日: 2025 年 06 月 16 日