オートメーションREST APIリファレンス
オートメーションREST APIを使用すると、Alexa Smart Properties(ASP)で、Alexaがユーザーに代わってタスクを自動的に実行する操作を指定できます。個々のオートメーションは、トリガー、操作、オプションの条件で構成されます。
オートメーションについて
自動化するタスクの動作は、ユニットやエンドポイントの指定のないオートメーションテンプレートとして記述します。このテンプレートは、プレースホルダーを使用した抽象的なオートメーションエクスペリエンスを表します。テンプレートを作成したら、そのテンプレートを基に、ユニット固有のカスタマイズを追加してオートメーションを設定します。たとえば、プレースホルダーの時刻に毎日音楽を再生するテンプレートを作成したとします。そのテンプレートから401号室用のオートメーションを作成して、401号室のEchoデバイスで毎朝午前8時にAlexaで音楽を再生するように設定できます。オートメーションテンプレートは操作を起動するものではありません。オートメーションを機能させるには、テンプレートからオートメーションを構築する必要があります。
オートメーションを使用すると、Alexaコネクテッドデバイス(Echoデバイスなど)がユーザーに代わってタスクを自動的に実行できます。たとえば、日の入り時刻にキッチンの照明をつけることなどが可能です。個々のオートメーションには、1つのトリガー、1つ以上の操作、オプションの条件が含まれます。
トリガーとは、オートメーションを起動する状態変化、イベント、ファクトを指します。ASPのオートメーションでサポートされるトリガーには、 発話、時刻、日の出、日の入りのトリガーがあります。
操作とは、トリガー条件が満たされたときにAlexaによって呼び出されるアクションまたはタスクです。ASPのオートメーションでサポートされる操作には、 通知、明るさ(スマートホームデバイスのみ)、電源のオン/オフ、音量の設定、メディアの停止、サーモスタットの設定温度の設定、おやすみモードのオン/オフがあります。
操作プロパティはツリーとして構築されるため、シリアルオブジェクト、パラレルオブジェクト、操作オブジェクトはそれぞれツリーノードとみなされます。各パラレルノードのノード数は90以下(パラレルノード、シリアルノード、操作ノードをすべて含む)にする必要があります。操作プロパティにパラレルノードまたはシリアルノードがあるかどうかにかかわらず、合計ノード数は150以下にする必要があります。ノード数90のパラレルノードが2つあると、合計ノード数は180となり、上限の150を超過します。
条件とは、Alexaによって評価される1つ以上のルールです。このルールが満たされると、関連付けられた操作がAlexaによって呼び出されます。
APIエンドポイント
オートメーションAPIのエンドポイントは、https://api.amazonalexa.com
です。
認証
すべてのAPIリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazon(LWA)から取得したアクセストークンが入ります。詳細については、APIアクセスを管理するを参照してください。
操作
オートメーションAPIでは、以下の操作タイプがサポートされています。
- テンプレートの管理 - 施設ユニットで使用するオートメーションテンプレートの作成と管理を行います。
- オートメーションの管理 - テンプレートに基づいて、ユニット内のオートメーションの作成と管理を行います。
テンプレートの管理
操作 | HTTPメソッドとURI |
---|---|
| |
| |
| |
|
オートメーションの管理
操作 | HTTPメソッドとURI |
---|---|
| |
| |
| |
| |
|
オートメーションテンプレートを作成する
LWAトークンで表されるユーザーが所有するオートメーションテンプレートを作成します。現時点では、テンプレートの所有者だけがテンプレートからオートメーションを作成できます。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションテンプレートを作成するには、/v2/automations/templates
リソースへのPOST
リクエストを行います。
リクエストパスとリクエストヘッダーの例
POST /v2/automations/templates HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"template":{
"trigger":{
"type": "Alexa.Automation.Trigger.Voice.CustomUtterance",
"version": "1.0",
"payload": {
"utterances": ["${data.customUtterance.text}", "utterance B", "utterance C"],
"locale": "en-US"
}
},
"operations":{
"serial":[
{
"operation":{
"type": "Alexa.Automation.Operation.Notification.Notify",
"version": "1.0",
"payload": {
"notification": {
"variants": [{
"type": "Announcement",
"content": {
"variants": [{
"type": "SpokenText",
"values": [{
"locale": "en-US",
"text": "Happy hour is starting now in the pool area!"
}]
}]
}
}]
}
}
}
}
]
}
},
"dataDefinition":{
"customUtterance":{
"type":"object",
"required":[
"text"
],
"properties":{
"text":{
"type":"string",
"minLength":1
}
}
}
},
"friendlyName":{
"value":{
"text":"Test template"
}
}
}
リクエスト本文のプロパティ
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
オートメーションテンプレート。 |
オブジェクト |
◯ |
|
オートメーションテンプレートのトリガー。 |
Triggerオブジェクト |
◯ |
|
オートメーションテンプレートの操作。 |
オブジェクト |
◯ |
|
Alexaで順番に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
✕ |
|
Alexaで並列的に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
✕ |
|
単一の操作。 |
Operationオブジェクト |
✕ |
|
オートメーションテンプレート内部のデータパラメーターの定義。このオブジェクト内の各キーがパラメーターの定義です。 |
オブジェクト |
✕ |
|
開発者に表示されるオートメーションテンプレート名。 |
オブジェクト |
✕ |
|
フレンドリー名のテキスト。 |
オブジェクト |
✕ |
|
オートメーションテンプレートの名前。 |
文字列 |
✕ |
応答
正常に完了すると、HTTP 201 Created
と共に、テンプレートIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
{
"templateId": "amzn1.alexa.automation.template.1"
}
応答本文のパラメーター
パラメーター | 説明 | 型 |
---|---|---|
|
オートメーションテンプレートの一意のID。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
オートメーションテンプレートが正常に作成されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションテンプレートを削除する
指定されたテンプレートIDに関連付けられているオートメーションテンプレートを削除します。オートメーションテンプレートを削除できるのは、そのテンプレートの所有者だけです。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションテンプレートを削除するには、/v2/automations/templates/{templateId}
リソースへのDELETE
リクエストを行います。
リクエストパスとリクエストヘッダーの例
DELETE /v2/automations/templates/{templateId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
削除するオートメーションテンプレートのID。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 204 No Content
が返されます。このテンプレートに基づくオートメーションインスタンスが存在する場合、AlexaはHTTP 400 Bad Request
を返します。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のパラメーター
応答の本文はありません。
HTTPステータスコード
ステータス | 説明 |
---|---|
|
テンプレートが正常に削除されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションテンプレートを取得する
指定されたテンプレートIDに関連付けられているオートメーションテンプレートを取得します。
呼び出し元がそのオートメーションテンプレートの所有者である必要があります。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションテンプレートを取得するには、/v2/automations/templates/{templateId}
リソースへのGETリクエストを行います。
リクエストパスとリクエストヘッダーの例
GET /v2/automations/templates/{templateId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {LWA Token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
オートメーションテンプレートのID。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OK
と共に、リクエストしたテンプレートが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
以下は、応答の例です。
{
"templateId":"amzn1.alexa.automation.template.1",
"template":{
"trigger":{
"type":"CustomUtterance",
"version":"1.0",
"payload":{
"utterance":"${data.customUtterance.text}",
"locale":"en-US"
}
},
"operations":{
"serial":[
{
"operation":{
"type":"AlexaAnnouncement",
"version":1.0,
"payload":{
"content":[
{
"locale":"en-US",
"speak":{
"type":"text",
"value":"Hello"
}
}
]
}
}
}
]
}
},
"dataDefinition":{
"customUtterance":{
"type":"object",
"required":[
"text"
],
"properties":{
"text":{
"type":"string",
"minLength":1
}
}
}
},
"friendlyName":{
"value":{
"text":"Test template"
}
}
}
応答本文のパラメーター
パラメーター | 説明 | 型 |
---|---|---|
|
オートメーションテンプレートのID。 |
文字列 |
|
オートメーションテンプレートのトリガー。 |
Triggerオブジェクト |
|
オートメーションテンプレートの操作。 |
オブジェクト |
|
Alexaで順番に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
Alexaで並列的に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
単一の操作。 |
Operationオブジェクト |
|
オートメーションテンプレート内部のデータパラメーターの定義。このオブジェクト内の各キーがパラメーターの定義です。 |
オブジェクト |
|
開発者に表示されるオートメーションテンプレート名。 |
オブジェクト |
|
フレンドリー名のテキスト。 |
オブジェクト |
|
オートメーションテンプレートの名前。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
リクエストされたテンプレートが応答本文に含まれています。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションテンプレートをリストする
オートメーションテンプレートをリストします。Alexaは、呼び出し元が所有しているすべてのテンプレートを返します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションテンプレートをリストするには、/v2/automations/templates
リソースへのGETリクエストを行います。
リクエストパスとリクエストヘッダーの例
GET /v2/automations/templates?expand=all&maxResults={maxResults}&nextToken={nextToken} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
クエリ |
各テンプレートに関する詳細情報を取得します。 |
文字列 |
✕ |
|
クエリ |
応答で返される結果の最大数。 |
整数 |
✕ |
|
クエリ |
前回の応答で受け取ったトークン。 |
文字列 |
✕ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OK
と共に、テンプレートのリストが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
expand
がall
に設定されていない場合の応答の例を以下に示します。
expand
がall
に設定されている場合の応答の例を以下に示します。
応答本文のパラメーター
パラメーター | 説明 | 型 |
---|---|---|
|
クエリへの応答として返されたオートメーションテンプレートのリスト。 |
オブジェクトの配列 |
|
オートメーションテンプレートのID。 |
文字列 |
|
オートメーションテンプレートのトリガー。 |
Triggerオブジェクト |
|
オートメーションテンプレートの操作。 |
オブジェクト |
|
Alexaで順番に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
Alexaで並列的に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
単一の操作。 |
Operationオブジェクト |
|
オートメーションテンプレート内部のデータパラメーターの定義。このオブジェクト内の各キーがパラメーターの定義です。 |
オブジェクト |
|
開発者に表示されるオートメーションテンプレート名。 |
オブジェクト |
|
フレンドリー名のテキスト。 |
オブジェクト |
|
オートメーションテンプレートの名前。 |
文字列 |
|
返す結果がほかにもあるかどうかを示します。 |
オブジェクト |
|
応答が分割された場合に含まれます。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
テンプレートのリストが応答本文に含まれています。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。 |
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションを作成する
指定されたオートメーションテンプレートから、指定されたユニット用のオートメーションインスタンスを作成します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションを作成するには、/v2/automations
リソースへのPOST
リクエストを行います。
リクエストパスとリクエストヘッダーの例
POST /v2/automations HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"associatedEntity": {
"type": "UNIT",
"id": "amzn1.alexa.unit.did.101"
},
"automation": {
"templateId": "amzn1.alexa.automation.template.1",
"data": {
"customUtterance": {
"text": "Good morning"
}
}
},
"friendlyName": {
"value": {
"text": "Test automation"
}
}
}
リクエスト本文のプロパティ
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
Alexaがこのオートメーションを実行する先となる、関連付けられたエンティティ(ユニットなど)。 |
オブジェクト |
◯ |
|
エンティティのタイプ。 |
文字列 |
◯ |
|
ユニットを識別します。 |
文字列 |
◯ |
|
オートメーションインスタンスの作成元になるオートメーションテンプレートのID。 |
文字列 |
◯ |
|
カスタム変数および値の、キーと値のマップ。 |
オブジェクト |
✕ |
|
リクエスターが定義したオートメーション名。開発者は、オートメーションインスタンスを区別する目的でこのフィールドを定義することもできます。 |
NameValueオブジェクト |
✕ |
応答
正常に完了すると、HTTP 201 Created
と共に、オートメーションIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
{
"automationId": "amzn1.alexa.automation.123"
}
応答本文のパラメーター
パラメーター | 説明 | 型 |
---|---|---|
|
Alexaによって生成された、新しいオートメーションのオートメーションID。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
オートメーションが正常に作成されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションを削除する
指定されたオートメーションIDに関連付けられているオートメーションを削除します。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションを削除するには、/v2/automations/{automationId}
リソースへのDELETE
リクエストを行います。
リクエストパスとリクエストヘッダーの例
DELETE /v2/automations/{automationId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
ユニットから削除するオートメーションを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 204 No Content
が返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
応答の本文はありません。
応答本文のパラメーター
応答の本文はありません。
HTTPステータスコード
ステータス | 説明 |
---|---|
|
オートメーションが正常に削除されました。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションを取得する
指定されたオートメーションIDに関連付けられているオートメーションのアトリビュートを取得します。Alexaは、パラメーターがすべて解決済みのオートメーションを返します。呼び出し元がそのオートメーションの所有者である必要があります。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションを取得するには、/v2/automations/{automationId}
リソースへのGETリクエストを行います。
リクエストパスとリクエストヘッダーの例
GET /v2/automations/{automationId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
オートメーションを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、HTTP 200 OK
と共に、指定したオートメーションの詳細が返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。
応答本文の例
以下は、応答の例です。
{
"automationId":"amzn1.alexa.automation.123",
"friendlyName":{
"value":{
"text":"Good morning"
}
},
"associatedEntity":{
"type":"UNIT",
"id":"amzn1.alexa.unit.did.101"
},
"automation":{
"templateId":"amzn1.alexa.automation.template.1",
"trigger":{
"type":"CustomUtterance",
"version":"1.0",
"payload":{
"utterance":"I'm home",
"locale":"en-US"
}
},
"operations":{
"serial":[
{
"operation":{
"type":"AlexaAnnouncement",
"version":1.0,
"payload":{
"content":[
{
"locale":"en-US",
"speak":{
"type":"text",
"value":"Hello"
}
}
]
}
}
}
]
}
}
}
応答本文のパラメーター
パラメーター | 説明 | 型 |
---|---|---|
|
リクエストされたオートメーションを識別します。 |
文字列 |
|
Alexaがこのオートメーションを実行する先となる、関連付けられたエンティティ(ユニットなど)。 |
オブジェクト |
|
エンティティのタイプ。 |
文字列 |
|
ユニットを識別します。 |
文字列 |
|
オートメーションインスタンスの作成元となったオートメーションテンプレートのID。 |
文字列 |
|
オートメーションのトリガー。 |
Triggerオブジェクト |
|
オートメーションがトリガーされたときに呼び出される操作。 |
オブジェクト |
|
Alexaで順番に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
Alexaで並列的に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
単一の操作。 |
Operationオブジェクト |
|
(オプション)オートメーションの名前。開発者は、オートメーションインスタンスを区別する目的でこのフィールドを定義することもできます。 |
NameValueオブジェクト |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
リクエストされたオートメーションが応答本文に含まれています。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションをリストする
指定されたunitId
に関連付けられているオートメーションをリストします。指定されたユニットのオートメーションを表示するには、権限が必要です。それ以外の場合、Alexaは空のリストを返します。呼び出し元がオートメーションの作成者である必要はありません。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションをリストするには、/v2/automations
リソースへのGETリクエストを行います。
リクエストパスとリクエストヘッダーの例
GET
/v2/automations?associatedEntity.type={type}&associatedEntity.id={id}&templateId={templateId}&maxResults={maxResults}&nextToken={nextToken}&expand=all
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
クエリ |
エンティティのタイプ。 |
文字列 |
◯ |
|
クエリ |
ユニットID。 |
文字列 |
◯ |
|
クエリ |
オートメーションテンプレートのIDで結果をフィルタリングします。 |
文字列 |
✕ |
|
クエリ |
各オートメーションに関する詳細情報を取得します。 |
文字列 |
✕ |
|
クエリ |
応答で返される結果の最大数。 |
整数 |
✕ |
|
クエリ |
前回の応答で受け取ったトークン。 |
文字列 |
✕ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
リクエストの本文はありません。
リクエスト本文のプロパティ
リクエストの本文はありません。
応答
正常に完了すると、オートメーションのリストと共にHTTP 200が返されます。
応答本文の例
expand
がall
に設定されていない場合の応答の例を以下に示します。
expand
がall
に設定されている場合の応答の例を以下に示します。
応答本文のパラメーター
パラメーター | 説明 | 型 |
---|---|---|
|
クエリパラメーターでフィルタリングされたオートメーションのリスト。 |
オブジェクトの配列 |
|
オートメーションを識別します。 |
文字列 |
|
(オプション)Alexaがこのオートメーションを実行する先となる、関連付けられたエンティティ(ユニットなど)。 |
文字列 |
|
エンティティのタイプ。 |
文字列 |
|
ユニットを識別します。 |
文字列 |
|
(オプション)オートメーションインスタンスの作成元となったオートメーションテンプレートのID。リクエストに |
文字列 |
|
(オプション)オートメーションのトリガー。 |
Triggerオブジェクト |
|
(オプション)オートメーションテンプレートの操作。 |
オブジェクト |
|
Alexaで順番に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
Alexaで並列的に呼び出す操作のリスト。 |
Operationオブジェクトの配列 |
|
単一の操作。 |
Operationオブジェクト |
|
(オプション)オートメーションの名前。開発者は、オートメーションインスタンスを区別する目的でこのフィールドを定義することもできます。 |
NameValueオブジェクト |
|
返す結果がほかにもあるかどうかを示します。 |
オブジェクト |
|
応答が分割された場合に含まれます。 |
文字列 |
HTTPステータスコード
ステータス | 説明 |
---|---|
|
オートメーションのリストが応答本文に含まれています。 |
|
リクエスト本文の1つ以上のプロパティが無効であることを示します。
|
|
リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。 |
|
認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。 |
|
リクエストされたリソースが見つかりません。 |
|
許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。 |
|
サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。 |
オートメーションを更新する
指定されたオートメーションを更新します。現時点では、data
オブジェクトのみを更新できます。
この操作は以下の国で使用できます。
Healthcare | Hospitality | Senior Living | Core |
---|---|---|---|
米国 |
米国 |
米国 |
米国 |
リクエスト
オートメーションを更新するには、/v2/automations/{automationId}
リソースへのPUT
リクエストを行います。
リクエストパスとリクエストヘッダーの例
PUT /v2/automations/{automationId} HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}
リクエストパスとリクエストヘッダーのパラメーター
パラメーター | 指定場所 | 説明 | 型 | 必須 |
---|---|---|---|---|
|
パス |
オートメーションを識別します。 |
文字列 |
◯ |
|
ヘッダー |
ユーザーのアクセストークン。 |
文字列 |
◯ |
リクエスト本文の例
{
"automation":{
"data":{
"customUtterance":{
"text":"Good night"
}
}
}
}
リクエスト本文のプロパティ
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
更新するデータを定義します。 |
オブジェクト |
◯ |
|
テンプレートに定義されている変数の解決に使用するデータのキー/値マッピング。たとえば、 |
オブジェクト |
✕ |
応答
正常に完了すると、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."
}
Errorオブジェクトには、以下のプロパティが定義されています。
プロパティ | 説明 | 型 |
---|---|---|
|
発生したエラーのタイプ。 |
文字列 |
|
読み取り可能なエラーメッセージ。エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。 |
文字列 |
NameValueオブジェクト
NameValue
オブジェクトは、オブジェクトの名前のコンテナーです。
以下の表は、オブジェクトのプロパティの定義です。
プロパティ | 説明 | 型 |
---|---|---|
|
値フィールドの形式。現時点でサポートされる形式は、プレーンテキストのみです。 |
文字列 |
|
名前。 |
オブジェクト |
|
プレーンテキストで指定された名前。 |
文字列 |
Notificationオブジェクト
Notificationオブジェクトは、Alexa.Automation.Operation.Notification.Notify
操作の一部として再生されるアナウンスを定義します。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
通知の配信タイプ。 |
文字列 |
◯ |
|
発話および画面表示を目的とするコンテンツの各種バリアント。 |
オブジェクト |
◯ |
|
ユーザーに配信される通知コンテンツ。 |
オブジェクトの配列 |
◯ |
|
ローカライズされたテキスト入力。 |
文字列 |
◯ |
|
コンテンツ値の配列。 |
オブジェクトの配列 |
◯ |
|
読み上げテキストのロケール。BCP-47形式で指定します。ロケールには言語と国/地域の両方を含める必要があります。例: |
文字列 |
◯ |
|
プレーンテキスト形式の読み上げテキスト。 |
文字列 |
◯ |
Operationオブジェクト
Operation
オブジェクトは、トリガー条件が満たされたときにAlexaによって呼び出されるアクションまたはタスクを定義します。定義済みの一連の操作からタスクを選択します。
プロパティ | 説明 | 型 |
---|---|---|
|
操作のタイプ。 |
文字列 |
|
操作のバージョン。 |
文字列 |
|
操作タイプに基づいて、次のセクションで定義されているペイロードを使用します。 |
オブジェクト |
Alexa.Automation.Operation.Notification.Notifyオブジェクト
この操作は、関連付けられているトリガーが呼び出されたときにアナウンスをユニットに送信します。デフォルトの受信者は、オートメーションを関連付けたときの指定ユニットです。この操作は現在、スコープがalexa::enterprise:management
の場合にのみ使用できます。
以下の例は、通知操作を示しています。
{
"type": "Alexa.Automation.Operation.Notification.Notify",
"version": "1.0",
"payload": {
"notification": {
"variants": [{
"type": "Announcement",
"content": {
"variants": [{
"type": "SpokenText",
"values": [{
"locale": "en-US",
"text": "Happy hour is starting now in the pool area!"
}]
}]
}
}]
}
}
}
Alexa.Automation.Operation.Notification.Notify
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
アナウンスの名前。 |
文字列 |
◯ |
|
アナウンス操作ペイロードのバージョン。 |
文字列 |
◯ |
|
通知オブジェクト。 |
オブジェクト |
◯ |
|
再生するアナウンスのリスト。 |
Notificationオブジェクトの配列 |
◯ |
Alexa.Automation.Operation.Brightness.SetBrightnessオブジェクト
このオブジェクトは、エンドポイントの明るさのレベルを設定する操作を表します。
以下の例は、明るさの設定操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Brightness.SetBrightness",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1"
}
],
"payload": {
"brightness": 10
}
}
}
}
Alexa.Automation.Operation.Brightness.SetBrightness
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
操作の実行対象であるエンドポイントのセット。 |
文字列の配列 |
◯ |
|
操作の実行対象となるエンドポイントを識別します。 |
文字列 |
◯ |
|
デバイスに設定する明るさをパーセンテージで示します。 |
整数 |
◯ |
Alexa.Automation.Operation.Power.TurnOnオブジェクト
このオブジェクトは、エンドポイントをオンにする操作を表します。
以下の例は、オンにする操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Power.TurnOn",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1234567"
}
]
}
}
}
Alexa.Automation.Operation.Power.TurnOn
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
操作の実行対象であるエンドポイントのセット。 |
文字列の配列 |
◯ |
|
操作の実行対象となるエンドポイントを識別します。 |
文字列 |
◯ |
Alexa.Automation.Operation.Power.TurnOffオブジェクト
このオブジェクトは、エンドポイントをオフにする操作を表します。
以下の例は、オフにする操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Power.TurnOff",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1234567"
}
]
}
}
}
Alexa.Automation.Operation.Power.TurnOff
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
操作の実行対象であるエンドポイントのセット。 |
文字列の配列 |
◯ |
|
操作の実行対象となるエンドポイントを識別します。 |
文字列 |
◯ |
Alexa.Automation.Operation.Speaker.SetVolumeオブジェクト
このオブジェクトは、エンドポイントの音量を設定する操作を表します。
以下の例は、音量の設定操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Speaker.SetVolume",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1234567"
}
],
"payload": {
"volume": 10
}
}
}
}
Alexa.Automation.Operation.Speaker.SetVolume
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
操作の実行対象であるエンドポイントのセット。 |
文字列の配列 |
◯ |
|
操作の実行対象となるエンドポイントを識別します。 |
文字列 |
◯ |
|
エンドポイントのスピーカーの音量を設定する絶対音量。 |
整数 |
◯ |
Alexa.Automation.Operation.Media.Stopオブジェクト
このオブジェクトは、エンドポイントでのメディア再生を停止する操作を表します。
以下の例は、停止操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Media.Stop",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1234567"
}
]
}
}
}
Alexa.Automation.Operation.Media.Stop
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
操作の名前。 |
文字列 |
◯ |
|
操作スキーマのバージョン。 |
文字列 |
◯ |
|
操作の実行対象であるエンドポイントのセット。 |
文字列の配列 |
◯ |
|
操作の実行対象となるエンドポイントを識別します。 |
文字列 |
◯ |
Alexa.Automation.Operation.Thermostat.SetTargetSetpointオブジェクト
このオブジェクトは、単一設定点サーモスタットの目標温度を設定する操作を表します。
以下の例は、サーモスタットの目標温度を設定する操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Thermostat.SetTargetSetpoint",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1234567"
}
],
"payload": {
"targetSetpoint": {
"value": 20,
"scale": "CELSIUS"
}
}
}
}
}
Alexa.Automation.Operation.Thermostat.SetTargetSetpoint
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
単一設定点サーモスタットの目標設定点。 |
◯ |
Alexa.Automation.Operation.Settings.SetDoNotDisturbStateオブジェクト
This object represents an operation that puts the object in a do-not-disturb state.
以下の例は、おやすみモードの設定操作を示しています。
{
"operation": {
"type": "Alexa.Automation.Operation.Settings.SetDoNotDisturbState",
"version": "1.0",
"payload": {
"endpoints": [
{
"id": "amzn1.alexa.endpoint.1234567"
}
],
"value": true,
"schedule": {
"type": "DURATION",
"value": "PT2H5M"
}
}
}
}
Alexa.Automation.Operation.Settings.SetDoNotDisturbState
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
操作の名前。有効な値: |
文字列 |
◯ |
|
操作スキーマのバージョン。 |
文字列 |
◯ |
|
操作の実行対象であるエンドポイントのセット。 |
文字列の配列 |
◯ |
|
操作の実行対象となるエンドポイントを識別します。 |
文字列 |
◯ |
|
ターゲットデバイスの |
ブール値 |
◯ |
|
指定された時間の範囲内で |
オブジェクト |
✕ |
|
|
文字列 |
◯ |
|
期間または時刻の時間値。ISO 8601形式で指定します。例は以下のとおりです。
|
文字列 |
◯ |
|
タイムゾーン。ISO 8601標準形式で指定します。例: |
文字列 |
✕ |
Triggerオブジェクト
Trigger
オブジェクトは、オートメーションを開始する条件を定義します。定義済みの一連のトリガータイプからタスクを選択します。
プロパティ | 説明 | 型 |
---|---|---|
|
トリガーのタイプ。 |
文字列 |
|
トリガーのバージョン。 |
文字列 |
|
トリガータイプに基づいて、次のサブセクションで定義されているペイロードを使用します。 |
オブジェクト |
Alexa.Automation.Trigger.Voice.CustomUtteranceオブジェクト
このオブジェクトは、オートメーションの実行をトリガーする音声フレーズを表します。このトリガーは、スコープがalexa::enterprise:management
の場合にのみ使用できます。トリガーと同じ発話を使用するオートメーションがユニットにある場合、AlexaはHTTP 400を返します。
以下の例は、音声フレーズに基づくトリガーを示しています。
{
"type": "Alexa.Automation.Trigger.Voice.CustomUtterance",
"version": "1.0",
"payload": {
"utterances": ["utterance A", "utterance B", "utterance C"],
"locale": "en-US"
}
}
Alexa.Automation.Trigger.Voice.CustomUtterance
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
カスタム発話トリガーの名前。 |
文字列 |
◯ |
|
トリガーとなる発話のリスト(優先度順)。 |
文字列の配列 |
◯ |
|
発話テキストが出力されるロケール。BCP-47形式で指定します。ロケールには言語と国/地域の両方を含める必要があります。例: |
文字列 |
◯ |
Alexa.Automation.Trigger.Schedule.AbsoluteTimeオブジェクト
このオブジェクトは、オートメーションの実行をトリガーする時刻を表します。
次の例は、絶対時刻に基づくトリガーを示しています。
{
"type": "Alexa.Automation.Trigger.Schedule.AbsoluteTime",
"version": "1.0",
"payload": {
"schedule": {
"triggerTime": "193209",
"timeZoneId": "UTC",
"recurrence": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO"
}
}
}
Alexa.Automation.Trigger.Schedule.AbsoluteTime
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
絶対時刻スケジュールトリガーの名前。 |
文字列 |
◯ |
|
絶対時刻スケジュールトリガーペイロードのバージョン。 |
文字列 |
◯ |
|
アクションを実行する時刻。 |
文字列 |
◯ |
|
オートメーションのタイムゾーン。夏時間の自動調整を適用する場合に必要です。 |
文字列 |
◯ |
|
繰り返しスケジュールをRRULE形式で指定します。 |
文字列 |
◯ |
Alexa.Automation.Trigger.Schedule.SunriseInCustomLocationオブジェクト
このオブジェクトは、オートメーションの実行をトリガーする日の出時刻を表します。
以下の例は、日の出に基づくトリガーを示しています。
{
"type": "Alexa.Automation.Trigger.Schedule.SunriseInCustomLocation",
"version": "1.0",
"payload": {
"recurrence": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA",
"timeZoneId": "test-timezone-id",
"latitude": 100,
"longitude": 100,
"timeOffset": 100
}
}
Alexa.Automation.Trigger.Schedule.SunriseInCustomLocation
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
絶対時刻スケジュールトリガーの名前。 |
文字列 |
◯ |
|
日の出トリガーのバージョン。 |
文字列 |
◯ |
|
RFC 5545のパターンに準拠した繰り返しの表現。このトリガーは繰り返される必要があります。 |
文字列 |
◯ |
|
日の出住所の緯度。 |
整数 |
◯ |
|
日の出住所の経度。 |
整数 |
◯ |
|
日の出の時刻からの時間オフセット(分単位)。デフォルトは0です。 |
長整数 |
✕ |
Alexa.Automation.Trigger.Schedule.SunsetInCustomLocationオブジェクト
このオブジェクトは、オートメーションの実行をトリガーする日の入り時刻を表します。
以下の例は、日の入りに基づくトリガーを示しています。
{
"type": "Alexa.Automation.Trigger.Schedule.SunsetInCustomLocation",
"version": "1.0",
"payload": {
"recurrence": "RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA",
"timeZoneId": "test-timezone-id",
"latitude": 100,
"longitude": 100,
"timeOffset": 100
}
}
Alexa.Automation.Trigger.Schedule.SunsetInCustomLocation
オブジェクトには、以下のプロパティが定義されています。
パラメーター | 説明 | 型 | 必須 |
---|---|---|---|
|
絶対時刻スケジュールトリガーの名前。 |
文字列 |
◯ |
|
日の入りトリガーのバージョン。 |
文字列 |
◯ |
|
RFC 5545のパターンに準拠した繰り返しの表現。このトリガーは繰り返される必要があります。 |
文字列 |
◯ |
|
日の入り住所の緯度。 |
整数 |
◯ |
|
日の入り住所の経度。 |
整数 |
◯ |
|
日の入りの時刻からの時間オフセット(分単位)。デフォルトは0です。 |
長整数 |
✕ |
関連トピック
最終更新日: 2025 年 05 月 28 日