プロアクティブイベントのスキーマ



プロアクティブイベントのスキーマ

プロアクティブイベントAPIは、以下で説明するイベントスキーマをサポートしています。プロアクティブイベントを使うようスキルサービスを設定する方法については、ProactiveEvents APIを参照してください。

その他のスキーマが必要な場合は、リクエストをAlexaスキルDeveloper voice - 日本語に記入してください。

イベントの命名規則とテンプレート

すべてのプロアクティブイベントスキーマでは、同じ形式が使用されます。イベント名はすべてAMAZON.というプレフィックスで始まります。これは名前空間名とそれに続くピリオド(.)です。名前の2番目の部分はイベントのタイプを表します。キャメルケースが使用され、その後にピリオド(.)が続きます。名前の3番目の部分はイベントの状態を表します。以下は、プロアクティブイベントのテンプレートの例です。

{
  "event": {
    "name": "AMAZON.EventNamePartOne.EventNamePartTwo",
    "payload": {
      "sampleAttribute": {
        "nestedStringAttribute": "sampleValue"
      },
      "anotherSampleAttribute": {
        "nestedIntegerAttribute": 1,
        "nestedFloatAttribute": 10.5
      }
    }
  }
}

イベントカタログ

次の表に、スキルで使用できるプロアクティブイベントタイプのリストを示します。

イベントの説明 通知の例 イベント名
天気の注意報や警報 この地域に竜巻警報が発令されています。この情報はお天気サンプルコーポレーションがお送りしています。 AMAZON.WeatherAlert.Activated
スポーツの試合速報 フルーツリーグの試合速報です。オレンジズ1点、アップルズ2点です。 AMAZON.SportsEvent.Updated
メッセージのリマインダー 山田太郎から、3件の新規、至急のメッセージが届いています。 AMAZON.MessageAlert.Activated
注文の最新ステータス Amazonでの予約注文を受け付けました。
Amazonでのご注文を受け付けました。
Amazonでのご注文は出荷準備中です。
Amazonでのご注文は出荷済みです。2019年5月18日までのお届け予定です。
Amazonでのご注文は配達中です。2019年5月20日までのお届け予定です。
Amazonでのご注文は2019年5月2日に配達を完了しました。
Amazonでのご注文は配達が完了しています。
AMAZON.OrderStatus.Updated
予約の確認 2019年5月10日のXYZ歯科での根管治療の予約が確認されました。 AMAZON.Occasion.Updated
ごみ収集のリマインダー 次の火曜日は、ガラスの収集日です。 AMAZON.TrashCollectionAlert.Activated
メディアコンテンツの利用状況通知 「お宝ハンター」は、
2019年1月3日にAmazon Videoで放送されます。
AMAZON.MediaContent.Available
ソーシャルゲームの招待の通知 友人の鈴木一郎から、チェスのゲームに招待されました。 AMAZON.SocialGameInvite.Available

AMAZON.WeatherAlert.Activated

目的: 天気の注意報や警報です。

ユーザー通知: 「この地域に<weatherAlert.alertType>が発令されています。この情報は<weatherAlert.source>がお送りしています」

ソースを指定しない場合、Alexaサービスによって「この情報は<weatherAlert.source>がお送りしています」という文が省略されます。

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
weatherAlert WeatherAlert なし 天気の注意報や警報の情報を格納するオブジェクトです。
weatherAlert.source 文字列 天気の注意報や警報情報のソースです。
weatherAlert.alertType WeatherAlertType なし 次のいずれかになります。 TORNADOHURRICANESNOW_STORMTHUNDER_STORM

localizedAttributesのパラメーター

パラメーターは、localizedAttributes配列の各項目に使われます。各項目にはlocalesourceが含まれます。このため、配列の項目はサポートされるロケールごとに存在します。ロケール固有の値を用意したlocalizedAttrributesのみが文字列になります。列挙値は自動的にローカライズされます。

名前 必須 説明
locale 列挙 サポートされるロケールのいずれかです(例:「en-US」)。
source 文字列 情報発信者です。

{
  "event": {
    "name": "AMAZON.WeatherAlert.Activated",
    "payload": {
      "weatherAlert": {
        "source": "localizedattribute:source",
        "alertType": "TORNADO"
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "source": "お天気サンプルコーポレーション"
    }
  ]
}

AMAZON.SportsEvent.Updated

目的: サッカーイベントの最新スコア

ユーザー通知:「<sportsEvent.eventLeague.name>の試合速報です。<update.teamName>が得点しました。<sportsEvent.awayTeamStatistic.team.name><sportsEvent.awayTeamStatistic.score>点、<sportsEvent.homeTeamStatistic.team.name><sportsEvent.homeTeamStatistic.score>点です」

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート
update Goal なし
update.scoreEarned 整数 なし
update.teamName 文字列
sportsEvent SportsEvent なし
sportsEvent.eventLeague Soccer なし
sportsEvent.eventLeague.name 文字列
sportsEvent.homeTeamStatistic GameStatistic なし
sportsEvent.homeTeamStatistic.team SportsTeam なし
sportsEvent.homeTeamStatistic.team.name 文字列
sportsEvent.homeTeamStatistic.score 整数 なし
sportsEvent.awayTeamStatistic GameStatistic なし
sportsEvent.awayTeamStatistic.team SportsTeam なし
sportsEvent.awayTeamStatistic.team.name 文字列
sportsEvent.awayTeamStatistic.score 整数 なし

localizedAttributesのパラメーター

パラメーターは、localizedAttributes配列の各項目に使われます。各項目にはlocaleeventLeagueNameが含まれます。このため、配列の項目はサポートされるロケールごとに存在します。

名前 必須 説明
locale 列挙 サポートされるロケールのいずれかです(例:「en-US」)。
eventLeagueName 文字列 イベントのリーグの名前です。

{
  "event": {
    "name": "AMAZON.SportsEvent.Updated",
    "payload": {
      "update": {
        "scoreEarned": 1,
        "teamName": "アップルズ"
      },
      "sportsEvent": {
        "eventLeague": {
          "name": "localizedattribute:eventLeagueName"
        },
        "homeTeamStatistic": {
          "team": {
            "name": "オレンジズ"
          },
          "score": 1
        },
        "awayTeamStatistic": {
          "team": {
            "name": "アップルズ"
          },
          "score": 2
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "eventLeagueName": "フルーツリーグ"
    }
  ]
}

AMAZON.MessageAlert.Activated

目的: メッセージのリマインダーです。

ユーザー通知: 「<messageGroup.creator.name>から、<messageGroup.count>件の<state.freshness>、<state.status>、<urgency>のメッセージが届いています」

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
state MessageState なし メッセージの状態を表すオブジェクトです。
state.status MessageStatus 次のいずれかになります。 UNREADFLAGGED
state.freshness MessageFreshness なし 次のいずれかになります。 NEWOVERDUE
messageGroup MessageGroup なし メッセージグループを表すオブジェクトです。
messageGroup.creator Person なし メッセージグループの作成者を表すオブジェクトです。
messageGroup.creator.name 文字列 メッセージグループの作成者の名前です。
messageGroup.count 整数 なし グループのメッセージの数です。
messageGroup.urgency urgency なし 使用する場合、値はURGENTになります。

{
  "event": {
    "name": "AMAZON.MessageAlert.Activated",
    "payload": {
      "state": {
        "status": "UNREAD",
        "freshness": "NEW"
      },
      "messageGroup": {
        "creator": {
          "name": "太郎"
        },
        "count": 5,
        "urgency": "URGENT"
      }
    }
  }
}

AMAZON.OrderStatus.Updated

目的: 注文の最新ステータスです。

ユーザー通知: ユーザーエクスペリエンスはOrderStatusの列挙値によって変わります。

  • PREORDER_RECEIVED: <order.seller.name>での予約注文を受け付けました。
  • ORDER_RECEIVED: <order.seller.name>でのご注文を受け付けました。
  • ORDER_PREPARING: <order.seller.name>でのご注文は出荷準備中です。
  • ORDER_SHIPPED: <order.seller.name>でのご注文は出荷済みです。<state.deliveryDetails.expectedArrival>までのお届け予定です。
  • ORDER_OUT_FOR_DELIVERY: <order.seller.name>でのご注文は配達中です。<state.deliveryDetails.expectedArrival>までのお届け予定です。
  • ORDER_DELIVERED: <order.seller.name>でのご注文は<state.deliveredOn>に配達を完了しました。
  • ORDER_DELIVERED: <order.seller.name>でのご注文は配達を完了しています。

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
state OrderState なし 注文の状態を表すオブジェクトです。
state.status OrderStatus なし 次のいずれかになります。 PREORDER_RECEIVEDORDER_RECEIVEDORDER_PREPARINGORDER_SHIPPEDORDER_OUT_FOR_DELIVERYORDER_OUT_FOR_DELIVERYORDER_DELIVERED
state.enterTimeStamp dateTime なし イベントの時刻です。値の例: 20190915T182219Z
state.deliveryDetails ParcelDelivery なし 配達の詳細を表すオブジェクトです。
order Order 注文を表すオブジェクトです。
order.seller Seller 注文の販売事業者を表すオブジェクトです。
order.seller.name 文字列 注文の販売事業者の名前です。

localizedAttributesのパラメーター

パラメーターは、localizedAttributes配列の各項目に使われます。各項目にはlocalesellerNameが含まれます。このため、配列の項目はサポートされるロケールごとに存在します。

名前 必須 説明
locale 列挙 サポートされるロケールのいずれかです(例:「en-US」)。
sellerName 文字列 販売事業者の名前です。

<order.seller.name>での予約注文を受け付けました:

{
  "event": {
    "name": "AMAZON.OrderStatus.Updated",
    "payload": {
      "state": {
        "status": "PREORDER_RECEIVED"
      },
      "order": {
        "seller": {
          "name": "localizedattribute:sellerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    },
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    }
  ]
}

<order.seller.name>でのご注文を受け付けました:

{
  "event": {
    "name": "AMAZON.OrderStatus.Updated",
    "payload": {
      "state": {
        "status": "ORDER_RECEIVED"
      },
      "order": {
        "seller": {
          "name": "localizedattribute:sellerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    },
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    }
  ]
}

<company>でのご注文は出荷済みです。<date>までのお届け予定です:

{
  "event": {
    "name": "AMAZON.OrderStatus.Updated",
    "payload": {
      "state": {
        "status": "ORDER_SHIPPED",
        "deliveryDetails": {
          "expectedArrival": "2018-11-23T18:25:43.511Z"
        }
      },
      "order": {
        "seller": {
          "name": "localizedattribute:sellerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    },
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    }
  ]
}

<company>でのご注文は配達中です。<datetime>までのお届け予定です:

{
  "event": {
    "name": "AMAZON.OrderStatus.Updated",
    "payload": {
      "state": {
        "status": "ORDER_OUT_FOR_DELIVERY",
        "deliveryDetails": {
          "expectedArrival": "2018-11-23T18:25:43.511Z"
        }
      },
      "order": {
        "seller": {
          "name": "localizedattribute:sellerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    },
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    }
  ]
}

<order.seller.name>でのご注文は<date>に配達を完了しました:

{
  "event": {
    "name": "AMAZON.OrderStatus.Updated",
    "payload": {
      "state": {
        "status": "ORDER_DELIVERED",
        "deliveredOn": "2018-11-23T18:25:43.511Z"
      },
      "order": {
        "seller": {
          "name": "localizedattribute:sellerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    },
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    }
  ]
}

<order.seller.name>でのご注文は配達を完了しています:

{
  "event": {
    "name": "AMAZON.OrderStatus.Updated",
    "payload": {
      "state": {
        "status": "ORDER_DELIVERED"
      },
      "order": {
        "seller": {
          "name": "localizedattribute:sellerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    },
    {
      "locale": "ja-JP",
      "sellerName": "Amazon"
    }
  ]
}

AMAZON.Occasion.Updated

目的: 予約の確認です。

ユーザー通知: 「<occasion.bookingTime>の<occasion.provider.name>での<occasion.subject>の<occasion.occasionType>が<state.confirmationStatus>されました。『<skill name>で確認して』と言ってください」

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
state ConfirmationState なし 注文の状態を表すオブジェクトです。
state.confirmationStatus ConfirmationStatus 次のいずれかになります。 CONFIRMEDCANCELEDRESCHEDULEDREQUESTEDCREATEDUPDATED
occasion Occasion なし 行事を表すオブジェクトです。
occasion.occasionType OccasionType 次のいずれかになります。 RESERVATION_REQUESTRESERVATIONAPPOINTMENT_REQUESTAPPOINTMENT
occasion.subject 文字列 行事のタイトルです。
occasion.provider Organization なし 行事の提供者を表すオブジェクトです。
occasion.provider.name 文字列 行事の提供者の名前です。
occasion.bookingTime dateTime 行事の予約日時です。例: 20190415T162219Z
occasion.broker Skill なし 行事の仲介者を表すオブジェクトです。
occasion.broker.name 文字列 行事の仲介者の名前です。

localizedAttributesのパラメーター

パラメーターは、localizedAttributes配列の各項目に使われます。配列の項目はサポートされるロケールごとに存在します。

名前 必須 説明
locale 列挙 サポートされるロケールのいずれかです(例:「en-US」)。
subject 文字列 予約の説明(「根管治療」など)です。
providerName 文字列 提供者の名前(医師名やレストラン名など)です。
brokerName 文字列 仲介者の名前です。providerNameと同じ場合または第三者の場合があります。

{
  "event": {
    "name": "AMAZON.Occasion.Updated",
    "payload": {
      "state": {
        "confirmationStatus": "CONFIRMED"
      },
      "occasion": {
        "occasionType": "APPOINTMENT",
        "subject": "localizedattribute:subject",
        "provider": {
          "name": "localizedattribute:providerName"
        },
        "bookingTime": "2018-11-20T19:16:31Z",
        "broker": {
          "name": "localizedattribute:brokerName"
        }
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "subject": "根管治療",
      "providerName": "XYZ歯科",
      "brokerName": "XYZ歯科"
    }
  ]
}

AMAZON.TrashCollectionAlert.Activated

目的: ごみ収集のリマインダーです。

ユーザー通知: 「次の<alert.collectionDayOfWeek>は、<alert.garbageTypes*>の収集日です」

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
alert TrashCollectionAlert なし ごみ収集のアラートを表すオブジェクトです。
alert.garbageTypes GarbageType[] GarbageType値のリストです。配列サイズは1~5です。次の値が想定されます。 BOTTLESBULKYBURNABLECANSCLOTHINGCOMPOSTABLECRUSHABLEGARDEN_WASTEGLASSHAZARDOUSHOME_APPLIANCESKITCHEN_WASTELANDFILLPET_BOTTLESRECYCLABLE_PLASTICSWASTE_PAPER
alert.collectionDayOfWeek DayOfWeek 次のいずれかになります。 MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY

イベント

{
  "event": {
    "name": "AMAZON.TrashCollectionAlert.Activated",
    "payload": {
      "alert": {
        "garbageTypes": [
          "COMPOSTABLE",
          "RECYCLABLE_PLASTICS"
        ],
        "collectionDayOfWeek": "TUESDAY"
      }
    }
  }
}

AMAZON.MediaContent.Available

目的: 特定の作品が利用可能になる日時と、そのプロバイダーに関する情報を提供します。

ユーザー通知:「<content.name>は、<availability.startTime>に<availability.provider.name>で<availability.method>されます」

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
availability Availability なし 利用可能状況に関する情報を提供するオブジェクトです。
availability.startTime dateTime 利用可能開始日です。例: 2020-11-20T21:00:00Z
availability.provider Thing なし プロバイダー情報を表すオブジェクトです。
availability.provider.name 文字列 プロバイダー名です。
availability.method DistributionMethod 配信方法です。次のいずれかになります。 STREAMAIRRELEASEPREMIEREDROP
content CreativeWork なし 作品に関する情報を含むオブジェクトです。
content.name 文字列 作品名です。
content.contentType MediaTypes 次のいずれかになります。 BOOKEPISODEALBUMSINGLEMOVIEGAME

localizedAttributesのパラメーター

これらのパラメーターは、localizedAttributes配列の各項目に使われます。各項目にはlocaleproviderNamecontentNameが含まれます。このため、配列の項目はサポートされるロケールごとに存在します。

名前 必須 説明
locale 列挙 サポートされるロケールのいずれかです(例:「en-US」)。
providerName 文字列 コンテンツプロバイダー名(「Amazon Video」など)です。
contentName 文字列 コンテンツの名前(「お宝ハンター」など)です。

イベント

{
  "event": {
    "name": "AMAZON.MediaContent.Available",
    "payload": {
      "availability": {
        "startTime": "2028-11-20T21:00:00Z",
        "provider": {
          "name": "localizedattribute:providerName"
        },
        "method": "AIR"
      },
      "content": {
        "name": "localizedattribute:contentName"
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "providerName": "Amazon Video",
      "contentName": "お宝ハンター"
    }
  ]
}

AMAZON.SocialGameInvite.Available

目的: ゲームへの招待の通知を送信します。

ユーザー通知: 「<invite.inviter.relationshipToInvitee>の<invite.inviter.name>から、<game.name>の<game.offer>に<invite.inviteType>されました」

payloadのパラメーター

payloadオブジェクトのパラメーターです。

名前 必須 複数ロケールのサポート 説明
invite GameInvite なし 招待の情報を含むオブジェクトです。
invite.inviter Person なし 招待者に関する情報を含むオブジェクトです。
invite.inviter.name 文字列 招待者の名前です。
invite.inviter.relationshipToInvitee 列挙 次のいずれかになります。 FRIENDCONTACT
invite.inviter.inviteType 列挙 次のいずれかになります。 CHALLENGEINVITE
game Game なし ゲームの情報を含むオブジェクトです。
game.offer OfferType 次のいずれかになります。 MATCHREMATCHGAME
game.name 文字列 ゲームの名前です。

localizedAttributesのパラメーター

これらのパラメーターは、localizedAttributes配列の各項目に使われます。各項目にはlocalegameNameが含まれます。このため、配列の項目はサポートされるロケールごとに存在します。

名前 必須 説明
locale 列挙 サポートされるロケールのいずれかです(例:「en-US」)。
gameName 文字列 ゲーム名です(ロケールごとに異なる名前を指定できます)。

イベント

{
  "event": {
    "name": "AMAZON.SocialGameInvite.Available",
    "payload": {
      "invite": {
        "relationshipToInvitee": "FRIEND",
        "inviter": {
          "name": "Max"
        },
        "inviteType": "CHALLENGE"
      },
      "game": {
        "offer": "GAME",
        "name": "localizedattribute:gameName"
      }
    }
  },
  "localizedAttributes": [
    {
      "locale": "ja-JP",
      "gameName": "The Red"
    },
    {
      "locale": "ja-JP",
      "gameName": "レッド"
    }
  ]
}