Amazon定義済みタスクのリファレンス



Amazon定義済みタスクのリファレンス

Alexaスキルは、Managed Skill ConnectionsかDirect Skill Connectionsのいずれかを使って、Amazonに定義済みタスクをリクエストできます。リクエスタースキルがManaged Skill Connectionsを使用する場合、Amazonはタスクリクエストを実行するプロバイダースキルを選択します。リクエスタースキルがDirect Skill Connectionsを使用する場合、スキルがタスクのプロバイダーを指定します。Skill Connectionsの詳細については、Skill Connectionsとはを参照してください。

Amazon定義済みタスクを実装するプロバイダースキルを作成することもできます。

現時点で、Amazon定義済みタスクの実装を承認されているプロバイダーは次のとおりです。

  • 印刷: Hewlett-Packard、Canon、Epson
  • レストラン予約: OpenTable
  • 配車予約: Uber

Skill Connectionsでサポートされるタスク

Skill Connectionsでは、次のAmazon定義済みタスクがサポートされます。

それぞれのタスクのペイロードに固有のスキーマがあります。

一貫したユーザーエクスペリエンスを提供するため、それぞれのAmazon定義済みタスクには、各タスクの説明と共に、独自の音声デザインガイドラインがあります。これらのガイドラインでは、リクエスタースキル、プロバイダースキル、AlexaがAmazon定義済みタスクのリクエストの実行中に使うプロンプトが指定されています。

AMAZON.PrintImage

リクエスタースキルは、印刷スキルへの画像送信をリクエストできます。写真、塗り絵、パズル、折り紙テンプレートなどの印刷に利用できます。

パラメーター

名前 必須 説明
title 文字列 印刷するファイルのタイトルです。
description × 文字列 ファイルの説明です。
url 文字列 画像のURLです。
imageType 列挙 画像の種類です。次のいずれかになります: JPGJPEG

inputを使った応答の例

{
  "type": "Connections.StartConnection",
  "uri": "connection://AMAZON.PrintImage/1",
  "input": {
         "@type": "PrintImageRequest",
         "@version": "1",
         "title": "フライホイールドキュメント",
         "description": "フライホイール",
         "imageType": "JPEG",
         "url": "http://www.example.com/flywheel.jpeg"
  }
}

音声デザインのガイドライン

この例は、AMAZON.PrintImageタスクで想定されるユーザーエクスペリエンスを表しています。

Alexa(リクエスタースキルの開発者が決定) 今日のクロスワードパズルを利用できます。
Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザー: はい。
Alexa(プロバイダースキルの開発者が決定) 今日のクロスワードパズルを印刷しています。
Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーがプロバイダーを使ったことがない場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザーがプロバイダーを使ったことがある場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?

セッションがプロバイダースキルからリクエスタースキルに戻ることを、Alexaがプロンプトで示します。

Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーが印刷する可能性のあるコンテンツを表示している場合、スキルは以下の項目を含む応答を返す必要があります。

  • ユーザーに、コンテンツが印刷できることを伝えるプロンプト
  • 関連するペイロードのパラメーターを指定したConnections.StartConnectionディレクティブ

AMAZON.PrintPDF

リクエスタースキルは、印刷スキルへのPDFドキュメント送信をリクエストできます。このタスクは、ドキュメント、塗り絵、パズル、折り紙テンプレートの印刷をはじめ、幅広い用途に利用できます。

パラメーター

名前 必須 説明
title 文字列 印刷するファイルのタイトルです。
description × 文字列 PDFファイルの説明です。
url 文字列 PDFファイルの場所です。

inputを使った応答の例

{
 "type": "Connections.StartConnection",
 "uri": "connection://AMAZON.PrintPDF/1",
 "input": {
         "@type": "PrintPDFRequest",
         "@version": "1",
         "title": "タイトル",
         "description": "説明",
         "url": "http://www.example.com/flywheel.pdf"
  }
}

音声デザインのガイドライン

この例は、Amazon.PrintPDFタスクで想定されるユーザーエクスペリエンスを表しています。

Alexa(リクエスタースキルの開発者が決定) 今日のクロスワードパズルを利用できます。
Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザー: はい。
Alexa(プロバイダースキルの開発者が決定) 今日のクロスワードパズルを印刷しています。
Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーがプロバイダーを使ったことがない場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザーがプロバイダーを使ったことがある場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?

セッションがプロバイダースキルからリクエスタースキルに戻ることを、Alexaがプロンプトで示します。

Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーが印刷する可能性のあるコンテンツを表示している場合、スキルは以下の項目を含む応答を返す必要があります。

  • ユーザーに、コンテンツが印刷できることを伝えるプロンプト
  • 関連するペイロードのパラメーターを指定したConnections.StartConnectionディレクティブ

AMAZON.PrintWebPage

リクエスタースキルは、印刷スキルへのウェブページ送信をリクエストできます。このタスクは、ドキュメント、塗り絵、パズル、折り紙テンプレートの印刷をはじめ、幅広い用途に利用できます。

名前 必須 説明
title 文字列 印刷するファイルのタイトルです。
description × 文字列 ウェブページの説明です。
url 文字列 ウェブページの場所です。

inputを使った応答の例

{
 "type": "Connections.StartConnection",
 "uri": "connection://AMAZON.PrintWebPage/1",
 "input": {
       "@type": "PrintWebPageRequest",
       "@version": "1",
       "title": "タイトル",
       "description": "説明",
       "url": "http://www.example.com/flywheel.html"
    }
}

音声デザインのガイドライン

この例は、AMAZON.PrintWebPageタスクで想定されるユーザーエクスペリエンスを表しています。

Alexa(リクエスタースキルの開発者が決定) 今日のクロスワードパズルを利用できます。
Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザー: はい。
Alexa(プロバイダースキルの開発者が決定) 今日のクロスワードパズルを印刷しています。
Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーがプロバイダーを使ったことがない場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザーがプロバイダーを使ったことがある場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?

セッションがプロバイダースキルからリクエスタースキルに戻ることを、Alexaがプロンプトで示します。

Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーが印刷する可能性のあるコンテンツを表示している場合、リクエスタースキルは以下の項目を含む応答を返す必要があります。

  • ユーザーに、コンテンツが印刷できることを伝えるプロンプト
  • 関連するペイロードのパラメーターを指定したConnections.StartConnectionディレクティブ

AMAZON.ScheduleTaxi
Reservation

リクエスタースキルは、ユーザーの配車予約をサポートするようプロバイダースキルにリクエストできます。このタスクを使うと、スキルはユーザーが選んだ方法で配車を予約します。これにより、リクエスタースキルはより便利になり、ユーザーが選んだプロバイダーはビジネスを広げることができます。

名前 必須 説明
partySize × 整数 予約する人数です。
pickupLocation 〇/× PostalAddress dropoffLocationを指定する場合は任意です。ユーザーが乗車したい場所を指定します。
pickupTime × DateTime ユーザーが乗車したい時刻を指定します。
dropoffLocation 〇/× PostalAddress pickupLocationを指定する場合は任意です。ユーザーが降車したい場所を指定します。

PostalAddressのパラメーター

名前 必須 説明
streetAddress 文字列 町名および番地を指定します。
locality 文字列 日本の場合は市区町村を指定します。
region 文字列 日本の場合は都道府県を指定します。
postalCode 文字列 郵便番号を指定します。
country 文字列 国を指定します。

inputを使った応答の例

{
 "type": "Connections.StartConnection", 
 "uri": "connection://AMAZON.ScheduleTaxiReservation/1",
 "input": {
       "@type": "ScheduleTaxiReservationRequest",
       "@version": "1",
       "partySize": 4,
       "pickupLocation": {
           "@type": "PostalAddress",
           "@version": "1",
           "streetAddress": "下目黒1丁目8−1",
           "locality": "目黒区",
           "region": "東京都",
           "postalCode": "1530064",
           "country": "JP"
        },
       "pickupTime": null,
       "dropoffLocation": {
           "@type": "PostalAddress",
           "@version": "v",
           "streetAddress": "上大崎3丁目1−1",
           "locality": "品川区",
           "region": "東京都",
           "postalCode": "1410021",
           "country": "JP"
        }
    }
}

音声デザインのガイドライン

以下のダイアログは、AMAZON.ScheduleTaxiReservationタスクで想定されるユーザーエクスペリエンスを表したものです。

Alexa(リクエスタースキルの開発者が決定) タクシーの予約を完了しました。
Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザー: はい。
Alexa (プロバイダースキルの開発者が決定){ride_fulfilling_skill}
Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーがプロバイダーを使ったことがない場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザーがプロバイダーを使ったことがある場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?

セッションがプロバイダースキルからリクエスタースキルに戻ることを、Alexaがプロンプトで示します。

Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーが何らかのアクションを完了し、開発者がそのアクションは乗り物の手配に関連すると判断した場合、リクエスタースキルは以下の項目を含む応答を返す必要があります。

  • ユーザーに何らかのアクションが完了したことを伝えるプロンプト
  • 関連するinputのパラメーターを指定したConnections.StartConnectionディレクティブ

AMAZON.ScheduleFood
EstablishmentReservation

リクエスタースキルは、ユーザーのレストラン予約をサポートするようプロバイダースキルにリクエストできます。このタスクを使うと、スキルはユーザーが選んだ方法でレストランを予約します。これにより、リクエスタースキルはさらに便利になり、レストランは売上を伸ばすことができます。

名前 必須 説明
startTime × DateTime 予約時刻を指定します。
partySize × 整数 予約する人数です。
restaurant Restaurant 予約するレストランを指定します。

Restaurantのパラメーター

名前 必須 説明
name 文字列 レストランの名前です。
location PostalAddress レストランの住所です。

PostalAddressのパラメーター

名前 必須 説明
streetAddress 文字列 町名および番地を指定します。
locality 文字列 日本の場合は市区町村を指定します。
region 文字列 日本の場合は都道府県を指定します。
postalCode 文字列 郵便番号を指定します。
country 文字列 国を指定します。

inputを使った応答の例

{
 "type": "Connections.StartConnection",
 "uri": "connection://AMAZON.ScheduleFoodEstablishmentReservation/1",
 "input": {
       "@type": "ScheduleFoodEstablishmentReservationRequest",
       "@version": "1",
       "startTime": "2018-04-08T01:15:46Z",
       "partySize": 2,
       "restaurant": {
           "@type": "Restaurant",
           "@version": "1",
           "name": "アマゾンレストラン",
           "location": {
               "@type": "PostalAddress",
               "@version": "1",
               "streetAddress": "下目黒1丁目8−1",
               "locality": "品川区",
               "region": "東京都",
               "postalCode": "1410021",
               "country": "JP"
            }
        }
    }
}

音声デザインのガイドライン

この例は、AMAZON.ScheduleFoodEstablishmentReservationタスクで想定されるユーザーエクスペリエンスを表しています。

Alexa(リクエスタースキルの開発者が決定) この近くなら、Amazon Day 1レストランで流行りのカクテルが楽しめます。
Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザー: はい。
Alexa(プロバイダースキルの開発者が判断){provider_skill}
Alexa(Alexaが制御) {requester_skill_name}に戻ります。

ユーザーがプロバイダーを使ったことがない場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?
ユーザーがプロバイダーを使ったことがある場合 Alexa(Alexaが制御) わかりました。{requester_skill_name}は{provider_skill_name}を使ってリクエストを実行します。{provider_skill_name}にリクエストを送信していいですか?

セッションがプロバイダースキルからリクエスタースキルに戻ることを、Alexaがプロンプトで示します。

Alexa(Alexaが制御) {requester_skill_name}に戻ります。

レストラン情報に関するユーザーの質問に対し、リクエスタースキルがレストラン情報を提供し、レストラン予約のプロバイダースキルに接続する場合、リクエスタースキルは以下の項目を含む応答を返す必要があります。

  • そのレストランについてユーザーに説明するプロンプト
  • 関連するinputのパラメーターを指定したConnections.StartConnectionディレクティブ