スキル管理API
ルームなどのAlexa Smart Propertiesユニットのスキルを管理するには、スキル管理APIを使用します。
APIエンドポイント
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を以下のいずれかに設定してください。
国 | エンドポイント |
---|---|
カナダ、米国 |
|
ドイツ、スペイン、フランス、イタリア、英国 |
|
日本 |
|
認証
すべてのAPIリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazon(LWA)から取得したアクセストークンが入ります。
操作
スキル管理APIには、以下の操作が用意されています。
説明 | HTTPメソッドとパス |
---|---|
| |
| |
| |
| |
| |
| |
|
スキル有効化を取得する
以下の操作では、1つまたは複数のユニットで有効化されているスキルに関する情報を取得できます。
1つのユニットのスキル有効化レコードを取得する
1つのユニットに対する特定のスキルのスキル有効化レコードを取得するには、GET /v1/skills/{skillId}/enablements?unitId={unitId}
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式の例
スキル有効化とアカウントリンクの詳細のみのリストを取得する
以下の例では、ユニットのスキル有効化レコードのリストを取得します。デフォルトでは、結果に無指名対話の詳細は含まれません。
この呼び出しでは、特定のスキルの有効化レコードのみが返されます。1つのユニットのすべてのスキル有効化を取得するには、1つのユニットのスキル有効化リストを取得するを参照してください。
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
GET /v1/skills/{skillId}/enablements?unitId={unitId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
無指名対話の詳細を含める
以下の例では、expand=nameFreeInvocation
パラメーターを使用して、スキル有効化に無指名対話の詳細を含める方法を示しています。
GET /v1/skills/{skillId}/enablements?unitId={unitId}&expand=nameFreeInvocation HTTP/1.1
リクエスト本文
なし。
リクエストのパスパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
スキルID。 |
文字列 |
◯ |
リクエストのクエリパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
ユニットID。 |
文字列 |
◯ |
|
応答に含めるアトリビュート(またはアトリビュートのセット)。現在サポートされている値は、 |
文字列 |
✕ |
成功応答のヘッダー
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 200 OK
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
応答本文のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
スキルのステージ。 |
列挙 |
|
スキルの一意のID。 |
文字列 |
|
ユニットID。 |
文字列 |
|
ユーザーのAmazonアカウントとサービスのアカウントを接続するアカウントリンクの現在のステータス。 |
文字列 |
|
スキルの有効化ステータス。 |
列挙 |
|
無指名対話の有効化ステータス。 |
列挙 |
|
ユニットでの無指名対話を利用可能なロケール。値は、 |
配列 |
エラー応答
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
エラー応答のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
エラーのタイプ。 |
文字列 |
|
エラーのエラーメッセージ。 注: エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。
|
文字列 |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
200 |
OK |
リクエストが成功しました。 |
400 |
Bad Request |
リクエストの形式が正しくないか、1つ以上の必須パラメーターがありません。 |
401 |
Unauthorized |
アクセストークンがないか、期限切れか、無効です。 |
403 |
Forbidden |
操作を実行する適切な権限がオペレーターにありません。 |
404 |
Not found |
リクエストされたスキルIDまたはユニットIDが見つかりません。 |
429 |
Too many requests |
リクエストが制限されています。 |
500 |
Internal Server Error |
内部サービスエラーのためリクエストを処理できませんでした。 |
500 |
Internal Server Error |
NameFreeInvocationの取得中に内部サービスエラーが発生したため、リクエストを処理できませんでした。 |
503 |
Service Unavailable |
サーバーが一時的に使用できません。 |
503 |
Service Unavailable |
サーバーで一時的にNameFreeInvocationを取得できません。 |
1つのユニットのスキル有効化リストを取得する
1つのユニットに対するすべてのスキル有効化リストを取得するには、GET /v1/skills/enablements?unitId={unitId}
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式の例
スキル有効化とアカウントリンクの詳細のみのリストを取得する
以下の例では、1つのユニットに対するすべてのスキル有効化レコードのリストを取得します。デフォルトでは、結果に無指名対話の詳細は含まれません。
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
GET /v1/skills/enablements?unitId={unitId}&maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
無指名対話の詳細を含める
以下の例では、expand=nameFreeInvocation
パラメーターを使用して、各スキル有効化レコードに無指名対話の詳細を含める方法を示しています。
/v1/skills/enablements?unitId={unitId}&maxResults={maxResults}&expand=nameFreeInvocation&nextToken={nextToken} HTTP/1.1
リクエスト本文
なし。
リクエストのクエリパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
ユニットID。 |
文字列 |
◯ |
|
前回のスキル有効化リストの取得に対する応答で、応答オブジェクトに返された継続トークン。詳細については、クエリ結果のページ分割を処理するを参照してください。 |
文字列 |
✕ |
|
表示する結果の最大数。値は1~10の間で指定します。デフォルトは10です。 |
整数 |
✕ |
|
応答に含めるアトリビュート(またはアトリビュートのセット)。現在サポートされている値は、 |
文字列 |
✕ |
成功応答のヘッダー
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 200 OK
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
応答本文のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
ページ分割を制御するために必要なすべてのデータを含むコンテキスト。 |
オブジェクト |
|
後続データを取得するために使用するトークン。これ以上レコードがない場合、このトークンは存在しません。 |
文字列 |
|
スキル有効化のリスト。 |
リスト(セット) |
|
スキルのステージ。 |
列挙 |
|
スキルの一意のID。 |
文字列 |
|
ユニットID。 |
文字列 |
|
ユーザーのAmazonアカウントとサービスのアカウントを接続するアカウントリンクの現在のステータス。 |
文字列 |
|
スキルの有効化ステータス。 |
列挙 |
|
無指名対話の有効化ステータス。 |
列挙 |
|
ユニットでの無指名対話を利用可能なロケール。値は、 |
配列 |
エラー応答
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
エラー応答のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
エラーのタイプ。 |
文字列 |
|
エラーのエラーメッセージ。 注: エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。
|
文字列 |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
200 |
OK |
リクエストが成功しました。 |
400 |
Bad Request |
リクエストの形式が正しくないか、1つ以上の必須パラメーターがありません。 |
401 |
Unauthorized |
アクセストークンがないか、期限切れか、無効です。 |
403 |
Forbidden |
操作を実行する適切な権限がオペレーターにありません。 |
429 |
Too many requests |
リクエストが制限されています。 |
500 |
Internal Server Error |
内部サービスエラーのためリクエストを処理できませんでした。 |
500 |
Internal Server Error |
NameFreeInvocationの取得中に内部サービスエラーが発生したため、リクエストを処理できませんでした。 |
503 |
Service Unavailable |
サーバーが一時的に使用できません。 |
503 |
Service Unavailable |
サーバーで一時的にNameFreeInvocationを取得できません。 |
複数のユニットのスキル有効化を取得する
1回のリクエストで複数のユニットに対するスキル有効化を取得するには、POST /v1/skills/enablements/batchGet
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式の例
スキル有効化とアカウントリンクの詳細のみのリストを取得する
以下の例では、複数のユニットにまたがる1つのスキルについて、すべてのスキル有効化レコードのリストを取得します。デフォルトでは、結果に無指名対話の詳細は含まれません。
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
POST /v1/skills/enablements/batchGet HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
無指名対話の詳細を含める
以下の例では、expand=nameFreeInvocation
パラメーターを使用して、各スキル有効化レコードに無指名対話の詳細を含める方法を示しています。
リクエストのパスパラメーター
リクエストのパスにパラメーターはありません。
リクエスト本文の例
以下の例は、4つのユニットに対するスキル有効化を取得するリクエスト本文の例です。
リクエスト本文のパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
ページ分割を制御するために必要なすべてのデータを含むコンテキスト。 |
オブジェクト |
✕ |
|
表示する結果の最大数。値は1~10の間で指定します。デフォルトは10です。 |
整数 |
✕ |
|
前回のスキル有効化リストの取得に対する応答で、応答オブジェクトに返された継続トークン。詳細については、クエリ結果のページ分割を処理するを参照してください。 |
文字列 |
✕ |
|
リクエスト項目のリスト。各項目は1つのユニットを表します。 |
配列 |
◯ |
|
リクエスト項目の一意のID。リクエスト内で一意である必要があります。 |
整数 |
◯ |
|
ユニットID。 |
文字列 |
◯ |
|
応答に含めるアトリビュート(またはアトリビュートのセット)。現在サポートされている値は、 |
配列 |
◯ |
成功応答
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
応答本文の例
応答本文のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
ページ分割を制御するために必要なすべてのデータを含むコンテキスト。 |
オブジェクト |
|
後続データを取得するために使用するトークン。これ以上レコードがない場合、このトークンは存在しません。 |
文字列 |
|
スキル有効化のリスト。 |
リスト(セット) |
|
リクエスト項目の一意のID。これは、開発者がリクエストに指定した値です。 |
整数 |
|
スキルの有効化のリスト。 |
リスト(セット) |
|
スキルのステージとID。 |
オブジェクト |
|
スキルのステージ。 |
列挙 |
|
スキルの一意のID。 |
文字列 |
|
ユニットの一意のID。 |
文字列 |
|
ユニットID。 |
文字列 |
|
ユーザーのAmazonアカウントとサービスのアカウントを接続するアカウントリンクの現在のステータス。 |
オブジェクト |
|
アカウントリンクのステータス。 |
文字列 |
|
スキルの有効化ステータス。 |
列挙 |
|
無指名対話の有効化ステータス。 |
列挙 |
|
ユニットでの無指名対話を利用可能なロケール。値は、 |
配列 |
エラー応答ヘッダー
HTTP/1.1 {ErrorCode}
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
エラー応答本文の例
以下の例は、エラー応答本文の例です。
{
"errors": [
{
"itemId": 0,
"status": 401,
"errorCode": "UNAUTHENTICATED",
"errorDescription": "The access token is invalid."
}
]
}
エラー応答のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
エラー応答のリスト。それぞれが1つのリクエスト項目に対応します。 |
配列 |
|
リクエスト項目のID。個々の項目ではなくリクエスト全体に対するエラー応答である場合は任意です。 |
文字列 |
|
リクエストまたはリクエスト項目ごとの応答ステータスコード。 |
整数 |
|
エラーのエラーコード。 |
列挙 |
|
エラーの説明。 |
文字列 |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
200 |
Accepted |
リクエストが受け付けられました。リクエストが(一部だけでも)成功すると、APIは200ステータスコードと、各ユニットの有効化リストを含む応答本文を返します。ユニットに有効化がない場合、応答では、そのユニットに関連付けられた |
400 |
INVALID_PARAM |
リクエストのパラメーターがないか、無効です。 |
400 |
BAD_REQUEST |
リクエスト項目の数が上限を超えています。 |
401 |
UNAUTHENTICATED |
アクセストークンがないか、期限切れか、無効です。 |
403 |
FORBIDDEN |
操作を実行する適切な権限がオペレーターにありません。 |
429 |
TOO_MANY_REQUESTS |
リクエストが制限されています。 |
500 |
Internal Server Error |
内部サービスエラーのためリクエストを処理できませんでした。 |
500 |
Internal Server Error |
NameFreeInvocationの取得中に内部サービスエラーが発生したため、リクエストを処理できませんでした。 |
503 |
Service Unavailable |
サーバーが一時的に使用できません。 |
503 |
Service Unavailable |
サーバーで一時的にNameFreeInvocationを取得できません。 |
スキルを有効にする
以下の操作では、1つまたは複数のユニットでスキルを有効にすることができます。
1つのユニットでスキルを有効にする
1つのユニットでスキルを有効にするには、POST /v1/skills/{skillId}/enablements
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
POST /v1/skills/{skillId}/enablements HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
リクエストのパスパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
スキルID。 |
文字列 |
◯ |
リクエスト本文の例
アカウントリンクや無指名対話なしでスキルを有効にする
以下の例は、アカウントリンクや無指名対話といった追加情報なしでの1つのユニットに対する基本的なスキルの有効化を示しています。
リクエスト本文の例
{
"unitId": "amzn1.alexa.unit.unitId",
"stage": "live"
}
アカウントリンクありでスキルを有効にする
以下の例は、パーティションを使用したアカウントリンクありでの1つのユニットに対するスキルの有効化を示しています。
リクエスト本文の例
{
"unitId": "amzn1.alexa.unit.unitId",
"stage": "live",
"partitionName": "Room101-Kitchenette",
"accountLinkRequest": {
"redirectUri": "https://example.com",
"authCode": "3pauthcode",
"type": "AUTH_CODE"
}
}
無指名対話ありでスキルを有効にする
以下の例は、無指名対話ありでの1つのユニットに対するスキルの有効化を示しています。
リクエスト本文の例
{
"unitId": "amzn1.alexa.unit.unitId",
"stage": "live",
"nameFreeInvocationRequest": {
"locales" : ["en-US"]
}
}
リクエスト本文のパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
ユニットID。 |
文字列 |
◯ |
|
スキルのステージ。 |
列挙 |
◯ |
|
パーティション名は、デバイス、エンドポイント、スキルなどのリソースの論理グループを表す識別子です。このパラメーターには、1つのパーティション名を含む文字列か、複数のパーティション名を含むカンマ区切りリストを指定します。各パーティション名は空でない単一の文字列で、英数字とハイフンを含めることができますが、空白は使用できません。 注: 特定の
skillId とunitId に既存の有効化がある場合、同じskillId とunitId に対して異なるpartitionName 値(新規、更新、指定なし)を使用してPOST 有効化リクエストを実行すると、既存の有効化が最新のpartitionName 値で更新されます。 注: 既存の有効化に対して
accountLinkRequest とpartitionName の両方を指定してPOST 有効化リクエストを実行すると、そのAPI呼び出しにより、既存のアカウントリンクとパーティション名が更新されます。 |
文字列 |
✕ |
|
アカウントリンクのリクエスト情報。AccountLinkRequestオブジェクトとして指定します。 |
オブジェクト |
◯(アカウントリンクが必要なスキルの場合) |
|
無指名対話のリクエスト情報。NameFreeInvocationRequestオブジェクトとして指定します。 |
オブジェクト |
✕(無指名対話をサポートしているスキルでのみ使用可能) |
AccountLinkRequestオブジェクトスキーマ
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
ユーザーの認可コードを取得するための、OAuth 2.0サーバー宛ての認可リクエストに含まれていた |
文字列 |
◯ |
|
OAuth 2.0認可コード。この値は、アカウントリンクを実行するために必要です。詳細については、Authorization Code Grantフローの概要を参照してください。 |
文字列 |
◯ |
|
OAuth 2.0認可リクエストプロトコルに基づくアカウントリンクリクエストのタイプ。現時点でサポートされる値は、 |
文字列 |
◯ |
NameFreeInvocationRequestオブジェクトスキーマ
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
無指名対話を有効にするユニットのロケール。スキルには、ロケールをサポートする対話モデルが必要です。サポートされる値は、 |
文字列 |
◯ |
成功応答のヘッダー
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 201 Created
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
応答本文の例
{
"skill": {
"stage": "stage",
"id": "{skillId}"
},
"unit": {
"id": "{unitId}"
},
"accountLink": {
"status": "LINKED"
},
"nameFreeInvocation": {
"status": "ENABLED",
"locales": ["ja-JP"]
},
"status": "ENABLING",
}
応答本文のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
スキルのステージ。 |
列挙 |
|
スキルの一意のID。 |
文字列 |
|
ユニットID。 |
文字列 |
|
ユーザーのAmazonアカウントとサービスのアカウントを接続するアカウントリンクの現在のステータス。 |
文字列 |
|
スキルの有効化ステータス。 |
列挙 |
|
無指名対話の有効化ステータス。 |
列挙 |
|
ユニットでの無指名対話を利用可能なロケール。値は、 |
配列 |
エラー応答
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
エラー応答のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
エラーのタイプ。 |
文字列 |
|
エラーのエラーメッセージ。 注: エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。
|
文字列 |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
201 |
Created |
スキル有効化が正常に作成されました。 |
400 |
Bad Request |
リクエストの形式が正しくないか、1つ以上の必須パラメーターがありません。 |
401 |
Unauthorized |
アクセストークンがないか、期限切れか、無効です。 |
403 |
Forbidden |
操作を実行する適切な権限がオペレーターにありません。 |
404 |
Not found |
リクエストされたスキルIDまたはユニットIDが見つかりません。 |
429 |
Too many requests |
リクエストが制限されています。 |
500 |
Internal Server Error |
内部サービスエラーのためリクエストを処理できませんでした。 |
500 |
Internal Server Error |
NameFreeInvocationの取得中に内部サービスエラーが発生したため、リクエストを処理できませんでした。 |
503 |
Service Unavailable |
サーバーが一時的に使用できません。 |
503 |
Service Unavailable |
サーバーで一時的にNameFreeInvocationを取得できません。 |
複数のユニットでスキルを有効にする
1回のリクエストで複数のユニットに対してスキルを有効にするには、POST /v1/skills/{skillId}/enablements/batch
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
POST /v1/skills/{skillId}/enablements/batch HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
リクエストのパスパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
スキルID。 |
文字列 |
◯ |
リクエスト本文の例
アカウントリンクや無指名対話なしでスキルを有効にする
以下の例は、アカウントリンクや無指名対話といった追加情報なしでの複数のユニットに対する基本的なスキルの有効化を示しています。
リクエスト本文の例
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live"
},
{
"itemId": 1,
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "live"
}
]
}
アカウントリンクありでスキルを有効にする
以下の例は、パーティションを使用したアカウントリンクありでの複数のユニットに対するスキルの有効化を示しています。
リクエスト本文の例
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live",
"partitionName": "10-101", // オプション
"accountLinkRequest": { // オプション。アカウントリンクをサポートするスキルでのみ必要
"redirectUri": "https://redirecturi.com",
"authCode": "3pauthcode1",
"type": "AUTH_CODE"
}
},
{
"itemId": 1,
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "live",
"partitionName": "11-101,11-102,11-103" // オプション
}
]
}
無指名対話ありでスキルを有効にする
以下の例は、無指名対話ありでの複数のユニットに対するスキルの有効化を示しています。
リクエスト本文の例
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live",
"nameFreeInvocationRequest": {
"locales" : ["en-CA"]
}
},
{
"itemId": 1,
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "live",
"nameFreeInvocationRequest": {
"locales" : ["en-CA","fr-CA"]
}
}
]
}
リクエスト本文のパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
リクエスト項目のリスト。各項目は、1つのユニットに対する有効化リクエストを表します。 |
配列 |
◯ |
|
リクエスト項目の一意のID。リクエスト内で一意である必要があります。 |
整数 |
◯ |
|
ユニットID。 |
文字列 |
◯ |
|
スキルのステージ。 |
列挙 |
◯ |
|
パーティション名は、デバイス、エンドポイント、スキルなどのリソースの論理グループを表す識別子です。このパラメーターには、1つのパーティション名を含む文字列か、複数のパーティション名を含むカンマ区切りリストを指定します。 注: 特定の
skillId とunitId に既存の有効化がある場合、同じskillId とunitId に対して異なるpartitionName 値(新規、更新、指定なし)を使用して再びPOST 有効化リクエストを実行すると、既存の有効化が最新のpartitionName 値で更新されます。 |
文字列 |
✕ |
|
アカウントリンクのリクエスト情報。AccountLinkRequestオブジェクトとして指定します。 |
オブジェクト |
◯(アカウントリンクが必要なスキルの場合) |
|
無指名対話のリクエスト情報。NameFreeInvocationRequestオブジェクトとして指定します。 |
オブジェクト |
✕(無指名対話をサポートしているスキルでのみ使用可能) |
成功応答
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
成功応答のパラメーター
なし。
エラー応答ヘッダー
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
エラー応答本文の例
以下は、個々の項目ではなくリクエスト全体に対するエラー応答本文の例です。
{
"errors": [
{
"status": 401,
"erorrCode": "INVALID_LWA_TOKEN",
"errorDescription": "The access token is invalid."
}
]
}
以下の例は、個々の項目に対するエラー応答本文の例です。
{
"errors": [
{
"itemId": 0,
"status": 400,
"errorCode": "INVALID_PARAM",
"errorDescription": "unitId is missing or invalid"
},
{
"itemId": 20,
"status": 403,
"errorCode": "FORBIDDEN",
"errorDescription": "The operator doesn't have the right permission to perform the operation."
}
]
}
エラー応答のパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
エラー応答のリスト。それぞれが1つのリクエスト項目に対応します。 |
配列 |
◯ |
|
リクエスト項目のID。個々の項目ではなくリクエスト全体に対するエラー応答である場合は任意です。 |
文字列 |
✕ |
|
リクエストまたはリクエスト項目ごとの応答ステータスコード。 |
整数 |
◯ |
|
エラーのエラーコード。 |
列挙 |
◯ |
|
エラーの説明。 |
文字列 |
◯ |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
202 |
Accepted |
リクエストが受け付けられました。 |
400 |
Bad Request |
リクエストの形式が正しくないか、1つ以上の必須パラメーターがありません。たとえば、次のような理由が考えられます。
|
401 |
Unauthorized |
アクセストークンがないか、期限切れか、無効です。 |
403 |
Forbidden |
操作を実行する適切な権限がオペレーターにありません。 |
429 |
Too many requests |
リクエストが制限されています。 |
500 |
Internal Server Error |
内部サービスエラーのためリクエストを処理できませんでした。 |
500 |
Internal Server Error |
NameFreeInvocationの取得中に内部サービスエラーが発生したため、リクエストを処理できませんでした。 |
503 |
Service Unavailable |
サーバーが一時的に使用できません。 |
503 |
Service Unavailable |
サーバーで一時的にNameFreeInvocationを取得できません。 |
スキルを無効にする
以下の操作では、1つまたは複数のユニットでスキルを無効にすることができます。
1つのユニットでスキルを無効にする
1つのユニットでスキルを無効にするには、DELETE /v1/skills/{skillId}/enablements?unitId={unitId}
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
DELETE /v1/skills/{skillId}/enablements?unitId={unitId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
リクエスト本文
なし。
リクエストのパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
ユニットID。 |
文字列 |
◯ |
|
スキルID。 |
文字列 |
◯ |
|
スキルのステージ。 |
列挙 |
✕ |
成功応答のヘッダー
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 200 OK
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
成功応答のパラメーター
なし。
エラー応答
HTTP/1.1 {ErrorCode}
{
"type": "{ErrorType}",
"message": "{ErrorMessage}"
}
エラー応答のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
エラーのタイプ。 |
文字列 |
|
エラーのエラーメッセージ。 注: エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。
|
文字列 |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
204 |
No content |
スキル有効化が正常に削除されました。 |
400 |
Bad Request |
リクエストの形式が正しくないか、1つ以上の必須パラメーターがありません。 |
401 |
Unauthorized |
アクセストークンがないか、期限切れか、無効です。 |
403 |
Forbidden |
操作を実行する適切な権限がオペレーターにありません。 |
404 |
Not found |
リクエストされたスキルIDまたはユニットIDが見つかりません。 |
429 |
Too many requests |
リクエストが制限されています。 |
500 |
Internal Server Error |
内部サービスエラーのためリクエストを処理できませんでした。 |
503 |
Service Unavailable |
サーバーが一時的に使用できません。 |
複数のユニットでスキルを無効にする
1回のリクエストで複数のユニットに対してスキルを無効にするには、POST /v1/skills/{skillId}/enablements/batchDelete
を呼び出します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国、英国、フランス、カナダ、イタリア、ドイツ、スペイン、日本 |
米国 |
リクエストの形式
リクエストヘッダーでは、組織が所在する地域に応じて、Host
を適切なエンドポイントに設定してください。前述のAPIエンドポイントを参照してください。
POST /v1/skills/{skillId}/enablements/batchDelete HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
リクエストのパスパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
スキルID。 |
文字列 |
◯ |
リクエスト本文の例
以下の例は、3つのユニットに対して1つのスキルを無効にするリクエスト本文の例です。
{
"items": [
{
"itemId": 0,
"unitId": "amzn1.alexa.unit.unitId1",
"stage": "live"
},
{
"itemId": 1
"unitId": "amzn1.alexa.unit.unitId2",
"stage": "development"
},
{
"itemId": 2
"unitId": "amzn1.alexa.unit.unitId3"
}
]
}
リクエスト本文のパラメーター
フィールド | 説明 | 型 | 必須 |
---|---|---|---|
|
リクエスト項目のリスト。各項目は、1つのユニットに対する無効化リクエストを表します。 |
配列 |
◯ |
|
リクエスト項目の一意のID。リクエスト内で一意である必要があります。 |
整数 |
◯ |
|
ユニットID。 |
文字列 |
◯ |
|
スキルのステージ。 |
列挙 |
✕ |
成功応答
Host
値は、リクエストのHost
値と同じになります。HTTP/1.1 202 Accepted
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
フィールド | 説明 | 型 |
---|---|---|
|
リクエストの一意のID。問題が発生する場合、Amazonはこの値をトラブルシューティングに使用します。 |
文字列 |
成功応答のパラメーター
なし。
エラー応答ヘッダー
HTTP/1.1 {ErrorCode}
Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
エラー応答本文の例
以下の例は、エラー応答本文の例です。
{
"errors": [
{
"itemId": 0,
"status": 400,
"errorCode": "INVALID_PARAM",
"errorDescription": "Unit ID is missing or invalid"
}
]
}
エラー応答のパラメーター
フィールド | 説明 | 型 |
---|---|---|
|
エラー応答のリスト。それぞれが1つのリクエスト項目に対応します。 |
配列 |
|
リクエスト項目のID。個々の項目ではなくリクエスト全体に対するエラー応答である場合は任意です。 |
文字列 |
|
リクエストまたはリクエスト項目ごとの応答ステータスコード。 |
整数 |
|
エラーのエラーコード。 |
列挙 |
|
エラーの説明。 |
文字列 |
HTTP応答コード
ステータスコード | 名前 | 説明 |
---|---|---|
202 |
Accepted |
リクエストが受け付けられました。 |
400 |
INVALID_PARAM |
リクエストのパラメーターがないか、無効です。 |
400 |
BAD_REQUEST |
リクエスト項目の数が上限を超えています。 |
401 |
UNAUTHENTICATED |
アクセストークンがないか、期限切れか、無効です。 |
403 |
FORBIDDEN |
操作を実行する適切な権限がオペレーターにありません。 |
404 |
ENABLEMENT_NOT_FOUND |
リクエストされた有効化が見つかりませんでした。 |
404 |
SKILL_STAGE_NOT_FOUND |
リクエストされたスキルIDとステージの組み合わせが見つかりませんでした。 |
429 |
TOO_MANY_REQUESTS |
リクエストが制限されています。 |
500 |
INTERNAL_SERVER_ERROR |
内部サービスエラーのためリクエストを処理できませんでした。 |
503 |
SERVICE_UNAVAILABLE |
サーバーが一時的に使用できません。 |
関連トピック
最終更新日: 2024 年 03 月 21 日