Users
ユーザーの検索
Section titled ユーザーの検索プロジェクト内のユーザーを検索します。属性(ユーザー ID、メールアドレス、国など)でフィルターし、必要に応じて自由テキストの query で絞り込み、結果をページネーションできます。
POST
/public/:projectKey/users
パラメーター
Section titled パラメーター| 名前 | 型 | 説明 |
|---|---|---|
| projectKey | string | プロジェクトキー(必須) |
| q | string | オプションの自由テキストクエリ(URL クエリパラメーター)。q と query(ボディ)の両方が指定された場合は、q が優先されます。 |
ペイロード
Section titled ペイロード| 名前 | 型 | 説明 |
|---|---|---|
| filters | array | フィルターのリスト(任意) |
| query | string | ユーザー ID/メールアドレス/名前に対する自由テキストクエリ(最大 100) |
| startTimestamp | epoch (ms) | 時間枠の開始(任意、最小値 946684800000) |
| endTimestamp | epoch (ms) | 時間枠の終了(任意、startTimestamp より後の値) |
| limit | integer | ページサイズ、1〜200(任意、デフォルト: 50) |
| page | integer | ページ番号、1 から開始(任意、デフォルト: 1) |
| sortBy | string | ソートに使用するユーザーのカラム(任意) |
| sortOrder | string | asc または desc(任意) |
| columns | array | レスポンスに含める追加のユーザーカラム |
リクエストヘッダー
Section titled リクエストヘッダーAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
リクエスト例
Section titled リクエスト例curl -X POST \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users \
-H 'content-type: application/json' \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}' \
--data-raw '{
"query": "mickael",
"limit": 50,
"page": 1,
"sortOrder": "desc"
}'
レスポンス例
Section titled レスポンス例{
"data": {
"total": 1,
"users": [
{
"$user_id": "mickael@openreplay.com",
"$email": "mickael@openreplay.com",
"$name": "Mickael",
"$first_name": "Mickael",
"$last_name": "",
"$created_at": 1623440822825,
"$last_seen": 1623689478617
}
]
}
}
ユーザーの取得
Section titled ユーザーの取得特定のユーザーの識別属性と概要の統計情報を取得します。
GET
/public/:projectKey/users/:userId
パラメーター
Section titled パラメーター| 名前 | 型 | 説明 |
|---|---|---|
| projectKey | string | プロジェクトキー(必須) |
| userId | string | tracker.setUserID で設定された ID(必須、最大 256) |
リクエストヘッダー
Section titled リクエストヘッダーAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
ステータスコード
Section titled ステータスコード200: レスポンスは JSON としてボディで送信されます
400: 無効な userId(空、または 256 文字を超える)
404: ユーザーが見つかりません
リクエスト例
Section titled リクエスト例curl -X GET \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@openreplay.com \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
レスポンス例
Section titled レスポンス例{
"data": {
"$user_id": "mickael@openreplay.com",
"$email": "mickael@openreplay.com",
"$name": "Mickael",
"$first_name": "Mickael",
"$last_name": "",
"$phone": "",
"$avatar": "",
"$created_at": 1623440822825,
"distinct_ids": ["15bd70f6-aedf-4544-8ae6-57eb66398e94"],
"$country": "FR",
"$state": "",
"$city": "",
"$first_event_at": 1623440822825,
"$last_seen": 1623689478617
}
}
ユーザーの削除
Section titled ユーザーの削除ユーザーと、関連するすべてのデータを削除します。バックグラウンドジョブをスケジュールし、レスポンスには Jobs API でポーリングできる jobId が含まれます。
DELETE
/public/:projectKey/users/:userId
パラメーター
Section titled パラメーター| 名前 | 型 | 説明 |
|---|---|---|
| projectKey | string | プロジェクトキー(必須) |
| userId | string | tracker.setUserID で設定された ID(必須、最大 256) |
リクエストヘッダー
Section titled リクエストヘッダーAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
ステータスコード
Section titled ステータスコード200: ジョブがスケジュールされ、ボディで返されます
400: 無効な userId(空、または 256 文字を超える)
409: このユーザーの削除ジョブがすでにスケジュール済み、または実行中です
リクエスト例
Section titled リクエスト例curl -X DELETE \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@example.com \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
レスポンス例
Section titled レスポンス例{
"data": {
"jobId": 22345,
"description": "Delete user sessions of userId = mickael@example.com",
"status": "scheduled",
"projectId": 1,
"action": "delete_user_data",
"referenceId": "mickael@example.com",
"createdAt": 1623912962910,
"updatedAt": null,
"startAt": 1623954600000,
"errors": null
}
}
リプレイファイルの削除時期を変更するには?
Section titled リプレイファイルの削除時期を変更するには?削除ジョブは 2 つのステップで処理されます。まず、セッションとそれに紐づくイベントが、夜間にデータベースから削除されます。次に、リプレイファイルがオブジェクトストレージで(30 日後に)期限切れとなるようスケジュールされます。
minio(標準インストール)を使用していて、デフォルトの有効期限/ライフサイクルポリシーを変更したい場合は、以下の手順に従ってください。
- サーバー上で
openreplay -eを実行します chaliceセクションに、SCH_DELETE_DAYS という新しい環境変数を定義し、リプレイファイルを削除するまでに保持する日数(0 以上)を値として設定します:wqを使用して保存し、終了しますk9s -n dbを実行します- キーボードの矢印キーでリスト内を移動し、
minio-*コンテナーを選択します sを押して、Minio(オブジェクトストレージ)コンテナーのシェルにアクセスしますmc alias set minio http://localhost:9000 $MINIO_ACCESS_KEY $MINIO_SECRET_KEYを実行します- 削除ジョブの実行から 14 日後にリプレイファイルを削除するには、次のようにします
export EXPIRATION_DAYS=14
mc ilm add --expiry-days $EXPIRATION_DAYS --tags "to_delete_in_days=${EXPIRATION_DAYS}" minio/mobs
exitを使用して Minio コンテナーを終了します:quitを実行して Kubernetes CLI を終了します