プロアクティブイベントのスキーマ
プロアクティブイベントAPIは、以下で説明するイベントスキーマをサポートしています。プロアクティブイベントを使うようスキルサービスを設定する方法については、ProactiveEvents APIを参照してください。
- イベントの命名規則とテンプレート
- イベントカタログ
- AMAZON.WeatherAlert.Activated
- AMAZON.SportsEvent.Updated
- AMAZON.MessageAlert.Activated
- AMAZON.OrderStatus.Updated
- AMAZON.Occasion.Updated
- AMAZON.TrashCollectionAlert.Activated
- AMAZON.MediaContent.Available
- AMAZON.SocialGameInvite.Available
イベントの命名規則とテンプレート
すべてのプロアクティブイベントスキーマでは、同じ形式が使用されます。イベント名はすべてAMAZON.
というプレフィックスで始まります。これは名前空間名とそれに続くピリオド(.)です。名前の2番目の部分はイベントのタイプを表します。キャメルケースが使用され、その後にピリオド(.)が続きます。名前の3番目の部分はイベントの状態を表します。以下は、プロアクティブイベントのテンプレートの例です。
{
"event": {
"name": "AMAZON.EventNamePartOne.EventNamePartTwo",
"payload": {
"sampleAttribute": {
"nestedStringAttribute": "sampleValue"
},
"anotherSampleAttribute": {
"nestedIntegerAttribute": 1,
"nestedFloatAttribute": 10.5
}
}
}
}
イベントカタログ
次の表に、スキルで使用できるプロアクティブイベントタイプのリストを示します。AMAZON.OrderStatus.Updated、AMAZON.SocialGameInviteはen-USロケールのみサポートしています。
イベントの説明 | 通知の例 | イベント名 |
---|---|---|
天気の注意報や警報 | お住まいの地域で大雪特別警報が発表されました。天気予報チャンネルからの通知です | AMAZON.WeatherAlert.Activated
|
スポーツの試合速報 | フルーツリーグのアップデート、オレンジズ1点、アップルズ2点 | AMAZON.SportsEvent.Updated
|
メッセージのリマインダー | 山田太郎からのメッセージが5件あります | AMAZON.MessageAlert.Activated
|
注文の最新ステータス | Your preorder from Amazon has been received. Your order from Amazon has been received. Your order from Amazon is being prepared. Your order from Amazon has been shipped and will arrive by May 18, 2019. Your order from Amazon is out for delivery and will arrive by May 20, 2019. Your order from Amazon was delivered on May 2, 2019. Your order from Amazon has been delivered. |
AMAZON.OrderStatus.Updated
|
予約の確認 | 2019年5月10日のXYZ歯科での根管治療に関する予約は確認済みとなっています | AMAZON.Occasion.Updated
|
ごみ収集のリマインダー | 火曜日のゴミ収集は、びん、缶、ガラスです | AMAZON.TrashCollectionAlert.Activated
|
メディアコンテンツの利用状況通知 | 「お宝ハンター」は、 2019年1月3日にAmazon Videoで放送されます |
AMAZON.MediaContent.Available
|
ソーシャルゲームの招待の通知 | Your friend John Stiles has invited you to a game of chess. | AMAZON.SocialGameInvite.Available
|
AMAZON.WeatherAlert.Activated
目的: 天気の注意報や警報です。
ユーザー通知: "お住まいの地域で<weatherAlert.alertType>が発表されました。<weatherAlert.source>からの通知です"
ソースを指定しない場合、Alexaサービスによって「<weatherAlert.source>からの通知です」という文が省略されます。
payloadのパラメーター
payload
オブジェクトのパラメーターです。
名前 | 必須 | 型 | 複数ロケールのサポート | 説明 |
---|---|---|---|---|
weatherAlert
|
〇 | WeatherAlert | なし | 天気の注意報や警報の情報を格納するオブジェクトです。 |
weatherAlert.source
|
✕ | 文字列 | ◯ | 天気の注意報や警報情報のソースです。 |
weatherAlert.alertType
|
〇 | WeatherAlertType | なし | 次のいずれかになります。 TORNADO 、HURRICANE 、SNOW_STORM 、THUNDER_STORM
|
localizedAttributesのパラメーター
パラメーターは、localizedAttributes
配列の各項目に使われます。各項目にはlocale
とsource
が含まれます。このため、配列の項目はサポートされるロケールごとに存在します。ロケール固有の値を用意したlocalizedAttrributes
のみが文字列になります。列挙値は自動的にローカライズされます。
名前 | 必須 | 型 | 説明 |
---|---|---|---|
locale
|
◯ | 列挙 | サポートされるロケール(現在はen-USのみ)。 |
source
|
〇 | 文字列 | 情報発信者です。 |
例
{
"event": {
"name": "AMAZON.WeatherAlert.Activated",
"payload": {
"weatherAlert": {
"source": "localizedattribute:source",
"alertType": "TORNADO"
}
}
},
"localizedAttributes": [
{
"locale": "en-US",
"source": "Example Weather Corp"
}
]
}
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
配列の各項目に使われます。各項目にはlocale
とeventLeagueName
が含まれます。このため、配列の項目はサポートされるロケールごとに存在します。
名前 | 必須 | 型 | 説明 |
---|---|---|---|
locale |
◯ | 列挙 | サポートされるロケールのいずれかです。例:en-US、ja-JPなど |
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>件あります」
payloadのパラメーター
payload
オブジェクトのパラメーターです。
名前 | 必須 | 型 | 複数ロケールのサポート | 説明 |
---|---|---|---|---|
state
|
〇 | MessageState | なし | メッセージの状態を表すオブジェクトです。 |
state.status
|
〇 | MessageStatus | ✕ | 次のいずれかになります。 UNREAD 、FLAGGED |
state.freshness
|
✕ | MessageFreshness | なし | 次のいずれかになります。 NEW 、OVERDUE |
messageGroup
|
〇 | MessageGroup | なし | メッセージグループを表すオブジェクトです。 |
messageGroup.creator
|
〇 | Person | なし | メッセージグループの作成者を表すオブジェクトです。 |
messageGroup.creator.name
|
〇 | 文字列 | ✕ | メッセージグループの作成者の名前です。 |
messageGroup.count
|
〇 | 整数 | なし | グループのメッセージの数です。 |
例
{
"event": {
"name": "AMAZON.MessageAlert.Activated",
"payload": {
"state": {
"status": "UNREAD",
"freshness": "NEW"
},
"messageGroup": {
"creator": {
"name": "山田太郎"
},
"count": 5
}
}
}
}
AMAZON.OrderStatus.Updated
目的: 注文の最新ステータスです。
ユーザー通知: ユーザーエクスペリエンスはOrderStatus
の列挙値によって変わります。
PREORDER_RECEIVED
: Your preorder from <order.seller.name> has been received.ORDER_RECEIVED
: Your order from <order.seller.name> has been received.ORDER_PREPARING
: Your order from <order.seller.name> is being prepared.ORDER_SHIPPED
: Your order from <order.seller.name> has been shipped and will arrive by <state.deliveryDetails.expectedArrival>.ORDER_OUT_FOR_DELIVERY
: Your order from <order.seller.name> is out for delivery and will arrive by <state.deliveryDetails.expectedArrival>.ORDER_DELIVERED
: Your order from <order.seller.name> was delivered on <state.deliveredOn>.ORDER_DELIVERED
: Your order from <order.seller.name> has been delivered.
payloadのパラメーター
payload
オブジェクトのパラメーターです。
名前 | 必須 | 型 | 複数ロケールのサポート | 説明 |
---|---|---|---|---|
state
|
〇 | OrderState | なし | 注文の状態を表すオブジェクトです。 |
state.status
|
〇 | OrderStatus | なし | 次のいずれかになります。 PREORDER_RECEIVED 、ORDER_RECEIVED 、ORDER_PREPARING 、ORDER_SHIPPED 、ORDER_OUT_FOR_DELIVERY 、ORDER_OUT_FOR_DELIVERY 、ORDER_DELIVERED |
state.enterTimeStamp
|
✕ | dateTime | なし | イベントの時刻です。値の例: 20190915T182219Z
|
state.deliveryDetails
|
✕ | ParcelDelivery | なし | 配達の詳細を表すオブジェクトです。 |
order
|
〇 | Order | ✕ | 注文を表すオブジェクトです。 |
order.seller
|
◯ | Seller | ✕ | 注文の販売事業者を表すオブジェクトです。 |
order.seller.name
|
◯ | 文字列 | ◯ | 注文の販売事業者の名前です。 |
localizedAttributesのパラメーター
パラメーターは、localizedAttributes
配列の各項目に使われます。各項目にはlocale
とsellerName
が含まれます。このため、配列の項目はサポートされるロケールごとに存在します。
名前 | 必須 | 型 | 説明 |
---|---|---|---|
locale |
◯ | 列挙 | サポートされるロケール(現在はen-USのみ)。 |
sellerName |
◯ | 文字列 | 販売事業者の名前です。 |
例
Your preorder from <order.seller.name> has been received:
{
"event": {
"name": "AMAZON.OrderStatus.Updated",
"payload": {
"state": {
"status": "PREORDER_RECEIVED"
},
"order": {
"seller": {
"name": "localizedattribute:sellerName"
}
}
}
},
"localizedAttributes": [
{
"locale": "en-US",
"sellerName": "Amazon"
}
]
}
Your order from <order.seller.name> has been received:
{
"event": {
"name": "AMAZON.OrderStatus.Updated",
"payload": {
"state": {
"status": "ORDER_RECEIVED"
},
"order": {
"seller": {
"name": "localizedattribute:sellerName"
}
}
}
},
"localizedAttributes": [
{
"locale": "en-US",
"sellerName": "Amazon"
}
]
}
Your order from <order.seller.name> has been shipped and will arrive <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": "en-US",
"sellerName": "Amazon"
}
]
}
Your order from <order.seller.name> is out for delivery, and will arrive by <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": "en-US",
"sellerName": "Amazon"
}
]
}
Your order from <order.seller.name> was delivered <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": "en-US",
"sellerName": "Amazon"
}
]
}
Your order from <order.seller.name> has been delivered:
{
"event": {
"name": "AMAZON.OrderStatus.Updated",
"payload": {
"state": {
"status": "ORDER_DELIVERED"
},
"order": {
"seller": {
"name": "localizedattribute:sellerName"
}
}
}
},
"localizedAttributes": [
{
"locale": "en-US",
"sellerName": "Amazon"
}
]
}
AMAZON.Occasion.Updated
目的: 予約の確認です。
ユーザー通知: 「<occasion.bookingTime>の<occasion.provider.name>での<occasion.subject>に関する<occasion.occasionType>は<state.confirmationStatus>となっています。
payloadのパラメーター
payload
オブジェクトのパラメーターです。
名前 | 必須 | 型 | 複数ロケールのサポート | 説明 |
---|---|---|---|---|
state
|
◯ | ConfirmationState | なし | 注文の状態を表すオブジェクトです。 |
state.confirmationStatus
|
◯ | ConfirmationStatus | ✕ | 次のいずれかになります。 CONFIRMED 、CANCELED 、RESCHEDULED 、REQUESTED 、CREATED 、UPDATED
|
occasion
|
◯ | Occasion | なし | 行事を表すオブジェクトです。 |
occasion.occasionType
|
◯ | OccasionType | ✕ | 次のいずれかになります。 RESERVATION_REQUEST 、RESERVATION 、APPOINTMENT_REQUEST 、APPOINTMENT |
occasion.subject
|
◯ | 文字列 | ◯ | 行事のタイトルです。 |
occasion.provider
|
◯ | Organization | なし | 行事の提供者を表すオブジェクトです。 |
occasion.provider.name
|
◯ | 文字列 | ◯ | 行事の提供者の名前です。 |
occasion.bookingTime
|
◯ | dateTime | ✕ | 行事の予約日時です。例: 20190415T162219Z
|
occasion.broker
|
✕ | Skill | なし | 行事の仲介者を表すオブジェクトです。 |
occasion.broker.name
|
◯ | 文字列 | ◯ | 行事の仲介者の名前です。 |
localizedAttributesのパラメーター
パラメーターは、localizedAttributes
配列の各項目に使われます。配列の項目はサポートされるロケールごとに存在します。
名前 | 必須 | 型 | 説明 |
---|---|---|---|
locale |
◯ | 列挙 | サポートされるロケールのいずれかです。例:en-US、ja-JPなど |
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です。次の値が想定されます。 BOTTLES 、BULKY 、BURNABLE 、CANS 、CLOTHING 、COMPOSTABLE 、CRUSHABLE 、GARDEN_WASTE 、GLASS 、HAZARDOUS 、HOME_APPLIANCES 、KITCHEN_WASTE 、LANDFILL 、PET_BOTTLES 、RECYCLABLE_PLASTICS 、WASTE_PAPER |
alert.collectionDayOfWeek
|
◯ | DayOfWeek | ✕ | 次のいずれかになります。 MONDAY 、TUESDAY 、WEDNESDAY 、THURSDAY 、FRIDAY 、SATURDAY 、SUNDAY |
イベント
{
"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 | 配信方法です。次のいずれかになります。 STREAM 、AIR 、RELEASE 、PREMIERE 、DROP |
|
content
|
◯ | CreativeWork | なし | 作品に関する情報を含むオブジェクトです。 |
content.name
|
◯ | 文字列 | ◯ | 作品名です。 |
content.contentType
|
◯ | MediaTypes | ✕ | 次のいずれかになります。 BOOK 、EPISODE 、ALBUM 、SINGLE 、MOVIE 、GAME |
localizedAttributesのパラメーター
これらのパラメーターは、localizedAttributes
配列の各項目に使われます。各項目にはlocale
、providerName
、contentName
が含まれます。このため、配列の項目はサポートされるロケールごとに存在します。
名前 | 必須 | 型 | 説明 |
---|---|---|---|
locale |
◯ | 列挙 | サポートされるロケールのいずれかです。例:en-US、ja-JPなど |
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
目的: ゲームへの招待の通知を送信します。
ユーザー通知: 「Your <invite.inviter.relationshipToInvitee> <invite.inviter.name> has <invite.inviteType> you to a <game.offer> of <game.name>.」
payloadのパラメーター
payload
オブジェクトのパラメーターです。
名前 | 必須 | 型 | 複数ロケールのサポート | 説明 |
---|---|---|---|---|
invite |
◯ | GameInvite | なし | 招待の情報を含むオブジェクトです。 |
invite.inviter
|
◯ | Person | なし | 招待者に関する情報を含むオブジェクトです。 |
invite.inviter.name
|
◯ | 文字列 | ✕ | 招待者の名前です。 |
invite.inviter.relationshipToInvitee
|
◯ | 列挙 | ✕ | 次のいずれかになります。 FRIEND 、CONTACT |
invite.inviter.inviteType
|
◯ | 列挙 | ✕ | 次のいずれかになります。 CHALLENGE 、INVITE |
game
|
◯ | Game | なし | ゲームの情報を含むオブジェクトです。 |
game.offer
|
◯ | OfferType | ✕ | 次のいずれかになります。 MATCH 、REMATCH 、GAME |
game.name
|
◯ | 文字列 | ◯ | ゲームの名前です。 |
localizedAttributesのパラメーター
これらのパラメーターは、localizedAttributes
配列の各項目に使われます。各項目にはlocale
とgameName
が含まれます。このため、配列の項目はサポートされるロケールごとに存在します。
名前 | 必須 | 型 | 説明 |
---|---|---|---|
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": "en-US",
"gameName": "The Red"
}
]
}