ユーザー管理
ユーザープロフィールとプリファレンスを管理して、パーソナライゼーションを向上させます。すべてのユーザーエンドポイントは無料(0 クレジット)です。
ユーザーの作成方法
ユーザーを作成するには、以下のいずれかの方法を使用します:
| 方法 | 説明 |
|---|---|
PUT /v1/users/{user_id} | 明示的にユーザーを作成・更新(推奨) |
POST /v1/events(login) | user_id(必須)に基づきバックグラウンドで自動作成。metadata.user_attributes のプロパティもマージ |
POST /v1/events(session_start) | user_id が含まれている場合にバックグラウンドで自動作成 |
POST /v1/events(click / impression / return / share / like / dislike) | user_id が含まれている場合にバックグラウンドで自動作成(session_start 不到達ケースの救済) |
click 等の行動ログ単体で先に作成されたユーザーは total_sessions = 0 の状態で開始します。後から session_start を観測したタイミングで total_sessions がインクリメントされ、セッションの started_at も session_start の occurred_at で上書きされます。
last_active_at とプッシュ通知last_active_at の値はプッシュ候補生成時の last_active_days フィルタで使用されます。一度もイベント送信が無いユーザー(last_active_at が未設定)は当該フィルタの対象外となるため、休眠ユーザーへ配信したい場合は last_active_days を省略してください。
ユーザーの作成・更新
PUT /v1/users/{user_id}
{
"properties": {
"area_names": ["Tokyo"],
"area_level": "prefecture",
"language": "ja",
"interests": ["technology", "design"],
"registered_at": "2024-01-15T10:30:00Z"
}
}
user_id はアプリケーション側のユーザー識別子です。ユーザーが存在しない場合は自動的に作成されます。
| プロパティ | 説明 |
|---|---|
area_names | エリア名の配列(例: 駅名)。メインエリアとサブエリアの両方を登録可能 |
area_level | エリアの粒度(例: station, city, prefecture) |
registered_at | アプリケーション側でのユーザー会員登録日時(ISO 8601 形式、オプション) |
ユーザープロパティの部分更新
既存のプロパティを保持しつつ、指定したキーのみを上書きする場合:
PATCH /v1/users/{user_id}
{
"properties": {
"interests": ["technology", "business", "ai"]
}
}
PATCH はシャローマージを行います。リクエストに含まれるトップレベルのキーのみが上書きされ、含まれないキーは既存の値が保持されます。ネストされたオブジェクトは部分マージされず、トップレベルのキーごと差し替わる点に注意してください。プロパティ全体を置き換えたい場合は PUT を使用してください。
ユーザー詳細の取得
GET /v1/users/{user_id}
プロパティ、フォロー中のソース、ブロック中のソースを含むユーザープロフィールを返します。
ユーザー一覧
GET /v1/users?limit=20&cursor=...
テナント内のすべてのユーザーをページネーション付きで一覧表示します。
ユーザーの削除
DELETE /v1/users/{user_id}
ユーザーと関連データを完全に削除します。
ソースプリファレンス
ユーザーは特定のコンテンツソースをフォローまたはブロックできます:
ソースのフォロー
PUT /v1/users/{user_id}/sources/{source_id}/follow
フォローしたソースは、ユーザーのフィードでランキングが優遇されます。
ソースのフォロー解除
DELETE /v1/users/{user_id}/sources/{source_id}/follow
ソースのブロック
PUT /v1/users/{user_id}/sources/{source_id}/block
ブロックしたソースは、ユーザーのフィードから完全に除外されます。
ソースのブロック解除
DELETE /v1/users/{user_id}/sources/{source_id}/block