ユーザー属性オブジェクト
属性オブジェクト内の任意のフィールドを含むAPIリクエストは、指定されたユーザープロファイルに対して、指定された値でその名前の属性を作成または更新します。
Brazeユーザープロファイルフィールド名(以下にリストされているもの、または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
{
// One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required
"external_id" : (optional, string) see external user ID,
"user_alias" : (optional, User alias object),
"braze_id" : (optional, string) Braze user identifier,
"email": (optional, string) User email address,
"phone": (optional, string) User phone number,
// Setting this flag to true will put the API in "Update Only" mode.
// When using a "user_alias", "Update Only" defaults to true.
"_update_existing_only" : (optional, boolean),
// See note regarding anonymous push token imports
"push_token_import" : (optional, boolean),
// Braze User Profile Fields
"first_name" : "Jon",
"email" : "[email protected]",
// Custom Attributes
"my_custom_attribute" : value,
"my_custom_attribute_2" : {"inc" : int_value},
"my_array_custom_attribute":[ "Value1", "Value2" ],
// Adding a new value to an array custom attribute
"my_array_custom_attribute" : { "add" : ["Value3"] },
// Removing a value from an array custom attribute
"my_array_custom_attribute" : { "remove" : [ "Value1" ]},
}
プロファイル属性を削除するには、それをnull
に設定します。いくつかのフィールド、例えば external_id
や user_alias
は、ユーザープロファイルに追加された後に削除することはできません。
既存のプロファイルのみを更新する
Braze で既存のユーザープロファイルのみを更新したい場合は、リクエスト本文の中で、_update_existing_only
キーと true
の値を渡す必要があります。この値を省略すると、external_id
がまだ存在しない場合、Brazeは新しいユーザープロファイルを作成する。
/users/track
エンドポイントを通じてエイリアスのみのユーザープロファイルを作成する場合、_update_existing_only
は false
に設定しなければなりません。この値が省略された場合、エイリアスのみのプロファイルは作成されない。
プッシュトークンインポート
Brazeにプッシュトークンをインポートする前に、必要かどうかを再確認してください。Braze SDKが導入されると、プッシュトークンは自動的に処理され、APIを介してアップロードする必要はありません。
もしそれらを API を使用してアップロードする必要がある場合は、識別されたユーザーまたは匿名ユーザーに対してアップロードできます。これは、external_id
が存在する必要があるか、匿名ユーザーが push_token_import
フラグを true
に設定する必要があることを意味します。
他のシステムからプッシュトークンをインポートする場合、external_id
は常に利用できるわけではありません。Brazeへの移行中にこれらのユーザーとのコミュニケーションを維持するために、push_token_import
をtrue
として指定することで、external_id
を提供せずに匿名ユーザーのレガシートークンをインポートできます。
push_token_import
をtrue
として指定する場合:
external_id
とbraze_id
は指定しないでください- 属性オブジェクトはプッシュトークンを含める必要があります
- トークンがすでにBrazeに存在する場合、リクエストは無視されます。それ以外の場合、Brazeは各トークンに対して一時的な匿名ユーザープロファイルを作成し、これらの個人にメッセージを送り続けることができるようにします。
インポート後、各ユーザーがBraze対応バージョンのアプリを起動すると、Brazeはインポートされたプッシュトークンを自動的にBrazeユーザープロファイルに移動し、一時プロファイルをクリーンアップします。
Brazeは、プッシュトークンを持たないpush_token_import
フラグの付いた匿名プロファイルを見つけるために月に一度チェックします。匿名プロファイルにプッシュトークンがなくなった場合、プロファイルを削除します。ただし、匿名プロファイルにまだプッシュトークンがあり、実際のユーザーがそのプッシュトークンでデバイスにログインしていないことを示唆している場合、何もしません。
詳細については、プッシュトークンの移行を参照してください。
カスタム属性のデータ型
次のデータ型はカスタム属性として保存できます:
データ型 | メモ |
---|---|
配列 | カスタム属性配列がサポートされている。カスタム属性配列に要素を追加すると、その要素が配列の最後に追加されます。ただし、既に存在する場合は、現在の位置から配列の最後に移動されます。 例えば、配列 ['hotdog','hotdog','hotdog','pizza'] がインポートされた場合、一意の値のみがサポートされるため、配列属性には['hotdog', 'pizza'] として表示されます。"my_array_custom_attribute":[ "Value1", "Value2" ] のようにして配列の値を設定するだけでなく、"my_array_custom_attribute" : { "add" : ["Value3"] }, のようにして既存の配列に値を追加したり、"my_array_custom_attribute" : { "remove" : [ "Value1" ]} のようにして配列から値を削除したりすることもできます。カスタム属性配列の要素の最大数はデフォルトで25ですが、個々の配列では最大100まで増やすことができます。詳細については、配列を参照してください。 |
オブジェクト配列 | オブジェクトの配列では、各オブジェクトが属性のセットを含むオブジェクトのリストを定義することができる。これは、ホテルの宿泊、購入履歴、嗜好など、ユーザーに関する複数の関連データを保存する必要がある場合に便利である。 例えば、 hotel_stays というユーザープロファイルにカスタム属性を定義することができる。このカスタム属性は、各オブジェクトが別々のステイを表す配列として定義することができ、hotel_name ,check_in_date ,nights_stayed のような属性を持つ。詳しくはこの例を参照のこと。 |
ブール値 | 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の真夜中に相当する形式で表示されます)。 タイムスタンプが未来のイベントはデフォルトで現在の時刻になります。 通常のカスタム属性の場合、年が0未満または3000を超える場合、Brazeはこれらの値をユーザーに文字列として保存します。 |
フロート | フロート・カスタム属性は、小数点付きの正数または負数である。たとえば、口座残高や商品・サービスに対するユーザー評価を保存するためにフロートを使うことができる。 |
整数 | 整数のカスタム属性は、フィールド「inc」とインクリメントしたい値を持つオブジェクトを割り当てることによって、正または負の整数でインクリメントできます。 例: "my_custom_attribute_2" : {"inc" : int_value}, |
階層化カスタム属性 | 階層化カスタム属性は、属性のセットを別の属性のプロパティとして定義する。カスタム属性オブジェクトを定義すると、そのオブジェクトの追加属性のセットを定義することになる。詳細については、「階層化カスタム属性」を参照してください。 |
文字列 | 文字列カスタム属性は、テキストデータを格納するために使用される文字のシーケンスである。例えば、文字列を使って名と姓、メール・アドレス、好みなどを保存することができる。 |
オブジェクトの配列の例
このオブジェクトの配列により、滞在の中の特定の条件に基づいてセグメンテーションを作成し、Liquidテンプレートで各滞在のデータを使用してメッセージをパーソナライズさせることができる。
1
2
3
4
"hotel_stays": [
{ "hotel_name": "Ocean View Resort", "check_in_date": "2023-06-15", "nights_stayed": 5 },
{ "hotel_name": "Mountain Lodge", "check_in_date": "2023-09-10", "nights_stayed": 3 }
]
Braze ユーザープロファイルフィールド
次のユーザープロファイルフィールドは大文字と小文字を区別するため、これらのフィールドを小文字で参照するようにしてください。
ユーザープロファイル フィールド | データ型仕様 |
---|---|
alias_name | (string) |
alias_label | (string) |
Braze_id | (文字列、省略可能) SDK によってユーザープロファイルが認識されると、関連付けられた braze_id を使用して匿名のユーザープロファイルが作成されます。braze_id は Braze によって自動的に割り当てられ、編集できません。また、デバイスによって異なります。 |
country | (文字列) 国コードは ISO-3166-1 alpha-2 規格で Braze に渡す必要があります。私たちのAPIは、さまざまな形式で受け取った国を最善の努力でマッピングします。例えば、「オーストラリア」は「AU」に対応するかもしれません。ただし、入力が指定されたISO-3166-1 alpha-2 standardに一致しない場合、国の値はNULL に設定されます。CSV インポートまたは API によってユーザーの country を設定すると、Braze は SDK を通じてこの情報を自動的に取得することができなくなります。 |
current_location | (オブジェクト) {“longitude”: -73.991443, “latitude”: 40.753824} の形式 |
date_of_first_session | (ユーザーが初めてアプリを使用した日付)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 |
date_of_last_session | (ユーザーが最後にアプリを使用した日付)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 |
dob | (生年月日)「YYYY-MM-DD」の形式の文字列。例えば、1980-12-21。 |
(string) | |
email_subscribe | (文字列) 使用できる値は、「opted_in」 (メールメッセージを受信するように明示的に登録)、「unsubscribed」 (メールメッセージの受信を明示的に拒否)、「subscribed」 (明示的に登録も拒否もしていない) です。 |
email_open_tracking_disabled | (ブール値)true またはfalse が受け入れられます。true に設定して、このユーザーに送信されるすべての将来のメールに開封トラッキングピクセルが追加されないようにします。 |
email_click_tracking_disabled | (ブール値)true またはfalse が受け入れられます。将来のメール内のすべてのリンクに対するクリックトラッキングを無効にするには、true に設定します。このユーザーに送信されます。 |
external_id | (文字列)ユーザープロファイルの一意の識別子。external_id が割り当てられると、ユーザープロファイルはユーザーのデバイス全体で識別されます。external_id を未知のユーザープロファイルに初めて割り当てる際、既存のすべてのユーザープロファイルデータが新しいユーザープロファイルに移行されます。 |
id (文字列)、likes (文字列の配列)、num_friends (整数)のいずれかを含むハッシュ。 |
|
first_name | (string) |
gender | (文字列) 「M」、「F」、「O」 (その他)、「N」 (該当なし)、「P」 (言いたくない) または「nil」 (不明)。 |
home_city | (string) |
language | (string) 言語はISO-639-1標準でBrazeに渡される必要があります。サポートされている言語については、受け入れ可能な言語のリストをご覧ください。 CSV インポートまたは API によってユーザーの language を設定すると、Braze は SDK を通じてこの情報を自動的に取得することができなくなります。 |
last_name | (string) |
marked_email_as_spam_at | (文字列)ユーザーのメールがスパムとしてマークされた日付。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 |
phone | (文字列)電話番号は以下のフォーマットで提供することを推奨する。 E.164形式で提供することを推奨する。詳しくはユーザー電話番号を参照のこと。 |
push_subscribe | (文字列) 使用できる値は、「opted_in」 (プッシュメッセージを受信するように明示的に登録)、「unsubscribed」 (プッシュメッセージの受信を明示的に拒否)、「subscribed」 (明示的に登録も拒否もしていない) です。 |
push_tokens | オブジェクトの配列はapp_id とtoken の文字列です。このトークンが関連付けられているデバイスにdevice_id を任意で提供することができます。例えば、[{"app_id": App Identifier, "token": "abcd", "device_id": "optional_field_value"}] 。device_id が提供されていない場合は、ランダムに生成されます。 |
subscription_groups | subscription_group_id および subscription_state の文字列を持つオブジェクト配列 ([{"subscription_group_id" : "subscription_group_identifier", "subscription_state" : "subscribed"}] など) 。subscription_state の利用可能な値は「subscribed」と「unsubscribed」です。 |
time_zone | (文字列) IANA タイムゾーンデータベース (たとえば、「アメリカ/ニューヨーク」または「東部標準時 (アメリカ & カナダ)」) からのタイムゾーン名。有効なタイムゾーン値のみが設定されます。 |
ツイッター | id (整数)、screen_name (文字列、X (旧Twitter) ハンドル)、followers_count (整数)、friends_count (整数)、statuses_count (整数) のいずれかを含むハッシュ。 |
この API を通じて明示的に設定された言語の値は、Braze がデバイスから自動的に受信するロケール情報よりも優先されます。
ユーザー属性例リクエスト
この例には、APIコールごとに許可される75のリクエストを含む2つのユーザー属性オブジェクトが含まれています。
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
30
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"attributes" : [
{
"external_id" : "user1",
"first_name" : "Jon",
"has_profile_picture" : true,
"dob": "1988-02-14",
"music_videos_favorited" : { "add" : [ "calvinharris-summer" ], "remove" : ["nickiminaj-anaconda"] }
},
{
"external_id" : "user2",
"first_name" : "Jill",
"has_profile_picture" : false,
"push_tokens": [{"app_id": "Your App Identifier", "token": "abcd", "device_id": "optional_field_value"}]
},
{
"user_alias" : { "alias_name" : "device123", "alias_label" : "my_device_identifier"},
"first_name" : "Alice",
"has_profile_picture" : false
},
{
"external_id": "user3",
"subscription_groups" : [{"subscription_group_id" : "subscription_group_identifier", "subscription_state" : "subscribed"}]
}
]
}