Skip to content

ユーザー属性オブジェクト

アトリビューションオブジェクトの任意のフィールドを持つ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 puts 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_iduser_alias は、ユーザープロファイルに追加された後に削除することはできません。

既存のプロファイルのみを更新する

Braze で既存のユーザープロファイルのみを更新したい場合は、リクエスト本文の中で、_update_existing_only キーと true の値を渡す必要があります。この値を省略すると、external_id がまだ存在しない場合、Brazeは新しいユーザープロファイルを作成する。

プッシュトークンインポート

Brazeにプッシュトークンをインポートする前に、必要かどうかを再確認してください。Braze SDKが導入されると、プッシュトークンは自動的に処理され、APIを介してアップロードする必要はありません。

もしそれらを API を使用してアップロードする必要がある場合は、識別されたユーザーまたは匿名ユーザーに対してアップロードできます。これは、external_id が存在する必要があるか、匿名ユーザーが push_token_import フラグを true に設定する必要があることを意味します。

push_token_importtrueとして指定する場合:

  • external_idbraze_id は指定しないでください
  • 属性オブジェクトプッシュトークンを含める必要があります
  • トークンがすでにBrazeに存在する場合、リクエストは無視される。そうでない場合、Brazeはトークンごとに一時的な匿名ユーザープロファイルを作成し、これらの個人へのメッセージを継続できるようにする

インポート後、各ユーザーがBraze対応バージョンのアプリを起動すると、Brazeは自動的にインポートしたプッシュトークンをユーザープロファイルに移動し、一時プロファイルをクリーンアップする。

Brazeは月に一度、push_token_import フラグを持つ匿名プロファイルで、プッシュトークンを持っていないものをチェックする。匿名プロファイルにプッシュトークンがなくなった場合、Brazeはプロファイルを削除する。しかし、匿名プロファイルにまだプッシュトークンが残っていて、実際のユーザーがまだそのプッシュトークンでデバイスにログインしていないことを示唆している場合、Brazeは何もしない。

詳細については、プッシュトークンの移行を参照してください。

カスタム属性のデータ型

次のデータ型はカスタム属性として保存できます:

オブジェクトの配列の例

このオブジェクトの配列を使用すると、宿泊内の特定の条件に基づいてセグメントを作成し、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 ユーザープロファイルフィールド

このAPIを通じて明示的に設定された言語値は、Brazeがデバイスから自動的に受け取るロケール情報よりも優先される。

ユーザー属性例リクエスト

この例には、API 呼び出しあたり合計 75 個の許可された属性オブジェクトのうち、4 個のユーザー属性オブジェクトが含まれています。

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"}]
    }
  ]
}

プッシュトークンを移行する

Brazeを統合する前に、自社または他のプロバイダー経由でプッシュ通知を送信していた場合、プッシュトークンの移行により、プッシュトークンを登録したユーザーにプッシュ通知を送信し続けることができる。

SDKによる自動移行

Braze SDKを統合すると、オプトインしたユーザーのプッシュトークンは、次回ユーザーがアプリを開封したときに自動的に移行される。それまでは、Brazeを通じてそれらのユーザーにプッシュ通知を送ることはできない。

あるいは、プッシュトークンを手動で移行することで、ユーザーへの再エンゲージをより迅速に行うことができます。

Webトークンに関する考察

Web プッシュトークンの性質上、Web プッシュを実装する際には以下の点を考慮してください。

APIによる手動移行

手動プッシュトークンマイグレーションは、これらの以前に作成されたキーを、APIを通じてBrazeプラットフォームにインポートするプロセスである。

users/track エンドポイント を使用して、iOS (APN s) およびAndroid (FCM) トークンs をプラットフォームにプログラムで移行します。特定ユーザー(関連する外部IDを持つユーザー)と匿名ユーザー(外部IDを持たないユーザー)の両方を移行できる。

プッシュトークン移行時にアプリのapp_id を指定し、適切なプッシュトークンを適切なアプリに関連付ける。各アプリ(iOS、Androidなど)にはそれぞれapp_idAPI KeysページのIdentificationセクションで確認できる。必ず正しいプラットフォームのapp_id を使用すること。

識別されたユーザーの場合は、push_token_import フラグをfalse に設定 (またはパラメーターを省略) して、external_idapp_idtoken の値をユーザー attributes オブジェクトで指定します。

以下に例を示します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-API-KEY-HERE' \
--data-raw '{
  "attributes" : [
    {
      "push_token_import" : false,
      "external_id": "example_external_id",
      "country": "US",
      "language": "en",
      "YOUR_CUSTOM_ATTRIBUTE": "YOUR_VALUE",
      "push_tokens": [
        {"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING"}
      ]
    }
  ]
}'

他のシステムからプッシュトークンをインポートする場合、external_id が利用できるとは限らない。この状況では、push_token_import フラグをtrue に設定し、app_idtoken の値を指定します。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
25
26
27
28
29
curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-API-KEY-HERE' \
--data-raw '{
  "attributes": [
    {
      "push_token_import" : true,
      "email": "[email protected]",
      "country": "US",
      "language": "en",
      "YOUR_CUSTOM_ATTRIBUTE": "YOUR_VALUE",
      "push_tokens": [
        {"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING", "device_id": "DEVICE_ID"}
      ]
    },

    {
      "push_token_import" : true,
      "email": "[email protected]",
      "country": "US",
      "language": "en",
      "YOUR_CUSTOM_ATTRIBUTE_1": "YOUR_VALUE",
      "YOUR_CUSTOM_ATTRIBUTE_2": "YOUR_VALUE",
      "push_tokens": [
        {"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING", "device_id": "DEVICE_ID"}
      ]
    }
  ]
}'

インポート後、匿名ユーザーがBraze対応バージョンのアプリを起動すると、Brazeは自動的にインポートしたプッシュトークンをBrazeユーザープロファイルに移動し、一時プロファイルをクリーンアップする。

Brazeは月に一度、push_token_import フラグを持つ匿名プロファイルで、プッシュトークンを持っていないものをチェックする。匿名プロファイルにプッシュトークンがなくなった場合、Brazeはプロファイルを削除する。しかし、匿名プロファイルにまだプッシュトークンが残っていて、実際のユーザーがまだそのプッシュトークンでデバイスにログインしていないことを示唆している場合、Brazeは何もしない。

Androidのプッシュトークンをインポートする

Braze SDKの統合が完了する前にAndroidプッシュ通知をユーザーに送信する必要がある場合は、キーと値のペアを使用してプッシュ通知を検証する。

プッシュペイロードを処理し表示するレシーバーが必要である。プッシュペイロードをレシーバーに通知するには、必要なキーと値のペアをプッシュキャンペーンに追加する。これらのペアの値は、ブレイズの前に使用した特定のプッシュパートナーによって決まる。

New Stuff!