イベントオブジェクト
この記事では、イベントオブジェクトのさまざまな構成要素、このオブジェクトの使用方法、および参考となる使用例について説明します。
イベントオブジェクトとは?
イベントオブジェクトは、特定のイベントが発生したときにAPIを通じて渡されるオブジェクトです。イベントオブジェクトはイベント配列に格納されます。イベント配列内の各イベントオブジェクトは、特定のユーザーが指定された時間値に行ったカスタムイベントの1回の発生を表します。イベントオブジェクトにはさまざまなフィールドがあり、イベントプロパティを設定・使用することで、メッセージ、データ収集、パーソナライゼーションをカスタマイズできます。
特定のプラットフォームでカスタムイベントを設定する手順については、開発者ガイドのプラットフォーム統合ガイドを参照してください。お使いのプラットフォームに基づいて、該当する記事を参照してください。
オブジェクト本体
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 に設定する必要があります。この値が省略された場合、エイリアスのみのプロファイルは作成されません。
イベントプロパティオブジェクト
カスタムイベントと購入にはイベントプロパティを設定できます。「properties」の値は、キーがプロパティ名、値がプロパティ値であるオブジェクトである必要があります。プロパティ名は、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午前0時になります(ダッシュボードでは、会社のタイムゾーンにおけるUTC午前0時に相当する時刻として表示されます)。 未来のタイムスタンプを持つイベントは、デフォルトで現在の時刻になります。 |
| 文字列 | 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": "Alex Smith"
}
},
{
"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"
}
]
}
イベントオブジェクト
提供された例を使用すると、誰かが最近トレーラーを視聴し、その後映画をレンタルしたことがわかります。キャンペーンに入ってこれらのプロパティに基づいてユーザーをセグメント化することはできませんが、これらのプロパティをレシートの形式で戦略的に使用し、Liquidを使ってチャネル経由でカスタムメッセージを送信できます。例えば、「こんにちは、Alexさん。Alex SmithのThe Sad Eggをレンタルいただきありがとうございます。レンタル履歴に基づいたおすすめの映画をご紹介します…」