イベントオブジェクト
この記事では、イベントオブジェクトのさまざまな構成要素、このオブジェクトの使用方法、および参考となる使用例について説明します。
イベントオブジェクトとは?
イベントオブジェクトは、特定のイベントが発生したときにAPIを通じて渡されるオブジェクトです。イベントオブジェクトはイベント配列に格納されます。イベント配列内の各イベントオブジェクトは、指定された時間値における特定のユーザーによるカスタムイベントの単一の発生を表します。イベントオブジェクトにはさまざまなフィールドがあり、メッセージ、データ収集、パーソナライゼーションにおいてイベントプロパティを設定・使用することでカスタマイズできます。
特定のプラットフォームにカスタムイベントを設定する手順については、開発者ガイドのプラットフォーム統合ガイドを参照してください。ご使用のプラットフォームに基づいて、関連する記事を参照してください。
オブジェクト本体
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
// One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required
"external_id" : (optional, string) External user ID,
"user_alias" : (optional, User Alias Object) User alias object,
"braze_id" : (optional, string) Braze user identifier,
"email": (optional, string) User email address,
"phone": (optional, string) User phone number,
"app_id" : (optional, string) see App Identifier,
"name" : (required, string) the name of the event,
"time" : (required, datetime as string in ISO 8601 or in `yyyy-MM-dd'T'HH:mm:ss:SSSZ` format),
"properties" : (optional, Properties Object) properties of the event
// Setting this flag to true will put the API in "Update Only" mode.
// When using a "user_alias", "Update Only" mode is always true.
"_update_existing_only" : (optional, boolean)
// See following notes regarding anonymous push token imports
}
一部の識別子ペアは、単一のリクエスト内で同時に使用できません。emailとphoneの両方が指定された場合、emailがphoneより優先されます。詳細については、識別子の解決を参照してください。
既存のプロファイルのみを更新する
Brazeで既存のユーザープロファイルのみを更新するには、リクエストの本文内で_update_existing_onlyキーにtrueの値を渡す必要があります。この値を省略すると、external_idがまだ存在しない場合、Brazeは新しいユーザープロファイルを作成します。
/users/trackエンドポイントを使用してエイリアスのみのユーザープロファイルを作成する場合は、_update_existing_onlyをfalseに設定する必要があります。この値が省略された場合、エイリアスのみのプロファイルは作成されません。
イベントプロパティオブジェクト
カスタムイベントと購入にはイベントプロパティを含めることができます。「プロパティ」値は、キーがプロパティ名で値がプロパティ値であるオブジェクトである必要があります。プロパティ名は、255文字以下の空でない文字列でなければならず、先頭にドル記号($)を付けることはできません。
プロパティ値は、次のデータタイプのいずれでもかまいません。
| データタイプ | 説明 |
|---|---|
| 数値 | 整数または浮動小数点数として |
| ブール値 | trueまたはfalse |
| 日時 | 文字列としてISO 8601形式または以下のいずれかの形式でフォーマットする必要があります。 - yyyy-MM-ddTHH:mm:ss:SSSZ - yyyy-MM-ddTHH:mm:ss - yyyy-MM-dd HH:mm:ss - yyyy-MM-dd - MM/dd/yyyy - ddd MM dd HH:mm:ss.TZD YYYY 配列内ではサポートされていません。 「T」は時間指定子であり、プレースホルダーではないことに注意してください。変更または削除しないでください。 タイムゾーンのない時間属性はデフォルトでUTCの真夜中になります(ダッシュボード上では会社のタイムゾーンにおけるUTCの真夜中に相当する形式で表示されます)。 タイムスタンプが未来のイベントはデフォルトで現在の時刻になります。 |
| 文字列 | 255文字以下。 |
| 配列 | 配列に日時を含めることはできません。 |
| オブジェクト | オブジェクトは文字列として取り込まれます。 |
配列またはオブジェクト値を含むイベントプロパティオブジェクトには、最大100 KBのイベントプロパティペイロードを設定できます。
予約済みのキー
以下のキーは予約されているため、カスタムイベントプロパティとして使用できません。
timeevent_name
予約済みキーをカスタムイベントのプロパティ名として使用すると、/users/trackエンドポイントへのリクエスト送信時にAPIエラーが発生します。
イベントプロパティの永続性
イベントプロパティは、親イベントによってトリガーされるメッセージのフィルタリングおよびLiquidパーソナライゼーションのために設計されています。デフォルトでは、Brazeユーザープロファイルでは永続化されません。セグメンテーションでイベントプロパティ値を使用するには、イベントプロパティ値を長期的に保存するためのさまざまなアプローチについて詳述しているカスタムイベントを参照してください。
イベントリクエストの例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"events" : [
{
"external_id" : "user1",
"app_id" : "your-app-id",
"name" : "watched_trailer",
"time" : "2013-07-16T19:20:30+01:00"
},
{
"external_id" : "user1",
"app_id" : "your-app-id",
"name" : "rented_movie",
"time" : "2013-07-16T19:20:45+01:00",
"properties": {
"movie": "The Sad Egg",
"director": "Dan Alexander"
}
},
{
"user_alias" : { "alias_name" : "device123", "alias_label" : "my_device_identifier"},
"app_id" : "your-app-id",
"name" : "watched_trailer",
"time" : "2013-07-16T19:20:50+01:00"
}
]
}
イベントオブジェクト
上記の例を使うと、誰かが最近予告編を見て、映画をレンタルしたことがわかります。Campaignに入ってこれらのプロパティに基づいてユーザーをセグメントすることはできませんが、Liquidを使用してチャネル経由でカスタムメッセージを送信するための受領書の形でこれらのプロパティを戦略的に活用できます。例えば、「こんにちは、Bethさん。Dan Alexander監督のThe Sad Eggをレンタルしていただきありがとうございます。お客様のレンタル履歴に基づいて、おすすめの映画をご紹介します…」のように使用できます。