オートメーションREST APIリファレンス


オートメーション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

オートメーションテンプレートを作成する

POST /v2/automations/templates

オートメーションテンプレートを削除する

DELETE /v2/automations/templates/{templateId}

オートメーションテンプレートを取得する

GET /v2/automations/templates/{templateId}

オートメーションテンプレートをリストする

GET /v2/automations/templates?expand=all&maxResults={maxResults}&nextToken={nextToken}

オートメーションの管理

操作 HTTPメソッドとURI

オートメーションを作成する

POST /v2/automations

オートメーションを削除する

DELETE /v2/automations/{automationId}

オートメーションを取得する

GET /v2/automations/{automationId}

オートメーションをリストする

GET /v2/automations?associatedEntity.type=UNIT&associatedEntity.id={id}&expand=all&maxResults={maxResults}&nextToken={nextToken}

オートメーションを更新する

PUT /v2/automations/{automationId}

オートメーションテンプレートを作成する

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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

クリップボードにコピーされました。

{
  "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"
    }
  }
}

リクエスト本文のプロパティ

パラメーター 説明 必須

template

オートメーションテンプレート。

オブジェクト

template.trigger

オートメーションテンプレートのトリガー。

Triggerオブジェクト

template.operations

オートメーションテンプレートの操作。
serialparalleloperationのいずれかのプロパティを格納します。合計で最大150個の操作を含めることができます。

オブジェクト

template.operations.serial

Alexaで順番に呼び出す操作のリスト。

Operationオブジェクトの配列

template.operations.parallel

Alexaで並列的に呼び出す操作のリスト。
配列に追加できる要素の最大数は 90です。

Operationオブジェクトの配列

template.operations.operation

単一の操作。

Operationオブジェクト

dataDefinition

オートメーションテンプレート内部のデータパラメーターの定義。このオブジェクト内の各キーがパラメーターの定義です。
このデータは、JSON Schema Validation: A Vocabulary for Structural Validation of JSONの仕様に従います。
例:{data.customUtterance.text}

オブジェクト

friendlyName

開発者に表示されるオートメーションテンプレート名。

オブジェクト

friendlyName.value

フレンドリー名のテキスト。

オブジェクト

friendlyName.value.text

オートメーションテンプレートの名前。

文字列

応答

正常に完了すると、HTTP 201 Createdと共に、テンプレートIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。

応答本文の例

{
  "templateId": "amzn1.alexa.automation.template.1"
}

応答本文のパラメーター

パラメーター 説明

templateId

オートメーションテンプレートの一意のID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

HTTPステータスコード

ステータス 説明

201 Created

オートメーションテンプレートが正常に作成されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • リクエスト本文の形式が正しくありません。
  • トリガーまたは操作が存在しません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションテンプレートを削除する

指定されたテンプレート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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

templateId

パス

削除するオートメーションテンプレートのID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、HTTP 204 No Contentが返されます。このテンプレートに基づくオートメーションインスタンスが存在する場合、AlexaはHTTP 400 Bad Requestを返します。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。

応答本文の例

応答の本文はありません。

応答本文のパラメーター

応答の本文はありません。

HTTPステータスコード

ステータス 説明

204 No Content

テンプレートが正常に削除されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • このテンプレートに基づくオートメーションインスタンスが存在します。
  • テンプレートIDの形式が正しくありません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションテンプレートを取得する

指定されたテンプレート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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

templateId

パス

オートメーションテンプレートのID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、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"
    }
  }
}

応答本文のパラメーター

パラメーター 説明

templateId

オートメーションテンプレートのID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

template.trigger

オートメーションテンプレートのトリガー。

Triggerオブジェクト

template.operations

オートメーションテンプレートの操作。
serialparalleloperationのいずれかのプロパティを格納します。

オブジェクト

template.operations.serial

Alexaで順番に呼び出す操作のリスト。

Operationオブジェクトの配列

template.operations.parallel

Alexaで並列的に呼び出す操作のリスト。
配列に追加できる要素の最大数は 90です。

Operationオブジェクトの配列

template.operations.operation

単一の操作。

Operationオブジェクト

dataDefinition

オートメーションテンプレート内部のデータパラメーターの定義。このオブジェクト内の各キーがパラメーターの定義です。
このデータは、JSON Schema Validation: A Vocabulary for Structural Validation of JSONの仕様に従います。
例:{data.customUtterance.text}

オブジェクト

friendlyName

開発者に表示されるオートメーションテンプレート名。

オブジェクト

friendlyName.value

フレンドリー名のテキスト。

オブジェクト

friendlyName.value.text

オートメーションテンプレートの名前。

文字列

HTTPステータスコード

ステータス 説明

200 OK

リクエストされたテンプレートが応答本文に含まれています。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • テンプレートIDの形式が正しくありません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションテンプレートをリストする

オートメーションテンプレートをリストします。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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

expand

クエリ

各テンプレートに関する詳細情報を取得します。expandが指定されていない場合、AlexaはテンプレートIDのリストを返します。有効な値はallです。

文字列

maxResults

クエリ

応答で返される結果の最大数。
有効な値は 1~100です。デフォルト値は 20です。

整数

nextToken

クエリ

前回の応答で受け取ったトークン。
ページ分割された応答の反復処理を行う場合に含めます。このトークンがない場合、応答には結果の先頭ページが含められます。詳細については、クエリ結果のページ分割を処理するを参照してください。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、HTTP 200 OKと共に、テンプレートのリストが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。

応答本文の例

expandallに設定されていない場合の応答の例を以下に示します。

expandallに設定されている場合の応答の例を以下に示します。

応答本文のパラメーター

パラメーター 説明

results

クエリへの応答として返されたオートメーションテンプレートのリスト。

オブジェクトの配列

results[].templateId

オートメーションテンプレートのID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

results[].template.trigger

オートメーションテンプレートのトリガー。

Triggerオブジェクト

results[].template.operations

オートメーションテンプレートの操作。
serialparalleloperationのいずれかのプロパティを格納します。

オブジェクト

results[].template.operations.serial

Alexaで順番に呼び出す操作のリスト。

Operationオブジェクトの配列

results[].template.operations.parallel

Alexaで並列的に呼び出す操作のリスト。
配列に追加できる要素の最大数は 90です。

Operationオブジェクトの配列

results[].template.operations.operation

単一の操作。

Operationオブジェクト

results[].dataDefinition

オートメーションテンプレート内部のデータパラメーターの定義。このオブジェクト内の各キーがパラメーターの定義です。
このデータは、JSON Schema Validation: A Vocabulary for Structural Validation of JSONの仕様に従います。
例:{data.customUtterance.text}

オブジェクト

results[].friendlyName

開発者に表示されるオートメーションテンプレート名。

オブジェクト

results[].friendlyName.value

フレンドリー名のテキスト。

オブジェクト

results[].friendlyName.value.text

オートメーションテンプレートの名前。

文字列

paginationContext

返す結果がほかにもあるかどうかを示します。

オブジェクト

paginationContext.nextToken

応答が分割された場合に含まれます。
この値は、後続のリクエストで、このリクエストと同じフィルターパラメーターと共に使用します。
結果がこれ以上ない場合、nextTokenはnullになります。

文字列

HTTPステータスコード

ステータス 説明

200 OK

テンプレートのリストが応答本文に含まれています。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションを作成する

指定されたオートメーションテンプレートから、指定されたユニット用のオートメーションインスタンスを作成します。

この操作は以下の国で使用できます。

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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

クリップボードにコピーされました。

{
    "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"
        }
    }
}

リクエスト本文のプロパティ

パラメーター 説明 必須

associatedEntity

Alexaがこのオートメーションを実行する先となる、関連付けられたエンティティ(ユニットなど)。

オブジェクト

associatedEntity.type

エンティティのタイプ。
有効な値: UNIT

文字列

associatedEntity.id

ユニットを識別します。
amzn1.alexa.unit.did.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

automation.templateId

オートメーションインスタンスの作成元になるオートメーションテンプレートのID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

automation.data

カスタム変数および値の、キーと値のマップ。
Alexaは、テンプレートに指定されているdataDefinition JSONスキーマに照らしてdataフィールド内のフィールドを検証します。検証は純粋にスキーマに関する検証です。
このデータは、JSON Schema Validation: A Vocabulary for Structural Validation of JSONの仕様に従います。
例:{data.customUtterance.text}

オブジェクト

friendlyName

リクエスターが定義したオートメーション名。開発者は、オートメーションインスタンスを区別する目的でこのフィールドを定義することもできます。

NameValueオブジェクト

応答

正常に完了すると、HTTP 201 Createdと共に、オートメーションIDが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。

応答本文の例

{
  "automationId": "amzn1.alexa.automation.123"
}  

応答本文のパラメーター

パラメーター 説明

automationId

Alexaによって生成された、新しいオートメーションのオートメーションID。
amzn1.alexa.automation.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

HTTPステータスコード

ステータス 説明

201 Created

オートメーションが正常に作成されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • リクエスト本文の形式が正しくありません。
  • トリガーまたは操作が存在しません。
  • templateIdまたはunitIdの形式が正しくありません。
  • テンプレートに未解決のバインドされていない変数があります。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションを削除する

指定されたオートメーション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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

automationId

パス

ユニットから削除するオートメーションを識別します。
amzn1.alexa.automation.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、HTTP 204 No Contentが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。

応答本文の例

応答の本文はありません。

応答本文のパラメーター

応答の本文はありません。

HTTPステータスコード

ステータス 説明

204 No Content

オートメーションが正常に削除されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • オートメーションIDの形式が正しくありません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションを取得する

指定されたオートメーション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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

automationId

パス

オートメーションを識別します。
amzn1.alexa.automation.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、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"
                  }
                }
              ]
            }
          }
        }
      ]
    }
  }
}

応答本文のパラメーター

パラメーター 説明

automationId

リクエストされたオートメーションを識別します。
amzn1.alexa.automation.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

associatedEntity

Alexaがこのオートメーションを実行する先となる、関連付けられたエンティティ(ユニットなど)。

オブジェクト

associatedEntity.type

エンティティのタイプ。
有効な値: UNIT

文字列

associatedEntity.id

ユニットを識別します。
amzn1.alexa.unit.did.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

automation.templateId

オートメーションインスタンスの作成元となったオートメーションテンプレートのID。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

automation.trigger

オートメーションのトリガー。

Triggerオブジェクト

automation.operations

オートメーションがトリガーされたときに呼び出される操作。
serialparalleloperationのいずれかのプロパティを格納します。

オブジェクト

automation.operations.serial

Alexaで順番に呼び出す操作のリスト。

Operationオブジェクトの配列

automation.operations.parallel

Alexaで並列的に呼び出す操作のリスト。
配列に追加できる要素の最大数は 90です。

Operationオブジェクトの配列

automation.operations.operation

単一の操作。

Operationオブジェクト

friendlyName

(オプション)オートメーションの名前。開発者は、オートメーションインスタンスを区別する目的でこのフィールドを定義することもできます。

NameValueオブジェクト

HTTPステータスコード

ステータス 説明

200 OK

リクエストされたオートメーションが応答本文に含まれています。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • オートメーションIDの形式が正しくありません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションをリストする

指定された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

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

type

クエリ

エンティティのタイプ。
有効な値: UNIT

文字列

id

クエリ

ユニットID。
指定されたユニットに関連付けられているオートメーションで結果をフィルタリングします。amzn1.alexa.unit.did.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

templateId

クエリ

オートメーションテンプレートのIDで結果をフィルタリングします。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

expand

クエリ

各オートメーションに関する詳細情報を取得します。expandが指定されていない場合、AlexaはオートメーションIDのリストを返します。有効な値はallです。

文字列

maxResults

クエリ

応答で返される結果の最大数。
有効な値は 1~100です。デフォルト値は 20です。

整数

nextToken

クエリ

前回の応答で受け取ったトークン。
ページ分割された応答の反復処理を行う場合に含めます。このトークンがない場合、応答には結果の先頭ページが含められます。詳細については、クエリ結果のページ分割を処理するを参照してください。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

リクエストの本文はありません。

リクエスト本文のプロパティ

リクエストの本文はありません。

応答

正常に完了すると、オートメーションのリストと共にHTTP 200が返されます。

応答本文の例

expandallに設定されていない場合の応答の例を以下に示します。

expandallに設定されている場合の応答の例を以下に示します。

応答本文のパラメーター

パラメーター 説明

results[]

クエリパラメーターでフィルタリングされたオートメーションのリスト。

オブジェクトの配列

results[].automationId

オートメーションを識別します。

文字列

results[].associatedEntity

(オプション)Alexaがこのオートメーションを実行する先となる、関連付けられたエンティティ(ユニットなど)。
リクエストにexpandパラメーターを含めた場合に返されます。

文字列

results[].associatedEntity.type

エンティティのタイプ。
有効な値: UNIT

文字列

results[].associatedEntity.id

ユニットを識別します。
amzn1.alexa.unit.did.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

results[].automation.templateId

(オプション)オートメーションインスタンスの作成元となったオートメーションテンプレートのID。リクエストにexpandパラメーターを含めた場合に返されます。
amzn1.alexa.automation.template.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

results[].automation.trigger

(オプション)オートメーションのトリガー。
リクエストにexpandパラメーターを含めた場合に返されます。

Triggerオブジェクト

results[].automation.operations

(オプション)オートメーションテンプレートの操作。
リクエストにexpandパラメーターを含めた場合に返されます。serialparalleloperationのいずれかのプロパティを格納します。

オブジェクト

results[].automation.operations.serial

Alexaで順番に呼び出す操作のリスト。

Operationオブジェクトの配列

results[]..operations.parallel

Alexaで並列的に呼び出す操作のリスト。
配列に追加できる要素の最大数は 90です。

Operationオブジェクトの配列

results[].automation.operations.operation

単一の操作。

Operationオブジェクト

results[].friendlyName

(オプション)オートメーションの名前。開発者は、オートメーションインスタンスを区別する目的でこのフィールドを定義することもできます。

NameValueオブジェクト

paginationContext

返す結果がほかにもあるかどうかを示します。

オブジェクト

paginationContext.nextToken

応答が分割された場合に含まれます。
この値は、後続のリクエストで、このリクエストと同じフィルターパラメーターと共に使用します。
結果がこれ以上ない場合、nextTokenはnullになります。

文字列

HTTPステータスコード

ステータス 説明

200 OK

オートメーションのリストが応答本文に含まれています。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • オートメーションIDの形式が正しくありません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オートメーションを更新する

指定されたオートメーションを更新します。現時点では、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}

リクエストパスとリクエストヘッダーのパラメーター

パラメーター 指定場所 説明 必須

automationId

パス

オートメーションを識別します。
amzn1.alexa.automation.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

access token

ヘッダー

ユーザーのアクセストークン。
LWAトークンに設定します。

文字列

リクエスト本文の例

クリップボードにコピーされました。

{
  "automation":{
    "data":{
      "customUtterance":{
        "text":"Good night"
      }
    }
  }
}

リクエスト本文のプロパティ

パラメーター 説明 必須

automation

更新するデータを定義します。

オブジェクト

automation.data

テンプレートに定義されている変数の解決に使用するデータのキー/値マッピング。たとえば、${data.customUtterance}datacustomerUtteranceフィールドのことです。${}で示されている変数を含めます。

オブジェクト

応答

正常に完了すると、HTTP 204 No Contentが返されます。エラーの場合は、適切なHTTPステータスコードが返され、応答の本文にErrorオブジェクトが追加されます。

応答本文の例

応答の本文はありません。

応答本文のプロパティ

応答の本文はありません。

HTTPステータスコード

ステータス 説明

204 No Content

オートメーションが正常に更新されました。

400 Bad Request

リクエスト本文の1つ以上のプロパティが無効であることを示します。

次のいずれかの理由により、リクエストが有効ではありません。

  • オートメーションIDの形式が正しくありません。
  • ${}で示されている変数がデータに見つかりません。

401 Unauthorized

リクエストに認可トークンが含まれていないか、含まれているトークンが有効期限切れまたは無効です。または、リソースにアクセスする権限がありません。

403 Forbidden

認可トークンは有効ですが、リクエストされたオペレーションが許可されていないことを示します。

404 Not Found

リクエストされたリソースが見つかりません。

429 Too Many Requests

許可されたレート制限(単位時間あたりのリクエスト数として指定された値)を超過しています。リクエストの再試行には指数バックオフを使用します。

500 Server Error

サーバーでエラーが発生しました。リクエストの再試行には指数バックオフを使用します。

503 Service Unavailable

サーバーがメンテナンスのために停止しているか、過負荷状態または受信リクエストを処理できない状態になっています。

オブジェクトの定義

オートメーションAPIでは、以下のオブジェクトが定義されています。

Errorオブジェクト

Errorオブジェクトは、エラーが発生したときに応答に含まれるエラーのタイプとメッセージを定義します。

以下は、応答本文の例です。

{
    "type": "BAD_REQUEST",
    "message": "The request is malformed or is missing any required parameters."
}

Errorオブジェクトには、以下のプロパティが定義されています。

プロパティ 説明

type

発生したエラーのタイプ。
具体的なエラータイプについては、各操作のHTTPステータスコードの表を参照してください。

文字列

message

読み取り可能なエラーメッセージ。エラーメッセージはデバッグやログ記録のみを目的としたものです。ユーザーには表示しないようにする必要があります。エラーメッセージの内容に依存するビジネスロジックを構築しないようにする必要があります。

文字列

NameValueオブジェクト

NameValueオブジェクトは、オブジェクトの名前のコンテナーです。

以下の表は、オブジェクトのプロパティの定義です。

プロパティ 説明

type

値フィールドの形式。現時点でサポートされる形式は、プレーンテキストのみです。
有効な値は PLAINです。

文字列

value

名前。

オブジェクト

value.text

プレーンテキストで指定された名前。
有効な長さは 1~100文字です。
有効な値は、 UTF-8エンコーディングの英数字および特殊文字_ - = # ; : ? @ &から成る文字列です。スペースとピリオドは使用できません。

文字列

Notificationオブジェクト

Notificationオブジェクトは、Alexa.Automation.Operation.Notification.Notify操作の一部として再生されるアナウンスを定義します。

パラメーター 説明 必須

type

通知の配信タイプ。
有効な値: Announcement

文字列

content

発話および画面表示を目的とするコンテンツの各種バリアント。

オブジェクト

content.variants[]

ユーザーに配信される通知コンテンツ。

オブジェクトの配列

content.variants[].type

ローカライズされたテキスト入力。
有効な値: SpokenText

文字列

content.variants[].values[]

コンテンツ値の配列。
各要素はローカライズされたテキスト入力です。

オブジェクトの配列

content.variants[].values[].locale

読み上げテキストのロケール。BCP-47形式で指定します。ロケールには言語と国/地域の両方を含める必要があります。例:en-US

文字列

content.variants[].values[].text

プレーンテキスト形式の読み上げテキスト。
最大長は 1024文字または2048バイトです。

文字列

Operationオブジェクト

Operationオブジェクトは、トリガー条件が満たされたときにAlexaによって呼び出されるアクションまたはタスクを定義します。定義済みの一連の操作からタスクを選択します。

プロパティ 説明

type

操作のタイプ。
有効な値は、 Alexa.Automation.Operation.Notification.NotifyAlexa.Automation.Operation.Brightness.SetBrightnessAlexa.Automation.Operation.Power.TurnOnAlexa.Automation.Operation.Power.TurnOffAlexa.Automation.Operation.Speaker.SetVolumeAlexa.Automation.Operation.Media.StopAlexa.Automation.Operation.Thermostat.SetTargetSetpointAlexa.Automation.Operation.Settings.SetDoNotDisturbStateです。

文字列

version

操作のバージョン。

文字列

payload

操作タイプに基づいて、次のセクションで定義されているペイロードを使用します。

オブジェクト

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

アナウンスの名前。
有効な値: Alexa.Automation.Operation.Notification.Notify

文字列

version

アナウンス操作ペイロードのバージョン。

文字列

payload.notification

通知オブジェクト。

オブジェクト

payload.notification.variants

再生するアナウンスのリスト。

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

endpoints

操作の実行対象であるエンドポイントのセット。
サポートされている最大エンドポイント数: 1。

文字列の配列

endpoints[].id

操作の実行対象となるエンドポイントを識別します。
amzn1.alexa.endpoint.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

payload.brightness

デバイスに設定する明るさをパーセンテージで示します。
有効な値は 0~100です(両端の値を含みます)。

整数

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

endpoints

操作の実行対象であるエンドポイントのセット。
サポートされている最大エンドポイント数: 1。

文字列の配列

endpoints[].id

操作の実行対象となるエンドポイントを識別します。
amzn1.alexa.endpoint.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

endpoints

操作の実行対象であるエンドポイントのセット。
サポートされている最大エンドポイント数: 1。

文字列の配列

endpoints[].id

操作の実行対象となるエンドポイントを識別します。
amzn1.alexa.endpoint.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

endpoints

操作の実行対象であるエンドポイントのセット。
サポートされている最大エンドポイント数: 1。

文字列の配列

endpoints[].id

操作の実行対象となるエンドポイントを識別します。
amzn1.alexa.endpoint.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

volume

エンドポイントのスピーカーの音量を設定する絶対音量。
有効な範囲は 0~100です。

整数

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

操作の名前。
有効な値: Alexa.DeviceControls.Stop

文字列

version

操作スキーマのバージョン。

文字列

endpoints

操作の実行対象であるエンドポイントのセット。
サポートされている最大エンドポイント数: 1。

文字列の配列

endpoints[].id

操作の実行対象となるエンドポイントを識別します。
amzn1.alexa.endpoint.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

payload.targetSetpoint

単一設定点サーモスタットの目標設定点。

Temperature

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

操作の名前。有効な値: Alexa.DeviceControls.DoNotDisturb

文字列

version

操作スキーマのバージョン。

文字列

endpoints

操作の実行対象であるエンドポイントのセット。
サポートされている最大エンドポイント数: 1。

文字列の配列

endpoints[].id

操作の実行対象となるエンドポイントを識別します。
amzn1.alexa.endpoint.{id}というAmazon Common Identifier(ACI)形式で表します。

文字列

payload.value

ターゲットデバイスのDoNotDisturbモードを有効にするかどうか。

ブール値

payload.schedule

指定された時間の範囲内でDoNotDisturbモードを有効および無効にするスケジュール。このスケジュールが設定されていない場合、DoNotDisturbモードは恒久的に変更されます。

オブジェクト

payload.schedule.type

DoNotDisturb操作は以下の2種類の時刻をサポートします。
  • DURATION:更新されたDoNotDisturbステータスを指定された時間維持します。
  • TIME:指定された時刻になるまで、更新されたDoNotDisturbステータスを維持します。

文字列

payload.schedule.value

期間または時刻の時間値。ISO 8601形式で指定します。例は以下のとおりです。
  • 期間: PT2H5M - 2時間5分
  • 時刻: T18:00 - 午後6時まで

文字列

payload.schedule.timeZone

タイムゾーン。ISO 8601標準形式で指定します。例: America/New_York。指定がない場合、timeZoneは操作作成時のデバイスのデフォルト値に設定されます。スケジュールのタイプがDURATIONの場合、timeZoneは無視されます。

文字列

Triggerオブジェクト

Triggerオブジェクトは、オートメーションを開始する条件を定義します。定義済みの一連のトリガータイプからタスクを選択します。

プロパティ 説明

type

トリガーのタイプ。
有効な値は、です。

文字列

version

トリガーのバージョン。

文字列

payload

トリガータイプに基づいて、次のサブセクションで定義されているペイロードを使用します。

オブジェクト

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

カスタム発話トリガーの名前。
有効な値: Alexa.Trigger.CustomUtterance

文字列

payload.utterances

トリガーとなる発話のリスト(優先度順)。

文字列の配列

payload.locale

発話テキストが出力されるロケール。BCP-47形式で指定します。ロケールには言語と国/地域の両方を含める必要があります。例:en-US

文字列

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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

絶対時刻スケジュールトリガーの名前。
有効な値: Alexa.Automation.Trigger.Schedule.AbsoluteTime

文字列

version

絶対時刻スケジュールトリガーペイロードのバージョン。

文字列

payload.schedule.triggerTime

アクションを実行する時刻。
RFC 5545 TIME形式で指定しますが、「Z」表記は使用しません。

文字列

payload.schedule.timeZoneId

オートメーションのタイムゾーン。夏時間の自動調整を適用する場合に必要です。
有効な値については、List of tz database time zonesを参照してください。

文字列

payload.schedule.recurrence

繰り返しスケジュールを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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

絶対時刻スケジュールトリガーの名前。
有効な値: Alexa.Automation.Trigger.Schedule.SunriseInCustomLocation

文字列

version

日の出トリガーのバージョン。

文字列

payload.recurrence

RFC 5545のパターンに準拠した繰り返しの表現。このトリガーは繰り返される必要があります。

文字列

payload.latitude

日の出住所の緯度。

整数

payload.longitude

日の出住所の経度。

整数

payload.timeOffset

日の出の時刻からの時間オフセット(分単位)。デフォルトは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オブジェクトには、以下のプロパティが定義されています。

パラメーター 説明 必須

type

絶対時刻スケジュールトリガーの名前。
有効な値: Alexa.Automation.Trigger.Schedule.SunsetInCustomLocation

文字列

version

日の入りトリガーのバージョン。

文字列

payload.recurrence

RFC 5545のパターンに準拠した繰り返しの表現。このトリガーは繰り返される必要があります。

文字列

payload.latitude

日の入り住所の緯度。

整数

payload.longitude

日の入り住所の経度。

整数

payload.timeOffset

日の入りの時刻からの時間オフセット(分単位)。デフォルトは0です。

長整数


このページは役に立ちましたか?

最終更新日: 2025 年 05 月 28 日