AlexaリマインダーAPIリファレンス


AlexaリマインダーAPIリファレンス

AlexaリマインダーAPIを使用して、スキルからリマインダーを作成および管理します。このリファレンスでは、AlexaリマインダーAPIで使用できるオペレーションについて説明します。

リマインダーの動作について詳しくは、Alexaリマインダーの概要およびAlexaリマインダー使用のガイドラインを参照してください。

AlexaリマインダーAPIのエンドポイントと認可

APIのエンドポイントは、受信リクエストのcontextオブジェクトのapiEndpoint値から取得します。

  • 北米:https://api.amazonalexa.com

  • ヨーロッパ:https://api.eu.amazonalexa.com

  • 極東:https://api.fe.amazonalexa.com

各APIリクエストには、Authorizationヘッダーが必要です。この値には、Login with Amazonから取得したアクセストークンを使用します。

一部の操作で使用されるidは、リマインダーIDを指します。このidは、リマインダーが作成されると自動的に生成されます。

AlexaリマインダーAPIのセッション内およびセッション外の動作

リマインダーの作成(POST)にはセッション内のアクセストークンを使用します。セッション外のトークンは使用しないでください。

GET、UPDATE、およびDELETEオペレーションは、セッション内およびセッション外の両方のアクセストークンで動作します。セッション外アクセストークンの使用の詳細については、セッション外の対話を参照してください。

リマインダーの作成

スキルはこのAPIを呼び出して、現在のスキルの新しいリマインダーを作成します。

リクエスト

POST /v1/alerts/reminders

リクエストのヘッダー

Content-length: <<バイト長>>
Authorization: Bearer <<アクセストークン>>
Content-Type: application/json

リクエストの本文(SCHEDULED_ABSOLUTE)

1つのリマインダー

{
  {
   "requestTime" : "2019-09-22T19:04:00.672",
   "trigger": {
        "type" : "SCHEDULED_ABSOLUTE",
        "scheduledTime" : "2019-09-22T19:00:00.000",
        "timeZoneId" : "America/Los_Angeles"
   },
   "alertInfo": {
        "spokenInfo": {
            "content": [{
                "locale": "en-US",
                "text": "犬の散歩",
                "ssml": "<speak>犬の散歩</speak>"  
            }]
        }
    },
    "pushNotification" : {                            
         "status" : "ENABLED"
    }
  }
}

繰り返しリマインダー

{
   "requestTime" : "2019-09-22T19:04:00.672",
   "trigger": {
        "type" : "SCHEDULED_ABSOLUTE",
        "timeZoneId" : "America/Los_Angeles",
        "recurrence" : {                     
          "startDateTime": "2019-05-10T6:00:00.000",                       
          "endDateTime" : "2019-08-10T10:00:00.000",  
          "recurrenceRules" : [                                          
            "FREQ=DAILY;BYDAY=SU;BYHOUR=17;BYMINUTE=15;BYSECOND=0;INTERVAL=1;",
            "FREQ=MONTHLY;BYMONTHDAY=5;BYHOUR=10;INTERVAL=1;"
          ]               
        }
   },
   "alertInfo": {
        "spokenInfo": {
            "content": [{
                "locale": "en-US",
                "text": "犬の散歩",
                "ssml": "<speak>犬の散歩</speak>"  
            }]
        }
    },
    "pushNotification" : {                            
         "status" : "ENABLED"
    }
}

リクエストの本文(SCHEDULED_RELATIVE)

{
   "requestTime" : "2019-09-22T19:04:00.672",
   "trigger": {
        "type" : "SCHEDULED_RELATIVE",
        "offsetInSeconds" : "7200"
   },
   "alertInfo": {
        "spokenInfo": {
            "content": [{
                "locale": "en-US",
                "text": "犬の散歩",
                "ssml": "<speak>犬の散歩</speak>"
            }]
        }
    },
    "pushNotification" : {                            
         "status" : "ENABLED"         
    }
}
フィールド 説明 パラメーター
requestTime 有効なISO 8601形式です。イベントが実際に発生した時刻を記述します。 文字列
trigger リマインダーのトリガーに関する情報を含みます。 オブジェクト
trigger.type トリガーのタイプを示します。SCHEDULED_ABSOLUTEまたはSCHEDULED_RELATIVEです。 enum
trigger.offsetInSeconds trigger.typeSCHEDULED_RELATIVEに設定された場合は、このフィールドを使用して、リマインダーが鳴らされるまでの時間を指定します(秒)。 整数
trigger.timeZoneId タイムゾーンのIDを含む文字列です。タイムゾーンの動作を参照してください。 enum
trigger.recurrence トリガーの繰り返し情報に関する情報を含みます。 オブジェクト
trigger.recurrence.startDateTime 任意です。繰り返しパターンの開始時間です。日付と時刻の両方で定義します。デフォルトは"now"です。 列挙
trigger.recurrence.endDateTime 任意です。繰り返しパターンの終了時間です。日付と時刻の両方で定義します。デフォルトは、"no end time"です。 列挙
trigger.recurrence.recurrenceRules 繰り返しアラートのパターンです。RRULE formatで指定します。

サポートされる値: FREQBYMONTHDAYBYDAYBYHOURBYMINUTEBYSECONDINTERVAL

サポートされているFREQのRRULEパターンは、FREQ=DAILYFREQ=WEEKLYFREQ=MONTHLYFREQ=YEARLYです。

• 2つのrecurrence値の最小間隔は、en-USロケールでは1時間、その他すべてのサポートされるロケールでは4時間です。
DAILYWEEKLYMONTHLYパターンの最大間隔は、31日です。
YEARLYパターンの最大間隔は1年です。

これらの制約を満たさない場合は、エラーコード400がスローされます。
文字列
alertInfo アラートに関する情報を含みます。 オブジェクト
alertInfo.spokenInfo アラートに含まれる発話コンテンツに関する情報を含みます。 オブジェクト
alertInfo.spokenInfo.content アラートのコンテンツを含みます。 オブジェクト
alertInfo.spokenInfo.content.locale 値の指定に使用されるロケールです。 enum
alertInfo.spokenInfo.content.text 表示および音声コンテンツに使用されるデフォルトのテキストです。SSML値を指定する場合、このフィールドはテキスト出力のみを処理します。 文字列
alertInfo.spokenInfo.content.ssml 音声合成マークアップ言語(SSML)を使用して生成された、音声コンテンツに使用されるテキストです。このフィールドに値を指定しない場合、alertInfo.spokenInfo.content.textはテキストと音声、両方のコンテンツを処理します。リマインダーは、SSMLのspeakタグのみをサポートします。 文字列
pushNotification プッシュ通知に関する情報を含みます。ENABLEDの場合、リマインダーが鳴動すると、スマートフォンはプッシュ通知を受け取ります。Alexaアプリから、受信側のデバイスの通知を有効にしていることを確認してください。 オブジェクト
pushNotification.status 次のいずれかになります。 ENABLEDDISABLED enum

応答

HTTP/1.1 201 Created

応答の本文

{
  "alertToken": "string",
  "createdTime": "2019-08-14T15:40:55.002Z",
  "updatedTime": "2019-08-14T15:40:55.002Z",
  "status": "ON",
  "version": "string",
  "href": "string"
}
フィールド 説明 パラメーターの型
alertToken このリマインダーアラートの一意のID 文字列
createdTime 有効なISO 8601形式 - このリマインダーアラートの作成時刻です。 文字列
updatedTime 有効なISO 8601形式 - このリマインダーアラートの最終更新時刻です。 文字列
status ONまたはCOMPLETED. 列挙
version このリマインダーアラートのバージョンです。 文字列
href 作成されたアラートを取得するURIです。 文字列

リマインダーの取得

ID(alertToken)を指定してリマインダーを取得します。

リクエスト

GET /v1/alerts/reminders/{id}

応答

応答には、alertsオブジェクト内にリマインダーオブジェクトを含みます。

HTTP/1.1 200 OK
{
  "totalCount": "string",
  "alerts": [
    {
      "alertToken": "string",
      "createdTime": "2019-08-14T15:47:48.386Z",
      "updatedTime": "2019-08-14T15:47:48.386Z",
      "status": "ON",
      "trigger": {
        "type": "SCHEDULED_ABSOLUTE",
        "scheduledTime": "2019-08-14T15:47:48.387Z",
        "offsetInSeconds": 0,
        "timeZoneId": "string",
        "recurrence" : {                     
          "startDateTime": "2019-05-10T6:00:00.000",                       
          "endDateTime" : "2019-08-10T10:00:00.000",  
          "recurrenceRules" : [                                          
             "FREQ=DAILY;BYDAY=SU;BYHOUR=17;BYMINUTE=15;BYSECOND=0;INTERVAL=1;",
             "FREQ=MONTHLY;BYMONTHDAY=5;BYHOUR=10;INTERVAL=1;"
          ]               
        }
      },
      "alertInfo": {
        "spokenInfo": {
          "content": [
            {
              "locale": "string",
              "text": "string",
              "ssml": "<speak>犬の散歩</speak>"
            }
          ]
        }
      },
      "pushNotification": {
        "status": "ENABLED"
      },
      "version": "string"
    }
  ],
  "links": "string"
}

すべてのリマインダーの取得

スキルは、このAPIを呼び出してスキルのすべてのリマインダーを取得します。このリクエストは、完了したリマインダー(ステータスがCOMPLETED)も取得します。

リクエスト

GET /v1/alerts/reminders

応答

応答には、alertsオブジェクト内に1つ以上のリマインダーオブジェクトを含みます。

HTTP/1.1 200 OK
{
  "totalCount": "string",
  "alerts": [
    {
      "alertToken": "string",
      "createdTime": "2019-08-14T16:03:38.811Z",
      "updatedTime": "2019-08-14T16:03:38.811Z",
      "status": "ON",
      "trigger": {
        "type": "SCHEDULED_ABSOLUTE",
        "scheduledTime": "2019-08-14T16:03:38.811Z",
        "offsetInSeconds": 0,
        "timeZoneId": "string",
        "recurrence" : {                     
          "startDateTime": "2019-05-10T6:00:00.000",                       
          "endDateTime" : "2019-08-10T10:00:00.000",  
          "recurrenceRules" : [                                          
             "FREQ=DAILY;BYDAY=SU;BYHOUR=17;BYMINUTE=15;BYSECOND=0;INTERVAL=1;",
             "FREQ=MONTHLY;BYMONTHDAY=5;BYHOUR=10;INTERVAL=1;"
          ]               
        }
      },
      "alertInfo": {
        "spokenInfo": {
          "content": [
            {
              "locale": "string",
              "text": "string",
              "ssml": "<speak>犬の散歩</speak>"
            }
          ]
        }
      },
      "pushNotification": {
        "status": "ENABLED"
      },
      "version": "string"
    }
  ],
  "links": "string"
}

リマインダーの更新

スキルはこのAPIを呼び出して、現在のスキルのリマインダーを更新します。

リクエスト

PUT /v1/alerts/reminders/{id}

リクエストの本文

{
  "createdTime": "2019-08-14T15:53:12.919Z",
  "trigger": {
    "type": "SCHEDULED_ABSOLUTE",
    "scheduledTime": "2019-08-14T15:53:12.919Z",
    "offsetInSeconds": 0,
    "timeZoneId": "string",
    "recurrence" : {                     
      "startDateTime": "2019-05-10T6:00:00.000",                       
      "endDateTime" : "2019-08-10T10:00:00.000",  
        "recurrenceRules" : [                                          
           "FREQ=DAILY;BYDAY=SU;BYHOUR=17;BYMINUTE=15;BYSECOND=0;INTERVAL=1;",
           "FREQ=MONTHLY;BYMONTHDAY=5;BYHOUR=10;INTERVAL=1;"
        ]         
    }
  },
  "alertInfo": {
    "spokenInfo": {
      "content": [
        {
          "locale": "string",
          "text": "string",
          "ssml": "<speak>犬の散歩</speak>"
        }
      ]
    }
  },
  "pushNotification": {
    "status": "ENABLED"
  }
}

応答

HTTP/1.1 200 OK

応答の本文

{
  "alertToken": "string",
  "createdTime": "2019-08-14T15:40:55.002Z",
  "updatedTime": "2019-08-14T15:40:55.002Z",
  "status": "ON",
  "version": "string",
  "href": "string"
}
フィールド 説明 パラメーターの型
alertToken このリマインダーアラートの一意のID 文字列
createdTime 有効なISO 8601形式 - このリマインダーアラートの作成時刻です。 文字列
updatedTime 有効なISO 8601形式 - このリマインダーアラートの最終更新時刻です。 文字列
status ONまたはCOMPLETED. 列挙
version このリマインダーアラートのバージョンです。 文字列
href 作成されたアラートを取得するURIです。 文字列

廃止されたルール

リマインダーの作成

スキルはこのAPIを呼び出して、現在のスキルの新しいリマインダーを作成します。

リクエスト

POST /v1/alerts/reminders

リクエストのヘッダー

Content-length: <<バイト長>>
Authorization: Bearer <<アクセストークン>>
Content-Type: application/json

リクエストの本文(SCHEDULED_ABSOLUTE)

{
   "requestTime" : "2019-09-22T19:04:00.672",
   "trigger": {
        "type" : "SCHEDULED_ABSOLUTE",
        "scheduledTime" : "2019-09-22T19:00:00.000",
        "timeZoneId" : "America/Los_Angeles",
        "recurrence" : {                     
            "freq" : "WEEKLY", //廃止されました               
            "byDay": ["MO"]    //廃止されました            
        }
   },
   "alertInfo": {
        "spokenInfo": {
            "content": [{
                "locale": "en-US",
                "text": "犬の散歩"
            }]
        }
    },
    "pushNotification" : {                            
         "status" : "ENABLED"
    }
}

リクエストの本文(SCHEDULED_RELATIVE)

{
   "requestTime" : "2019-09-22T19:04:00.672",
   "trigger": {
        "type" : "SCHEDULED_RELATIVE",
        "offsetInSeconds" : "7200"
   },
   "alertInfo": {
        "spokenInfo": {
            "content": [{
                "locale": "en-US",
                "text": "犬の散歩"
            }]
        }
    },
    "pushNotification" : {                            
         "status" : "ENABLED"         
    }
}
フィールド 説明 パラメーター
requestTime 有効なISO 8601形式です。イベントが実際に発生した時刻を記述します。 文字列
trigger リマインダーのトリガーに関する情報を含みます。 オブジェクト
trigger.type トリガーのタイプを示します。SCHEDULED_ABSOLUTEまたはSCHEDULED_RELATIVEです。 enum
trigger.offsetInSeconds trigger.typeSCHEDULED_RELATIVEに設定された場合は、このフィールドを使用して、リマインダーが鳴らされるまでの時間を指定します(秒)。 整数
trigger.timeZoneId タイムゾーンのIDを含む文字列です。タイムゾーンの動作を参照してください。 enum
trigger.recurrence トリガーの繰り返し情報に関する情報を含みます。 オブジェクト
trigger.recurrence.freq 廃止されました。 次のいずれかになります。 WEEKLYDAILY。反復の頻度のタイプです。 enum
trigger.recurrence.byDay 廃止されました。 曜日または曜日のリストを指定します。曜日名の最初の2文字を使用します。たとえば、1週間は[ "SU", "MO", "TU", "WE", "TH", "FR", "SA" ]と表します。毎週、複数の曜日にリマインダーをトリガーするには、各曜日に個別にリマインダーを作成する必要があります。 列挙
alertInfo アラートに関する情報を含みます。 オブジェクト
alertInfo.spokenInfo アラートに含まれる発話コンテンツに関する情報を含みます。 オブジェクト
alertInfo.spokenInfo.content アラートのコンテンツを含みます。 オブジェクト
alertInfo.spokenInfo.content.locale 値の指定に使用されるロケールです。 enum
alertInfo.spokenInfo.content.text 表示および読み上げ用に使用されるテキストです。 文字列
pushNotification プッシュ通知に関する情報を含みます。 オブジェクト
pushNotification.status 次のいずれかになります。 ENABLEDDISABLED enum

応答

HTTP/1.1 200 OK

応答の本文

{
  "alertToken": "string",
  "createdTime": "2019-08-14T15:40:55.002Z",
  "updatedTime": "2019-08-14T15:40:55.002Z",
  "status": "ON",
  "version": "string",
  "href": "string"
}
フィールド 説明 パラメーターの型
alertToken このリマインダーアラートの一意のID 文字列
createdTime 有効なISO 8601形式 - このリマインダーアラートの作成時刻です。 文字列
updatedTime 有効なISO 8601形式 - このリマインダーアラートの最終更新時刻です。 文字列
status ONまたはCOMPLETED. 列挙
version このリマインダーアラートのバージョンです。 文字列
href 作成されたアラートを取得するURIです。 文字列

指定したリマインダーを取得する

スキルは、現在のスキルの特定のリマインダーを取得するためにこのAPIを呼び出します。

リクエスト

GET /v1/alerts/reminders/{id}

応答

応答には、alertsオブジェクト内にリマインダーオブジェクトを含みます。

HTTP/1.1 200 OK
{
  "totalCount": "string",
  "alerts": [
    {
      "alertToken": "string",
      "createdTime": "2019-08-14T15:47:48.386Z",
      "updatedTime": "2019-08-14T15:47:48.386Z",
      "status": "ON",
      "trigger": {
        "type": "SCHEDULED_ABSOLUTE",
        "scheduledTime": "2019-08-14T15:47:48.387Z",
        "offsetInSeconds": 0,
        "timeZoneId": "string",
        "recurrence": {
          "freq": "WEEKLY", //廃止されました
          "byDay": [ //廃止されました
            "SU"
          ],
          "interval": 0
        }
      },
      "alertInfo": {
        "spokenInfo": {
          "content": [
            {
              "locale": "string",
              "text": "string"
            }
          ]
        }
      },
      "pushNotification": {
        "status": "ENABLED"
      },
      "version": "string"
    }
  ],
  "links": "string"
}

すべてのリマインダーの取得

スキルは、このAPIを呼び出してスキルのすべてのリマインダーを取得します。このリクエストは、完了したリマインダー(ステータスがCOMPLETED)も取得します。

リクエスト

GET /v1/alerts/reminders

応答

応答には、alertsオブジェクト内に1つ以上のリマインダーオブジェクトを含みます。

HTTP/1.1 200 OK
{
  "totalCount": "string",
  "alerts": [
    {
      "alertToken": "string",
      "createdTime": "2019-08-14T16:03:38.811Z",
      "updatedTime": "2019-08-14T16:03:38.811Z",
      "status": "ON",
      "trigger": {
        "type": "SCHEDULED_ABSOLUTE",
        "scheduledTime": "2019-08-14T16:03:38.811Z",
        "offsetInSeconds": 0,
        "timeZoneId": "string",
        "recurrence": {
          "freq": "WEEKLY", //廃止されました
          "byDay": [ //廃止されました
            "SU"
          ],
          "interval": 0
        }
      },
      "alertInfo": {
        "spokenInfo": {
          "content": [
            {
              "locale": "string",
              "text": "string"
            }
          ]
        }
      },
      "pushNotification": {
        "status": "ENABLED"
      },
      "version": "string"
    }
  ],
  "links": "string"
}

リマインダーの更新

スキルは、現在のスキルのリマインダーを更新するためにこのAPIを呼び出します。

リクエスト

PUT /v1/alerts/reminders/{id}

リクエストの本文

{
  "createdTime": "2019-08-14T15:53:12.919Z",
  "trigger": {
    "type": "SCHEDULED_ABSOLUTE",
    "scheduledTime": "2019-08-14T15:53:12.919Z",
    "offsetInSeconds": 0,
    "timeZoneId": "string",
    "recurrence": {
      "freq": "WEEKLY", //廃止されました
      "byDay": [ //廃止されました
        "SU"
      ],
      "interval": 0
    }
  },
  "alertInfo": {
    "spokenInfo": {
      "content": [
        {
          "locale": "string",
          "text": "string"
        }
      ]
    }
  },
  "pushNotification": {
    "status": "ENABLED"
  }
}

応答

HTTP/1.1 200 OK

応答の本文

{
  "alertToken": "string",
  "createdTime": "2019-08-14T15:40:55.002Z",
  "updatedTime": "2019-08-14T15:40:55.002Z",
  "status": "ON",
  "version": "string",
  "href": "string"
}
フィールド 説明 パラメーターの型
alertToken このリマインダーアラートの一意のID 文字列
createdTime 有効なISO 8601形式 - このリマインダーアラートの作成時刻です。 文字列
updatedTime 有効なISO 8601形式 - このリマインダーアラートの最終更新時刻です。 文字列
status ONまたはCOMPLETED. 列挙
version このリマインダーアラートのバージョンです。 文字列
href 作成されたアラートを取得するURIです。 文字列

リマインダーの削除

スキルは、現在のスキルの特定のリマインダーを削除するためにこのAPIを呼び出します。このオペレーションはアクティブなアラートのみを削除します。完了したものは削除しません。

完了したリマインダーはAlexaアプリに3日間表示され、その後は自動的に削除されます。

リクエスト

DELETE /v1/alerts/reminders/{id}

Response

HTTP/1.1 200 OK

リマインダーオブジェクト

フィールド 説明 パラメーター
requestTime 有効なISO 8601形式で表されたこのリマインダーアラートの作成時刻です。 文字列
trigger 必須です。リマインダーのトリガー情報です。 オブジェクト
trigger.type 次のいずれかになります。 SCHEDULED_ABSOLUTESCHEDULED_RELATIVE。リマインダーは、特定の時刻、またはrequestTimeを起点にoffsetInSecondsで計算された相対時刻に設定できます。 enum
trigger.scheduledTime 有効なISO 8601形式で表されたトリガー予定時刻です。trigger.typeSCHEDULED ABSOLUTEの場合に使用します。 文字列
trigger.offsetInSeconds trigger.typeSCHEDULED_RELATIVEの場合に、このフィールドを使用して、リマインダーが鳴らされるまでの時間を指定します(秒)。 整数
trigger.timeZoneId リマインダーの想定タイムゾーンです。こちらのタイムゾーンのリストを参照してください。 文字列
alertInfo VUI/GUI体裁のリマインダーのアラート情報です。 オブジェクト
alertInfo.spokenInfo 必須です。リマインダーのVUI体裁です。読み上げ情報と表示情報は同じです。 オブジェクト
alertInfo.spokenInfo.content 読み上げ情報と表示情報の内容。1つ以上のロケールにalertInfo.spokenInfo.content.textが必要です。 文字列
alertInfo.spokenInfo.content.locale 読み上げテキストが出力されるロケールです。 Alexaでサポートされるロケールのいずれかです(例:en-US)。
alertInfo.spokenInfo.content.text プレーンテキスト形式の読み上げテキストです。 文字列
pushNotification Alexaモバイルアプリへのリマインダーのプッシュ通知を有効または無効にします。 オブジェクト
pushNotification.status 次のいずれかになります。 ENABLEDDISABLED。デフォルトはENABLEDです。 enum

トリガー時間の計算方法

スキルは、絶対時刻または相対時刻でリマインダーを設定できます。

SCHEDULED_ABSOLUTEまたはSCHEDULED_RELATIVEtrigger.typeを使用して、これらの値を設定します。

絶対計算

例: スキルがあらかじめ計算された固定時刻にリマインダーを設定したい場合 – たとえば、6月1日の午後7時に誰かに薬を飲むようリマインドしたいとします。

このリマインダーを設定するには、SCHEDULED_ABSOLUTEリマインダーと必須のscheduledTimeフィールドに固定値を指定します。

"type" : "SCHEDULED_ABSOLUTE"
"scheduledTime" : "2019-06-01T19:00:00"

相対計算

例: スキルが相対時刻(経過時間に基づいて算出した時刻)にリマインダーを設定したい場合 – たとえば、1時間後に誰かに薬を飲むようリマインドしたいとします。

このリマインダーを設定するには、SCHEDULED_RELATIVEリマインダーを使用します。鳴動時刻は、スキルが設定したrequestedTimeoffsetInSecondsを比較することにより算出します。

"type" : "SCHEDULED_RELATIVE"
"offsetInSeconds" : 3600

リマインダー時刻におけるタイムゾーンの動作

ケース1:デバイスのタイムゾーンでリマインダーを設定する

デバイスと同じタイムゾーンでリマインダーを設定する場合、timezoneIdフィールドを設定する必要はありません。

以下の例では、デバイスの正しいタイムゾーンで午後7時にリマインダーを設定しています。

"scheduledTime" : "2019-06-01T19:00:00"

ケース2: アプリのタイムゾーンでリマインダーを設定する

指定したいリマインダーの日付、時刻、タイムゾーンを指定する場合、リマインダーを鳴動させたい適切なタイムゾーンをtimezoneIdフィールドに設定する必要があります。

以下の例では、予約のリマインダーをニューヨーク時間の6月1日午後7時に設定しています。

"scheduledTime" : "2019-06-01T19:00:00"
"timezoneId" : "America/New_York"

エラーメッセージ

HTTPステータスコード列挙メッセージ
400 INVALID_REQUEST_TIME_FORMATリクエストの日時形式が正しくありません。
INVALID_TRIGGER タイプとフィールドが一致しません。SCHEDULED_ABSOLUTEにoffsetInSecondsが設定されているか、SCHEDULED_RELATIVEにscheduledTimeが設定されています。
TRIGGER_SCHEDULED_TIME_IN_PAST 予定時刻が過去です。
INVALID_TRIGGER_SCHEDULED_TIME_FORMAT 日付形式がサポートされていません。
INVALID_TRIGGER_TIME_ZONE タイムゾーンが有効ではありません。
INVALID_TRIGGER_RECURRENCE 繰り返しパターンが無効です。
UNSUPPORTED_TRIGGER_RECURRENCE 繰り返しパターンが有効ですが現在はサポートされていません。
UNSUPPORTED_TRIGGER_RECURRENCE_INTERVAL 繰り返しパターンは有効ですが、2つの鳴動時間の最小間隔がサポートされていません。
INVALID_ALERT_INFO アラート情報にロケールがないか、無効なロケール形式です。
テキスト文字列が長すぎます。
INVALID_TRIGGER_OFFSET 無効な相対時刻のオフセットです。
UNSUPPORTED_SCHEDULED_TIME_FORMAT トリガー予定時刻の形式がサポートされていません。

サポートされている形式は、YYYY-MM-DDTHH:mm:ss.SSS、YYYY-MM-DDTHH:mm:ss、YYYY-MM-DDTHH:mmです。
401 UNAUTHORIZED トークンは有効ですが適切な権限がありません。
MISSING_BEARER_TOKEN アクセストークンがありません。
INVALID_BEARER_TOKEN 無効または誤ったアクセストークンです。
EXPIRED_BEARER_TOKEN アクセストークンが失効しています。
NOT_IN_SESSION リマインダーはセッション内でのみ作成できます。
403 MAX_REMINDERS_EXCEEDED デバイスのリマインダーの上限(500など)に達しました。
DEVICE_NOT_SUPPORTED このデバイスではリマインダーはサポートされていません。
404 ALERT_NOT_FOUND アラートが存在しません。
409 MISSING_TIME_ZONE デバイスにはタイムゾーンが設定されていません。
429 MAX_RATE_EXCEEDED リクエストはスキルごとに速度25 TPSに調整されます。
500 INTERNAL_SERVER_ERROR
503 SERVICE_UNAVAILABLE
504 DEVICE_NOT_REACHABLE デバイスにアクセスできません。またはデバイスがオフラインです。

リマインダーイベントのサブスクリプション

リマインダーイベントをサブスクリプションすると、AlexaリマインダーAPIを呼び出さずにスキルにこれらのイベントを通知できます。スキルでは、アカウントリンクを使用して外部アプリを組み込み、これらのイベントの通知を使用して、アプリ内のリマインダーの削除や変更など、アプリの変更を行うことができます。

イベントの通知は順不同で届くので、リマインダーイベントの結果としてスキルが実行するアクションでは、イベントのタイムスタンプに注意する必要があります。たとえば、リマインダーが2回更新され、先に更新されたイベントが次に更新されたイベントの後に届いた場合、先に更新されたものは破棄される必要があります。

Alexaは、スキルサービスが応答で確認を送信しなかった場合、イベントの再配信を試行します。スキルサービスは過去のイベントをAlexaから取得することはできず、配信されたイベントを利用する必要があります。

リマインダーイベントのサブスクリプションの詳細については、Alexaスキルのスキルイベントを参照してください。

イベントで使用されるapiEndpoint値

このエンドポイントは、https://api.amazonalexa.comです。

JSON形式のリマインダーイベント

スキルはリマインダーイベントに登録できます。これを設定するには、skill.jsonマニフェストファイルを設定します。この設定の詳細については、スキルサービスでのイベントの使用を参照してください。

設定可能なリマインダーイベントは次のとおりです。

ReminderStarted

リマインダーが鳴動を始めると、AlexaはReminderStartedを生成します。その後、スキルサービスはトリガー時刻に対応するアクションを実行できます。

{
  "version": "1.0",                                 
  "context": {
    "System": {
      "application": {
        "applicationId": "<skill_id>"             
      },
      "user": {
        "userId": "amzn1.ask.account.VEBA...",      
        "accessToken": "<access_token>",          
        "permissions": {
          "consentToken": "Atza|IgEB..."            
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com"  
    }
  },
  "request": {
    "type": "Reminders.ReminderStarted",
    "requestId": "913e4588-62f9-4d5b",              
    "timestamp": "2017-09-15T01:46:14Z",            
    "body": {
      "alertToken": "<alert-token-value>",      
    }
  },
  "session": {
    "attributes": {}
  }
}

ReminderCreated

リマインダーの作成後、AlexaはReminderCreatedイベントを生成します。Alexaは、このイベントを、スキルを使用したユーザーにではなく、リマインダーを作成したスキルに送信します。

{
  "version": "1.0",
  "context": {
    "System": {
      "application": {
        "applicationId": "<skill_id>"
      },
      "user": {
        "userId": "amzn1.ask.account.VEBA...",
        "accessToken": "<access_token>",
        "permissions": {
          "consentToken": "Atza|IgEB..."
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com"
    }
  },
  "request": {
    "type": "Reminders.ReminderCreated",
    "requestId": "<requestId-value>",
    "timestamp": "2017-09-15T01:46:14Z",
    "body": {
      "alertToken": "<alert-token-value>"
    }
  },
  "session": {
    "attributes": {}
  }
}

ReminderDeleted

ユーザーがリマインダーを削除した後、AlexaはReminderDeletedイベントを生成します。Alexaは、リマインダーを作成したスキルにイベントを送信します。

{
  "version": "1.0",
  "context": {
    "System": {
      "application": {
        "applicationId": "<skill_id>"
      },
      "user": {
        "userId": "amzn1.ask.account.VEBA...",
        "accessToken": "<access_token>",
        "permissions": {
          "consentToken": "Atza|IgEB..."
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com"
    }
  },
  "request": {
    "type": "Reminders.ReminderDeleted",
    "requestId": "<requestId-value",
    "timestamp": "2017-09-15T01:46:14Z",
    "body": {
      "alertTokens": "[alert-token-values]"
    }
  },
  "session": {
    "attributes": {}
  }
}

ReminderUpdated

リマインダーが更新されると、AlexaはReminderUpdatedイベントを生成します。このイベントは、リマインダーの現在の状態以外には、更新に関する詳細を提供しません。更新の詳細を取得するには、スキルですべてのリマインダーの取得APIを使用する必要があります。

考えられる更新には、以下のいずれかがあります。

  • 完了した
  • オンにされた

または、リマインダーに次の変更があった場合です。

  • トリガー時刻が更新された
  • ラベルが更新された
{
  "version": "1.0",
  "context": {
    "System": {
      "application": {
        "applicationId": "<skill_id>"
      },
      "user": {
        "userId": "amzn1.ask.account.VEBA...",
        "accessToken": "<access_token>",
        "permissions": {
          "consentToken": "Atza|IgEB..."
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com"
    }
  },
  "request": {
    "type": "Reminders.ReminderUpdated",
    "requestId": "913e4588-62f9-4d5b",
    "timestamp": "2017-09-15T01:46:14Z",
    "body": {
      "status": "DEFERRED",
      "alertToken": "09d9d7df-05be-438c-veba"
    }
  },
  "session": {
    "attributes": {}
  }
}

ReminderStatusChanged

リマインダーのステータスが変更されると、AlexaはReminderStatusChangedイベントを生成します。

考えられるステータスには、以下のいずれかがあります。

  • オン
  • 完了した
  • 延期
{
  "version": "1.0",
  "context": {
    "System": {
      "application": {
        "applicationId": "<skill_id>"
      },
      "user": {
        "userId": "amzn1.ask.account.VEBA...",
        "accessToken": "<access_token>",
        "permissions": {
          "consentToken": "Atza|IgEB..."
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com"
    }
  },
  "request": {
    "type": "Reminders.ReminderStatusChanged",
    "requestId": "913e4588-62f9-4d5b",
    "timestamp": "2017-09-15T01:46:14Z",
    "body": {
      "status": "COMPLETED",
      "alertToken": "09d9d7df-05be-438c-veba"
    }
  },
  "session": {
    "attributes": {}
  }
}


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

最終更新日: 2023 年 12 月 18 日