デバイスグループ管理REST APIリファレンス
デバイスグループ管理REST APIを使用すると、ユニットにデバイスのグループを作成できます。
デバイスグループは、そのグループのメンバーであるAlexa搭載デバイスに話しかけることでユーザーがまとめて制御できるスマートホームデバイスのグループを表します。ターゲット設定には、暗黙の設定と明示的な設定があります。明示的なターゲット設定は、「アレクサ、リビングの照明をつけて」のように、ユーザーがデバイスグループ名を指定した場合になされます。 暗黙のターゲット設定は、ユーザーがグループ名を指定しなかった場合になされます。たとえば、デバイスグループに含まれているAlexa搭載デバイスにユーザーが「アレクサ、照明をつけて」と話しかけた場合、Alexaはそのグループに属するすべての照明をつけます。デバイスグループに属するデバイスは概して同じ物理空間内に存在します。ただし、これは必須ではありません。
APIエンドポイント
組織が所在する国に応じて、リクエストヘッダーのHost
パラメーターを、以下のいずれかのAPIエンドポイントに設定してください。
国 | エンドポイント |
---|---|
カナダ、米国 |
|
ドイツ、スペイン、フランス、イタリア、英国 |
|
日本 |
|
認証
すべてのAPIリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazon(LWA)から取得したアクセストークンが入ります。詳細については、APIアクセスを管理するを参照してください。
操作
デバイスグループAPIには、以下の操作が用意されています。
操作 | HTTPメソッドとURI |
---|---|
| |
| |
| |
| |
| |
|
デバイスグループにデバイスを追加する
既存のデバイスグループにデバイスを追加します。一度に追加できるデバイスは1つだけです。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
デバイスを追加するには、/v1/deviceGroups
リソースに対してPOST
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
POST /v1/deviceGroups/{id}/memberDevices HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
既存のデバイスグループを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"memberDevice": {
"id": "amzn1.alexa.endpoint.2"
}
}
リクエスト本文のプロパティ
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
デバイスグループに追加するエンドポイント。
|
オブジェクト |
◯ |
|
エンドポイントの一意のID。 |
文字列 |
◯ |
応答
正常に完了すると、HTTP 204 No Content
が返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のプロパティ
応答の本文はありません。
HTTPステータスコード
ステータス | 説明 |
---|---|
|
エンドポイントがデバイスグループに正常に追加されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
グループのフレンドリー名を変更する
デバイスグループのフレンドリー名を変更します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
フレンドリー名を変更するには、/v1/deviceGroups/{id}/friendlyName
リソースに対してPOST
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
POST /v1/deviceGroups/{id}/friendlyName HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
既存のデバイスグループを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"type": "PLAIN",
"value": {
"text": "entryway"
}
}
リクエスト本文のプロパティ
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
値フィールドの形式。現時点でサポートされる形式は、プレーンテキストのみです。 |
文字列 |
◯ |
|
名前を表します。 |
オブジェクト |
◯ |
|
プレーンテキストで指定されたフレンドリー名。名前には、1文字以上の数字または文字が含まれている必要があります。 |
文字列 |
◯ |
応答
正常に完了すると、HTTP 204 No Content
が返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のプロパティ
応答の本文はありません。
HTTPステータスコード
ステータス | 説明 |
---|---|
|
フレンドリー名が正常に変更されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
デバイスグループを作成する
新しいデバイスグループを作成します。グループへのデバイスの追加は、この操作で行うことも、デバイスグループにデバイスを追加する操作を使用して後から行うこともできます。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
デバイスグループを作成するには、/v1/deviceGroups
リソースに対してPOST
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
POST /v1/deviceGroups HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"friendlyName": {
"type": "PLAIN",
"value": {
"text": "kitchen"
}
},
"memberDevices": [{
"id": "amzn1.alexa.endpoint.1"
}],
"associatedUnits": [{
"id": "amzn1.alexa.unit.did.101"
}]
}
リクエスト本文のプロパティ
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
デバイスグループの名前。 |
|
◯ |
|
グループ内のエンドポイントのリスト。
|
オブジェクトの配列 |
✕ |
|
エンドポイントの一意のID。ユーザーデバイスごとにAmazonから割り当てられています。 |
文字列 |
✕ |
|
デバイスグループに関連付けられているユニットのリスト。
|
オブジェクトの配列 |
◯ |
|
ユニットの一意のID。 |
文字列 |
◯ |
応答
正常に完了すると、HTTP 201 Created
と共に、デバイスグループのIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
以下は、応答の例です。
{
"id": "amzn1.alexa.endpointGroup.1"
}
応答本文のプロパティ
プロパティ | 説明 | 型 |
---|---|---|
|
新しいデバイスグループを識別します。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
デバイスグループが正常に作成されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
デバイスグループを削除する
指定されたデバイスグループを削除します。この操作で削除を実行すると、デバイスグループからすべてのメンバーデバイスと関連付けられているユニットが削除されますが、グループとユニットは引き続き存在します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
デバイスグループを削除するには、/v1/deviceGroups/{id}
リソースに対してDELETE
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
DELETE /v1/deviceGroups/{id} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
既存のデバイスグループを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 204 No Content
が返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のプロパティ
応答の本文はありません。
HTTPステータスコード
ステータス | 説明 |
---|---|
|
デバイスグループが正常に削除されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
デバイスグループのリストを取得する
指定されたユニットのデバイスグループのリストを取得します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
デバイスグループのリストを取得するには、/v1/deviceGroups
リソースに対してGET
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
GET /v1/deviceGroups?associatedUnits.id={unitId}&expand=all&maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
クエリ |
ユニットの一意のID。 |
文字列 |
◯ |
|
クエリ |
デバイスグループの詳細(フレンドリー名、グループメンバーなど)を返します。 |
文字列 |
✕ |
|
クエリ |
応答で返される結果の最大数。 |
Integer |
✕ |
|
クエリ |
前回の応答で受け取ったトークン。 |
文字列 |
✕ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OK
と共に、指定されたユニットに定義されているグループのリストが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答本文のプロパティ
プロパティ | 説明 | 型 |
---|---|---|
|
指定されたユニットに関連付けられているデバイスグループのリスト。 |
オブジェクトの配列 |
|
ユニットに関連付けられているデバイスグループを識別します。 |
オブジェクト |
|
デバイスグループを識別します。 |
文字列 |
|
(任意)デバイスグループの名前。 |
|
|
(任意)グループのメンバーであるエンドポイントのリスト。 |
オブジェクトのリスト |
|
メンバーデバイスの一意のID。 |
文字列 |
|
(任意)デバイスグループに関連付けられているユニットのリスト。 |
オブジェクトのリスト |
|
ユニットの一意のID。 |
文字列 |
|
(オプション)返す結果がほかにもあるかどうかを示します。 |
オブジェクト |
|
応答が分割された場合に含まれます。この値は後続のリクエストで使用します。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
ユニットのデバイスグループのリストが応答本文に含まれます。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
グループからデバイスを削除する
デバイスグループから指定されたデバイスを削除します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエスト
グループからデバイスを削除するには、/v1/deviceGroups/{id}/memberDevices/
リソースに対してDELETE
リクエストを実行します。
リクエストパスとリクエストヘッダーの例
DELETE /v1/deviceGroups/{id}/memberDevices/{endpointId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 位置 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
既存のデバイスグループを識別します。 |
文字列 |
◯ |
|
パス |
グループから削除するデバイスを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、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
オブジェクトは、オブジェクトの名前のコンテナーです。
以下の表は、オブジェクトのプロパティの定義です。
プロパティ | 説明 | 型 |
---|---|---|
|
値フィールドの形式。現時点でサポートされる形式は、プレーンテキストのみです。 |
文字列 |
|
名前。 |
オブジェクト |
|
プレーンテキストで指定された名前。 |
文字列 |
関連トピック
- エンドポイントREST APIリファレンス
- Alexa Smart Properties APIで開発を始める
- Alexa Smart Properties REST APIリファレンス
- Alexa Smart Propertiesについて
最終更新日: 2024 年 11 月 18 日