ユーザープライバシーAPI v2
v1 APIを使用していますか?
連携でAmplitudeのv1ユーザープライバシーAPIを使用している場合は、/api/2/deletions/users、amplitude.comのユーザープライバシーAPIドキュメントにアクセスしてください。このページでは、privacy.amplitude.comでホストされているv2について説明しています。
v2 の新機能
すでに v1 と統合されている場合、最も重要な変更点は削除範囲の解釈方法です。 v1 では、範囲が指定されていない場合、デフォルトで単一のアプリ(プロジェクト)を削除するようになっていました。 v2 では常に組織全体を削除します。
| エリア | v1(レガシー) | v2(現在) |
|---|---|---|
| デフォルトの範囲 | 単一プロジェクト | 組織全体(すべてのプロジェクト) |
| 範囲制御 | 組織全体の削除に対して delete_from_org: true を設定します | 該当なし — すべてのリクエストが組織から削除されます |
| エンドポイント | POST /api/2/deletions/users 作成、GET ステータス、DELETE ステージングからの削除 | 作成には POST /api/user-deletions/org/{orgId}/requests、リストとステータスには GET |
delete_from_orgはv1のみです
delete_from_orgパラメータは、レガシーv1 APIにのみ存在します。v2ではサポートされていません。送信されたすべての削除リクエストは、privacy.amplitude.com組織内のすべてのプロジェクトにわたってユーザーデータを削除します。
エンドポイント
すべてのv2ルートは、組織にスコープが設定されます。ご使用{orgId}のAmplitude組織IDに置き換えてください。
| オペレーション | メソッド | パス | リクエスト本文 | レスポンス本文 |
|---|---|---|---|---|
| リスト削除リクエスト | GET | /api/user-deletions/org/{orgId}/requests | — | List<DeletionFetchResponse> |
| 削除リクエストを送信する | POST | /api/user-deletions/org/{orgId}/requests | DeletionRequest | DeletionResponse |
| 削除リクエストを取得する | GET | /api/user-deletions/org/{orgId}/requests/{requestId} | — | DeletionFetchResponse |
v2ではリクエストのキャンセルはまだサポートされていません。
v2ではリクエストの削除やステージングジョブからのユーザーの削除はまだサポートされていません。ジョブを実行する前に保留中の削除をキャンセルしたりユーザーを削除する必要がある場合は、この機能がv2で提供されるまで、v1 APIを引き続き使用してください。
地域
ベースURLは、プロジェクトのデータのレジデンシーによって異なります。このページ内のすべての例では、プロジェクトがAmplitudeのEUデータセンターを利用している場合を除き、デフォルトのベースURLを使用してください。EUデータセンターを利用している場合は、この表に記載されているEU用のベースURLを使用してください。
| データのレジデンシー | ベースURL |
|---|---|
| デフォルト | https://privacy.amplitude.com |
| 欧州連合 | https://privacy.eu.amplitude.com |
プロジェクトのデータレジデンシーと一致するホストを使用してください。
認証
組織レベルの秘密鍵を使用したベアラートークン認証。
Authorization: Bearer <org-secret-key>
Amplitudeの「**設定」>「APIキー」>「組織レベルの秘密鍵」**で組織レベルの秘密鍵を生成します。 リクエストパス内の orgIdは、秘密鍵が属する組織と一致している必要があります。 削除は引き続きすべてのプロジェクトに対して組織全体に適用されます(組織全体の削除に移動してください)。 組織レベルの秘密鍵ページがまだご利用いただけない場合は、Amplitude サポートに連絡してプロビジョニングしてください。
DSARは別個のものです。
データ主体アクセス要求は別のエンドポイント(/api/2/dsar/requests)を使用し、組織レベルのAPIキーも必要です。
削除リクエストを送信する
POST /api/user-deletions/org/{orgId}/requests
JSON 本文 (DeletionRequest) を使用して削除対象のユーザーを追加します。 一度に最大100人のユーザを指定できます。Amplitude IDとユーザーIDを組み合わせて使用できます。 リクエストごとに、組織全体のユーザーデータが削除されます。
ボディパラメータ
| フィールド | タイプ | 必須 | 概要 |
|---|---|---|---|
amplitude_ids | int[] | amplitude_idsまたはuser_idsの少なくとも1つ | 削除するAmplitude ID。両方のアレイ全体で最大100個のIDを使用できます。 |
user_ids | string[] | amplitude_idsまたはuser_idsの少なくとも1つ | 削除するユーザーID。両方のアレイ全体で最大100個のIDを使用できます。 |
requester | string | はい | リクエストを送信した人の電子メール。 監査メールで使用されます。 |
ignore_invalid_ids | boolean | いいえ(デフォルトfalse) | trueの場合、一部の ID が見つからない場合でもジョブは続行されます。 falseの場合、不明な ID に対してリクエストが失敗します。 |
include_mapped_user_ids | boolean | いいえ | true の場合、マッピングされたユーザー ID に関連付けられたデータも削除されます (ポートフォリオ アドオン)。 |
delete_from_org は v2 では有効なパラメータではありません。 これは、組織全体の削除をオプトインするためのv1専用のオプションです。v2 では、組織全体の削除がデフォルトであり唯一の動作です。
リスト削除リクエスト
GET /api/user-deletions/org/{orgId}/requests
組織に対するすべての削除リクエストを返します。
curl --request GET 'https://privacy.amplitude.com/api/user-deletions/org/{orgId}/requests' \
--header 'Authorization: Bearer <org-secret-key>' \
--header 'Accept: application/json'
削除リクエストを取得する
GET /api/user-deletions/org/{orgId}/requests/{requestId}
IDを指定して単一の削除リクエストを返します。
curl --request GET 'https://privacy.amplitude.com/api/user-deletions/org/{orgId}/requests/{requestId}' \
--header 'Authorization: Bearer <org-secret-key>' \
--header 'Accept: application/json'
ジョブのライフサイクル
| 状態 | 意味 |
|---|---|
staging | ジョブは作成されましたが、まだロックされていません。 |
submitted | ジョブがロックされました。 スケジュールされた日に実行されます。 変更することはできません。 |
done | バックアップを含むすべてのシステムで削除が完了しました。 |
ジョブはスケジュールされた実行日のstaging3日前からsubmittedに移動します。ジョブが submitted になった後は、キャンセルすることはできません。
v2はまだステージングジョブからユーザーを削除したり、リクエストをキャンセルしたりするためのAPIを公開していません。そのワークフローを今すぐ必要とする場合は、v1 API を使用してください。
組織全体の削除
v2 の削除要求はすべて組織全体で行われます。 リクエストを送信すると、Amplitudeはリストに掲載されているユーザーのデータを含む組織内のすべてのプロジェクトに削除を展開します。
- 一致するデータを持つプロジェクトごとに、削除ジョブが 1 つ作成されます。
- すべてのアカウント管理者は、組織全体で削除予定のAmplitude IDの完全なリストを記載したメールを受け取ります。
v2 にはプロジェクトスコープの削除モードはありません。単一のプロジェクトからのみ削除する必要がある場合は、delete_from_org を設定せずにレガシー v1 API を使用してください。
以前に delete_from_org を設定せずに v1 を使用していた場合、過去の削除リクエストは 1 つのプロジェクトからのみ削除された可能性があります。これらのユーザーをv2で再送信して、組織全体で確実に削除してください。
サービスレベルのコミットメントとタイミング
| コミットメント | 値 |
|---|---|
| 削除完了までの最大時間 | リクエストから30日間 |
| ジョブの取り消し期限: | 予定された実行日の3日前(v2がキャンセルをサポートするまではv1のみ) |
削除リクエストを行うと、Amplitudeはアカウント管理者全員に削除の詳細をメールで送信します。
重要な動作
削除しても将来の追跡は停止しません
ユーザープライバシーAPIは既存のデータを削除します。 このことは、Amplitudeが削除されたユーザーの新しいイベントを受け入れることを妨げるものではありません。 SDKがこれらのユーザーに対してイベントを送信し続けると、それらのイベントは新しいユーザーとして取り込まれます。Amplitudeには、再リンクの対象となる削除済みアイデンティティの記憶がありません。
今後の追跡を停止するには、使用しているAmplitude SDKのsetOptOut()メソッドを使用してください。
ウェアハウス / CDCによる再取り込み
変更データキャプチャ(CDC)またはその他のウェアハウス固有の取り込み方法を使用してデータウェアハウスからAmplitudeにデータを取り込む場合、Amplitudeでの削除はソースに伝播しません。 次回の同期時に、削除されたデータが再取り込まれる可能性があります。
**完全に削除するには、ウェアハウスソース内のデータも削除してから、ユーザープライバシーAPIリクエストを再実行してください。**これは次の場合に適用されます:
- Snowflake / BigQuery / Databricks / Redshift CDCソース
- ミラー同期
- その他のウェアハウス固有の取り込みパス
将来のイベント識別情報
削除後に同じ user_id に対して新しいイベントが到着した場合、それらは新しいAmplitude IDを持つ新しいユーザーとして扱われます。 自動的に再ステッチすることはありません。
Statsigデータ
このユーザープライバシーAPIは、Amplitudeプラットフォームからのデータのみを削除します。 Statsigプラットフォームからデータを削除するには、Statsigユーザーデータ削除要求APIを使用します。
v1からの移行
既存のv1連携がある場合は、レガシーエンドポイントリファレンスについてv1のドキュメントを参照してください。v2に移行する際に変更すべき点は次のとおりです。
1. エンドポイントを更新する
- POST https://amplitude.com/api/2/deletions/users
+ POST https://privacy.amplitude.com/api/user-deletions/org/{orgId}/requests
v1の日付範囲クエリの代わりに、上記のリストとIDによる取得のGETルートを使用してください。v2は、ステージングからユーザーを削除するためのDELETEをまだサポートしていません。必要に応じて、そのワークフローには引き続きv1を使用してください。
2. 認証を更新する
v2 では、v1 のプロジェクト API キー + 秘密キーではなく、組織レベルの秘密キーによるベアラ認証を採用しています。
- Authorization: Basic <base64(api_key:secret_key)>
+ Authorization: Bearer <org-secret-key>
**[設定] → [API キー] → [組織レベルの秘密キー] **で組織レベルの秘密キーを生成します。
3. リクエストを一括処理する
v2 はリクエストごとに最大 100 個の ID を受け入れます。 ユーザーを効率的に削除するための各リクエスト内のバッチID。
4. delete_from_org を削除する
このdelete_from_orgパラメータは v1 専用です。 v2 では、すべてのリクエストはデフォルトで組織全体を削除します。このフラグを設定する必要はありません(そして設定することはできません)。
{
"user_ids": ["user_1"],
"requester": "privacy@yourcompany.com",
- "delete_from_org": true
}
バージョン 1 を なしで使用していた場合delete_from_org、リクエストは 1 つのプロジェクトからのみ削除されます。 v2 への移行により、これらのリクエストは自動的に組織全体の削除にアップグレードされます。
5. リクエストステータスの可視化を使用する
v2 GETでは、削除リクエストを一覧表示し、ライフサイクル状態( staging/ submitted/ done)を含む単一のリクエrequestIdストを で取得するためのエンドポイントが公開されています。
ステータスコード
| コード | メッセージ |
|---|---|
| 200 | 成功 |
| 400 | 無効なリクエストです。 |
| 401 | 未認証 |
これは役に立ちましたか?