ユーザープライバシーAPI
ユーザー プライバシー API v2が利用可能になりました
Amplitudeは、privacy.amplitude.comでホストされているユーザー プライバシー API v2をリリースしました。新しい統合については、ユーザー プライバシー API v2をお勧めします。このページでは、v1 API(amplitude.com上の/api/2/deletions/users)について説明しています。
地域
ベースURLは、プロジェクトのデータのレジデンシーによって異なります。このページ内のすべての例では、プロジェクトがAmplitudeのEUデータセンターを利用している場合を除き、デフォルトのベースURLを使用してください。EUデータセンターを利用している場合は、この表に記載されているEU用のベースURLを使用してください。
リクエストはhttps://amplitude.com(デフォルト)またはhttps://analytics.eu.amplitude.com(EU)に送信されます。https://analytics.amplitude.comのホスト名はアナリティクスウェブアプリ(ブラウザーUI)です。RESTリクエストにはanalytics.amplitude.comではなく、この表に記載されているホストを使用してください。
| データのレジデンシー | ベースURL |
|---|---|
| デフォルト | https://amplitude.com |
| 欧州連合 | https://analytics.eu.amplitude.com |
考慮事項
ユーザープライバシーAPIを使用する際には、以下の点に注意してください。
- エンドユーザーのデータを単一のプロジェクト全体または組織全体で削除できます。 デフォルトでは、削除リクエストは、リクエストのAPIキーが識別するプロジェクトのジョブを作成します。組織全体でユーザーを削除するには、
delete_from_orgパラメータをtrueに設定します。delete_from_orgがtrueの場合、APIはリクエストされたユーザーのデータを含むプロジェクトごとに削除ジョブを1つ作成し、入力内容に関係なくignore_invalid_idsをtrueとして扱います。 - 削除リクエストを行うと、Amplitudeはアカウント管理者全員に削除の詳細をメールで送信します。
- Amplitudeは、削除ジョブ内の各Amplitude IDに対してジョブが実行されるまで、追加されたすべてのイベントとユーザープロパティを削除します。
- ユーザーに対して削除ジョブを実行しても、そのユーザーに対する新しいイベントはブロックされません。 Amplitudeは削除されたユーザーからの新しいイベントを受け入れます。
- Amplitudeは削除されたユーザーに関するイベントを受信した場合、削除されたユーザーを新しいユーザーとしてカウントします。 削除するとAmplitudeサーバーからすべてのユーザーデータが削除されるため、Amplitudeは新しいユーザーを削除されたユーザーとして認識しません。
- Amplitudeは削除のためのバッチジョブをスケジュールすることで、リソースへの影響を軽減し、高可用性を確保します。 バッチの最初のリクエスト日は、スケジュール設定の基準点です。 GDPR第12.3条および17条に従い、Amplitudeは削除依頼を受領してから30日以内に処理します。実際のスケジュールは、リクエストの複雑さと数によって異なります。 データ量が多い場合(1BB/月超)、Amplitudeは削除スケジュールの頻度を減らす可能性があります。
- ジョブのスケジュールされた実行日の3日前まで、バッチ内のリクエストを取り消すことができます。 この3日間は、バッチを編集することはできません。 Amplitudeは、この期間中に行われた削除リクエストを新しいバッチに追加します。
- 3日間の期間が経過すると、リクエストのステータスは
submittedに変わり、ジョブを停止することはできなくなります。削除プロセスは、関連するリカバリシステムやバックアップシステムを含む、Amplitudeのすべてのシステムからユーザーに関連付けられたすべてのデータを削除します。 ジョブが完了すると、そのステータスはdoneに変わります。 - 削除リクエストの進行状況を確認するには、GET APIを使用して各プロジェクトのAPIキーを使用して各プロジェクトのジョブステータスを検査します。
- このユーザープライバシーAPIは、Amplitudeプラットフォームからのデータのみを削除します。Statsig プラットフォームからデータを削除するには、Statsig ユーザーデータ削除要求 API を使用します。
ユーザー追跡
このAPIを使用しても、削除されたユーザーに対する今後のユーザー追跡が妨げられることはありません。アプリケーション内のユーザーの追跡を停止するには、使用しているAmplitude SDKのドキュメントにあるsetOptOut()方法を参照してください。
ウェアハウス変更データキャプチャ(CDC)ソースまたはその他のデータウェアハウス取り込み方法を使用している場合、そのデータがデータウェアハウスに残っているときにAmplitudeでユーザーデータを削除した場合、Amplitudeは次の同期時にそのデータを再取り込む可能性があります。 確実に完全に削除するには、データウェアハウスまたはその他の取り込みソースからユーザーデータを削除してください。
制限事項
エンドポイント /api/2/deletions/users のレート制限は、1 秒あたり 1 HTTP リクエストです。各 HTTP リクエストには最大 100 個の amplitude_ids または user_ids を含めることができます。 また、特定のプロジェクトに対して並列実行されるリクエストは 8 件までという制限もあります。
各リクエストに 100 人のユーザーをバッチ処理する場合、1 秒あたり最大 100 件の削除リクエストを作成できます。
ユーザーの削除
POST /deletions/users
JSON 本文を使用して削除対象のユーザーを追加します。 一度に最大100人のユーザーを指定できます。Amplitude IDとユーザーIDを組み合わせて使用できます。
JSON 本文パラメータ
body パラメータは必須です。 これは、ユーザが削除するuser_idsおよびamplitude_idsをリストアップする削除要求オブジェクトです。
| 名前 | 概要 |
|---|---|
amplitude_ids | 削除するユーザーのAmplitude ID。 |
user_ids | 削除するユーザーのユーザーID。 |
requester | 削除を要求した内部ユーザー。 これは監査に役立ちます。 |
ignore_invalid_id | ブール値デフォルトはfalseです。 falseの場合、リクエスト内のユーザーがプロジェクト内で見つからなかった場合、APIは400エラーを返し、どのユーザーも削除対象としてマークしません。trueの場合、APIは成功を示す200レスポンスを返します。これにはinvalid_idsのリストが含まれ、プロジェクト内で見つかったユーザーをジョブに追加します。invalid_idsは、プロジェクト内にデータがないリクエスト済みユーザーを表します。delete_from_orgがtrueの場合、APIはこのフィールドをtrueに設定し、入力を無視します。 |
delete_from_org | ブール値デフォルトはfalseです。 falseの場合、リクエストはAPIキーが識別するプロジェクトからリクエストされたユーザーのみを削除します。trueの場合、APIはリクエストされたユーザーを組織全体で削除し、そのユーザーのデータを含む各プロジェクトのジョブに挿入します。trueの場合、APIはignore_invalid_idsをtrueに設定し、入力を無視します。 |
include_mapped_user_ids | true の場合、指定された amplitude_id に対応する有効な user_id 値を返します。このパラメータは応答オブジェクトを変更するだけです。 ユーザーマッピングAPIを使用して設定されたマッピング済みユーザーを削除するには、各マッピング済みユーザーのuser_idをuser_ids配列に含めます。 |
レスポンス
POST 要求に対する応答には次のフィールドが含まれます。
| 名前 | 概要 |
|---|---|
day | 削除ジョブの開始がスケジュールされている日付です。 |
status | 削除ジョブのステータス。 |
amplitude_idsおよびuser_ids | 削除するAmplitude IDのリスト。 |
app | プロジェクトまたはアプリ ID。 削除リクエストが複数のプロジェクトに対するものである場合に含まれます。 |
invalid_ids | ignore_invalid_idsがtrueである場合、リクエストされたがプロジェクト内で見つからなかったユーザーのリストが含まれます |
amplitude_idsキーには次のフィールドが含まれています。
| 名前 | 概要 |
|---|---|
amplitude_id | 削除するユーザーのAmplitude ID。 |
requester | Amplitude IDの削除をリクエストしたユーザー。 |
requested_on_day | この削除がリクエストされた日付。 |
user_id | 対応するユーザーID。include_mapped_user_idsがtrueであり、amplitude_idがuser_idsに一致する場合に含まれます。 |
削除ジョブを取得する
/api/2/deletions/users?start_day=YYYY-MM-DD&end_day=YYYY-MM-DD
一定の時間範囲でスケジュールされた削除ジョブのリストを取得します。 期間には、リクエストを行った日付と30日後の日付を含める必要があります。 たとえば、2018年8月1日に削除リクエストを行った場合、クエリにはstart_day = 2018-08-01およびend_day = 2018-08-31が含まれている必要があります。
リクエストが値を返さなかった場合、その時間範囲にジョブはスケジュールされません。 許可される期間の最大範囲は6か月です。
# You can also use wget
curl -X GET 'https://amplitude.com/api/2/deletions/users?start_day=string&end_day=string' \
-H 'Accept: application/json' \
-U API_KEY:API_SECRET
クエリパラメータ
| 名前 | 概要 |
|---|---|
start_day | 必須です。 データシリーズに含まれる最初の時間です。形式はYYYY-MM-DDです。たとえば、2022-02-01のようになります。 |
end_day | 必須です。 データシリーズに含まれる最後の時間です。形式はYYYY-MM-DDです。たとえば、2022-02-01のようになります。 |
レスポンス
GET要求に対する成功応答には次のフィールドが含まれます。
day- 説明:削除ジョブの開始がスケジュールされている日付です。
status- 説明:
- 削除ジョブのステータス。
- ステージング:ジョブは開始されておらず、変更可能です。このジョブにはさらに多くの削除リクエストがスケジュールされる場合があり、このジョブからリクエストを削除できます。
- 送信済み: ジョブは実行するために送信されています。 それを変更することはできません。
- 完了: ジョブの実行が終了しました。 それを変更することはできません。
- 説明:
amplitude_ids- 説明:削除するユーザーのAmplitude IDのリスト。
app- 説明: プロジェクトまたはアプリ ID。 削除が複数のプロジェクトに適用された場合に表示されます。
active_scrub_done_date- 説明:スクラブが完了し、データにアクセスできなくなった日付です。この日付以降、Amplitudeはすべてのバックアップが自動的にクリアされるまで5日間待機します。 ステータスはバックアップが削除された後にのみ
doneに変わります。
- 説明:スクラブが完了し、データにアクセスできなくなった日付です。この日付以降、Amplitudeはすべてのバックアップが自動的にクリアされるまで5日間待機します。 ステータスはバックアップが削除された後にのみ
amplitude_idsキーには次のフィールドが含まれています。
| 名前 | 概要 |
|---|---|
amplitude_id | 削除するユーザーのAmplitude ID。 |
requester | Amplitude IDの削除をリクエストしたユーザー。 |
requested_on_day | この削除がリクエストされた日付。 |
[
{
"day": "string",
"amplitude_ids": [
{
"amplitude_id": 0,
"requested_on_day": "string",
"requester": "string"
}
],
"status": "string"
}
]
削除ジョブからユーザーを削除する
指定されたAmplitude IDを削除ジョブから削除します。
/api/2/deletions/users/AMPLITUDE_ID/YYYY-MM-DD
curl -X DELETE \
'https://amplitude.com/api/2/deletions/users/AMPLITUDE_ID/JOB_START_DAY' \
-H 'Content-Type: application/json' \
-U API_KEY:API_SECRET
パス変数
| 名前 | 概要 |
|---|---|
AMPLITUDE_ID | 必須です。 削除ジョブから削除される amplitude_id。 |
JOB_START_DAY | 必須です。 削除がスケジュールされている日。 YYYY-MM-DD |
レスポンス
成功したリクエストは、次のスキーマを持つレスポンスを返します。
| プロパティ | 概要 |
|---|---|
amplitude_id | ジョブから削除されたユーザーのAmplitude ID |
requester | Amplitude IDの削除をリクエストしたユーザー。 |
requested_on_day | この削除がリクエストされた日付。 |
{
"amplitude_id": 1234567,
"requested_on_day": "string",
"requester": "string"
}
ステータスコード
| コード | メッセージ |
|---|---|
| 200 | 成功 |
| 400 | 無効なリクエストです。 |
| 401 | 未認証 |
これは役に立ちましたか?