検出セッションREST APIリファレンス
検出セッションAPIを使用すると、ユニットに関連付けられているエンドポイントを探すことができます。検出セッションを作成すると、Alexaは、スマートホームスキルを介して接続されたエンドポイントなど、新しいエンドポイントや更新されたエンドポイントを探すよう指示されます。
APIエンドポイント
組織が所在する国に応じて、リクエストヘッダーのHost
パラメーターを、以下のいずれかのAPIエンドポイントに設定してください。
国 | エンドポイント |
---|---|
カナダ、米国 |
|
ドイツ、スペイン、フランス、イタリア、英国 |
|
日本 |
|
認証
すべてのAPIリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazon(LWA)から取得したアクセストークンが入ります。詳細については、APIアクセスを管理するを参照してください。
操作
検出セッションAPIには、以下の操作が用意されています。
操作 | HTTPメソッドとURI |
---|---|
| |
|
検出セッションを作成する
検出セッションを作成して、ユニットに割り当てられているエンドポイントを探します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
検出セッションを作成するには、/v1/discoverySessions
リソースに対してPOST
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
POST /v1/discoverySessions?unit={unitId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
クエリ |
ユニットの一意のID。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"endpointReporter": {
"type": "SKILL",
"value": {
"skillId": "amzn1.ask.skill.skillId",
"skillStage": "live"
}
}
}
リクエスト本文のプロパティ
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
Alexaにエンドポイント情報を報告するエンティティ。 |
オブジェクト |
◯ |
|
レポーターのタイプ。 |
文字列 |
◯ |
|
新しい検出セッションのエンドポイントレポーターを表します。 |
オブジェクト |
◯ |
|
スキルID。 |
文字列 |
◯ |
|
(任意)スキルのステージ。 |
文字列 |
✕ |
応答
正常に完了すると、HTTP 201 Created
と共に、検出セッションのIDが返されます。応答ヘッダーには、セッションのURLの場所に設定されたLocation
パラメーター(/v1/discoverySessions/amzn1.alexa.discoverySession.1
など)が含まれます。このURLを使用してセッションのステータスを確認できます。URLの有効期限は1時間です。
エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
以下は、応答の例です。
{
"id": "amzn1.alexa.discoverySession.1"
}
応答本文のプロパティ
プロパティ | 説明 | 型 |
---|---|---|
|
検出セッションを識別します。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
検出セッションが正常に作成されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
検出セッションステータスを取得する
指定された検出セッションのステータスを取得します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
ステータスを取得するには、/v1/discoverySessions/
リソースに対してGET
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
GET /v1/discoverySessions/{id} HTTP/1.1
Host: api.amazonalexa.com
Authorization: Bearer {access token}
Accept: application/json
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
クエリ |
セッションの一意のID。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OK
と共に、セッションのステータスが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
{
"status": {
"value": "IN_PROGRESS"
}
}
応答本文のプロパティ
プロパティ | 説明 | 型 |
---|---|---|
|
検出セッションの現在のステータス。 |
オブジェクト |
|
ステータスの値。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
指定された検出セッションのステータスが応答本文に含まれます。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オブジェクトの定義
検出セッションAPIでは、以下のオブジェクト定義が定義されています。
Errorオブジェクト
Error
オブジェクトは、エラーが発生したときに応答に含まれるエラーのタイプとメッセージを定義します。
以下は、エラータイプとメッセージを含む応答本文の例です。
{
"type": "BAD_REQUEST",
"message": "The request is malformed or is missing any required parameters."
}
プロパティ | 説明 | 型 |
---|---|---|
|
発生したエラーのタイプ。 |
文字列 |
|
エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。 |
文字列 |
関連トピック
- エンドポイントREST APIリファレンス
- Alexa Smart Properties APIで開発を始める
- Alexa Smart Properties REST APIリファレンス
- Alexa Smart Propertiesについて
最終更新日: 2024 年 11 月 18 日