施設階層管理REST APIリファレンス
施設階層管理REST APIを使用して、施設をフロア、ユニット、ルームの階層として表すことができます。
施設階層の構成要素はユニットです。組織の下に施設を表すユニットを作成し、その下に部屋を表す複数のユニットを作成できます。また、階層のレベルを増やすことも可能です。たとえば、施設ユニットの下に施設のフロアを表すユニットを作成し、各フロアユニットの下に、そのフロアの部屋を表すユニットを追加できます。ユニットを作成する操作では、階層に最大15レベルのユニットを作成して施設を表現することができます。階層が3レベル以上ある施設をコンソールで管理することはできません。複雑な施設を管理する場合は、代わりに施設階層管理APIを使用します。
デフォルトの音楽ステーションプロバイダーなど、ユニットの設定を行うには、ユニット設定REST APIリファレンスを参照してください。
APIエンドポイント
組織が所在する国に応じて、リクエストヘッダーのHostパラメーターを、以下のいずれかのAPIエンドポイントに設定してください。
| 国 | エンドポイント |
|---|---|
|
カナダ、米国 |
|
|
ドイツ、スペイン、フランス、イタリア、英国 |
|
|
日本 |
|
認証
すべてのAPIリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazon(LWA)から取得したアクセストークンが入ります。詳細については、APIアクセスを管理するを参照してください。
操作
施設階層管理APIには、以下の操作が用意されています。
| 操作 | HTTPメソッドとURI |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
ユニットを作成する
物理的な施設、フロア、翼棟、部屋を表すユニットを作成します。
ユニットとは、Alexaシステムと対話する人およびリソースを編成するための管理構造です。ユニットは階層的であり、0個以上の子ユニットを持つことができます。ユニットの親を、そのユニットの子ユニットにすることはできません。
この操作は以下の国で使用できます。
| Healthcare | Hospitality | Senior Living | Core |
|---|---|---|---|
|
米国 |
米国、ドイツ、イタリア、スペイン、日本 |
カナダ、ドイツ、フランス、イタリア、英国、米国、スペイン、日本 |
米国 |
リクエスト
ユニットを作成するには、/v2/unitsリソースに対してPOSTリクエストを実行します。
リクエストパスとリクエストヘッダーの例
POST /v2/units
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
| パラメーター | 指定場所 | 説明 | 型 | 必須 |
|---|---|---|---|---|
|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"name": {
"type": "PLAIN",
"value": {
"text": "Room-100"
}
},
"parentId": "amzn1.alexa.unit.did.1"
}
リクエスト本文のプロパティ
| プロパティ | 説明 | 型 | 必須 |
|---|---|---|---|
|
|
ユニットの名前。 |
|
◯ |
|
|
新しいユニットを作成する親ユニットを識別します。 |
文字列 |
◯ |
応答
正常に完了すると、HTTP 200 OKと共に、新しく作成されたユニットのIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
{
"id": "amzn1.alexa.unit.did.100"
}
応答本文のプロパティ
| プロパティ | 説明 | 型 |
|---|---|---|
|
|
新しいユニットを識別します。 |
文字列 |
HTTPステータスコード
| ステータス | 説明 |
|---|---|
|
|
新しいユニットのIDが応答本文に含まれます。 |
|
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。 |
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
|
リクエストされたリソースが見つかりません。 |
|
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
ユニットを削除する
指定されたユニットを削除します。子ユニットまたは関連付けられたエンドポイントがあるユニットを削除することはできません。
この操作は以下の国で使用できます。
| Healthcare | Hospitality | Senior Living | Core |
|---|---|---|---|
|
米国 |
米国、ドイツ、イタリア、スペイン、日本 |
カナダ、ドイツ、フランス、イタリア、英国、米国、スペイン、日本 |
米国 |
リクエスト
ユニットを削除するには、/v2/unitsリソースに対してDELETEリクエストを実行します。
リクエストパスとリクエストヘッダーの例
DELETE /v2/units/{unitId}
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
| パラメーター | 指定場所 | 説明 | 型 | 必須 |
|---|---|---|---|---|
|
|
パス |
削除するユニットを識別します。 |
文字列 |
◯ |
|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 204 No Contentが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のプロパティ
応答の本文はありません。
HTTPステータスコード
| ステータス | 説明 |
|---|---|
|
|
ユニットが正常に削除されました。 |
|
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
|
リクエストされた |
|
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
ユニットを取得する
指定されたユニットの詳細を取得します。
この操作は以下の国で使用できます。
| Healthcare | Hospitality | Senior Living | Core |
|---|---|---|---|
|
米国 |
米国、ドイツ、イタリア、スペイン、日本 |
カナダ、ドイツ、フランス、イタリア、英国、米国、スペイン、日本 |
米国 |
リクエスト
ユニットを取得するには、/v2/unitsリソースに対してGETリクエストを実行します。
リクエストパスとリクエストヘッダーの例
GET /v2/units/{unitId}
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
| パラメーター | 指定場所 | 説明 | 型 | 必須 |
|---|---|---|---|---|
|
|
パス |
ユニットを識別します。 |
文字列 |
◯ |
|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OKと共に、ユニットの詳細が返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
{
"id": "amzn1.alexa.unit.did.1",
"name": {
"type": "PLAIN",
"value": {
"text": "Room-100"
}
},
"level": 0,
"parentId": null
}
応答本文のプロパティ
| プロパティ | 説明 | 型 |
|---|---|---|
|
|
指定されたユニットを識別します。 |
文字列 |
|
|
ユニットの名前。 |
|
|
|
ルートユニットからのレベル数。 |
整数 |
|
|
指定されたユニットが属している親ユニットを識別します。 |
文字列 |
HTTPステータスコード
| ステータス | 説明 |
|---|---|
|
|
指定されたユニットに関する詳細が応答本文に含まれます。 |
|
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。 |
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
|
リクエストされたリソースが見つかりません。 |
|
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
ユニットのリストを取得する
指定された親ユニットの下にあるユニットのリストを取得します。子ユニットがない場合は、空のリストが返されます。この操作では、呼び出し元からアクセスできるユニットのみが返されます。
この操作は以下の国で使用できます。
| Healthcare | Hospitality | Senior Living | Core |
|---|---|---|---|
|
米国 |
米国、ドイツ、イタリア、スペイン、日本 |
カナダ、ドイツ、フランス、イタリア、英国、米国、スペイン、日本 |
米国 |
リクエスト
ユニットのリストを取得するには、/v2/unitsリソースに対してGETリクエストを実行します。
リクエストパスとリクエストヘッダーの例
GET/v2/units?parentId={parentId}&queryDepth={queryDepth}&expand={expand}&maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
| パラメーター | 指定場所 | 説明 | 型 | 必須 |
|---|---|---|---|---|
|
|
パス |
子ユニットのリストを取得する親ユニットを識別します。 |
文字列 |
◯ |
|
|
クエリ |
取得する子ユニットのレベル数を制御します。
|
文字列 |
× |
|
|
クエリ |
各ユニットに関する詳細情報を取得します。 |
文字列 |
× |
|
|
クエリ |
応答で返される結果の最大数。 |
整数 |
× |
|
|
クエリ |
前回の応答で受け取ったトークン。 |
文字列 |
× |
|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OKと共に、指定された親ユニットの下にあるユニットのリストが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
以下は、親ユニットの1レベル下にあるユニットの詳細を取得するparentId=amzn1.alexa.unit.2&expand=allのクエリパラメーターを含むリクエストへの応答の例です。
以下は、親ユニットの1レベル下にあるユニットを取得するparentId=amzn1.alexa.unit.1のクエリパラメーターを含むリクエストへの応答の例です。リクエストにexpand=allが指定されていないため、level、name、parentIdのプロパティにはnullが返されます。
以下は、queryDepth=allパラメーターを使用して、親ユニットのすべてのユニットを取得するリクエストの例です。このリクエストでは、詳細は取得しません。リクエストにexpand=allが指定されていないため、level、name、parentIdのプロパティにはすべてnullが返されます。
応答本文のプロパティ
リクエストにexpand=allが指定されていない場合、各ユニットの応答にlevel、name、parentIdのプロパティは含まれますが、nullが返されます。
| プロパティ | 説明 | 型 |
|---|---|---|
|
|
指定された親IDの下にあるユニットのリスト。 |
オブジェクトの配列 |
|
|
ユニットを識別します。 |
文字列 |
|
|
ユニットの名前。 |
|
|
|
親ユニットを識別します。 |
文字列 |
|
|
ルートユニットからのレベル数。 |
整数 |
|
|
(オプション)返す結果がほかにもあるかどうかを示します。 |
オブジェクト |
|
|
応答が分割された場合に含まれます。この値は後続のリクエストで使用します。 |
文字列 |
HTTPステータスコード
| ステータス | 説明 |
|---|---|
|
|
指定された親ユニットの下にあるユニットのリストが応答本文に含まれます。 |
|
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。 |
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
|
リクエストされたリソースが見つかりません。 |
|
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
ユニットを更新する
ユニットの名前を更新します。
この操作は以下の国で使用できます。
| Healthcare | Hospitality | Senior Living | Core |
|---|---|---|---|
|
米国 |
米国、ドイツ、イタリア、スペイン、日本 |
カナダ、ドイツ、フランス、イタリア、英国、米国、スペイン、日本 |
米国 |
リクエスト
ユニットを更新するには、/v2/unitsリソースに対してPUTリクエストを実行します。
リクエストパスとリクエストヘッダーの例
PUT /v2/units/{unitId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
| パラメーター | 指定場所 | 説明 | 型 | 必須 |
|---|---|---|---|---|
|
|
パス |
更新するユニットを識別します。 |
文字列 |
◯ |
|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"name": {
"type": "PLAIN",
"value": {
"text": "Room 101A"
}
}
}
リクエスト本文のプロパティ
| プロパティ | 説明 | 型 | 必須 |
|---|---|---|---|
|
|
ユニットの名前。 |
|
◯ |
応答
正常に完了すると、HTTP 204 No Contentが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のプロパティ
応答の本文はありません。
HTTPステータスコード
| ステータス | 説明 |
|---|---|
|
|
ユニットが正常に更新されました。 |
|
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。 |
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
|
リクエストされたリソースが見つかりません。 |
|
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オブジェクトの定義
施設階層管理APIでは、以下のオブジェクトが定義されています。
Errorオブジェクト
Errorオブジェクトは、エラーが発生したときに応答に含まれるエラーのタイプとメッセージを定義します。
以下は、エラータイプとメッセージを含む応答本文の例です。
{
"type": "BAD_REQUEST",
"message": "The request is malformed or is missing any required parameters."
}
| プロパティ | 説明 | 型 |
|---|---|---|
|
|
発生したエラーのタイプ。 |
文字列 |
|
|
読み取り可能なエラーメッセージ。エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。 |
文字列 |
NameValueオブジェクト
NameValueオブジェクトは、オブジェクトの名前のコンテナーです。
以下の表は、オブジェクトのプロパティの定義です。
| プロパティ | 説明 | 型 |
|---|---|---|
|
|
値フィールドの形式。現時点でサポートされる形式は、プレーンテキストのみです。 |
文字列 |
|
|
名前。 |
オブジェクト |
|
|
プレーンテキストで指定された名前。 |
文字列 |
関連トピック
最終更新日: 2025 年 06 月 16 日