User Mapping (Aliasing) API
地域
ベースURLは、プロジェクトのデータのレジデンシーによって異なります。このページ内のすべての例では、プロジェクトがAmplitudeのEUデータセンターを利用している場合を除き、デフォルトのベースURLを使用してください。EUデータセンターを利用している場合は、この表に記載されているEU用のベースURLを使用してください。
既存のユーザーマッピングを取得エンドポイントは、https://amplitude.com(デフォルト)またはhttps://analytics.eu.amplitude.com(EU)を使用します。これは他のAnalytics REST APIと同じホストです。https://analytics.amplitude.comホスト名はアナリティクスウェブアプリ(ブラウザーUI)であり、そのエンドポイントのプログラムベースのURLではありません。
| データのレジデンシー | ベースURL |
|---|---|
| デフォルト | https://api.amplitude.com |
| 欧州連合 | https://api.eu.amplitude.com |
考慮事項
このAPIを使用する場合の動作は以下の点に注意してください。
- ユーザー1をユーザー2(グローバルユーザーID)にマッピングする場合、ユーザー2のイベントストリームにはユーザー1_と_ユーザー2に関連付けられたすべてのイベントが含まれます。ユーザー1にはユーザー1に関連付けられたイベントのみが含まれます。
- ユーザーをマッピングする場合、ユーザープロパティはマージされません。各イベントに関連付けられているユーザープロパティは、イベントをトリガーした元のユーザーのものです。ユーザープロパティはオリジナル
user_idにのみ残り、ユーザー1とユーザー2の間で転送されることはありません。 - Amplitudeはユーザーを集計カウントでマージします。 グループを適用すると、AmplitudeはユーザーIDをリストアップします。
- Amplitudeでユーザールックアップ機能を使用すると、UIは「Remapped User IDs(再マップされたユーザーID)」または「Remapping Into User ID...(ユーザーIDに再マップ中...)」という名前でマッピングされたユーザーを示します。
- 統合されたユーザーIDのリストが必要な場合は、サポートまでお問い合わせください。
制限事項
エイリアシングAPIには次の制限事項があります。
- バッチ制限:
- バッチあたりのリクエスト/イベントは最大2000件まで。
- 最大サイズは1MBです。
- バッチ制限を増やすことはできません。
- レート制限
- デフォルトでは、Amplitudeは30秒のウィンドウで1秒あたり最大50件のイベントをサポートします。これは、30秒のウィンドウで合計1500件のエイリアスコール(バッチではなく)に相当します。
- 制限を超えた場合、Amplitudeは30秒のウィンドウ内のコールが制限を下回るまで、すべてのリクエストをスロットリングします。
- この制限を増やす必要がある場合は、Amplitudeサポートまでお問い合わせください。
クエリパラメータ
| 名前 | 概要 |
|---|---|
api_key | 必須です。 タイプ:string。 組織内の任意のプロジェクト用のAPIキー。 |
mapping | 必須です。 単一のJSONマッピングオブジェクトまたはJSONオブジェクトの配列のいずれかです。それぞれが1つのマッピングを表します。 |
マッピングパラメータ
| 名前 | 概要 |
|---|---|
user_id | 必須です。 タイプ:string。 マッピング対象のユーザーに対して指定したUUID(ユニークユーザーID)。各JSONマッピングオブジェクトに、マップ対象のuser_idを1つ含めることができます。 |
global_user_id | unmapがtrueでない限り、必須です。タイプ:string。 指定したUUID(ユニークユーザーID)。他のuser_idをマッピングする、統合されたID。 |
unmap | オプションです。タイプ:boolean。 trueの場合、user_idの現在のマッピングは削除されます。 |
ユーザーマッピング
ユーザーIDをグローバルユーザーIDにマップします。JSONマッピングオブジェクトごとに単一のユーザーIDをマッピングできます。
これは必要なパラメータのみを含む基本的なリクエストです。 より詳細なリクエストについては、以下の例を参照してください。
curl --location -g --request POST 'https://api.amplitude.com/usermap?mapping=[{"user_id":"<USER_ID", "global_user_id": "<GLOBAL_USER_ID"}]&api_key=API_KEY'
ユーザーのマッピング解除
これは必要なパラメータのみを含む基本的なリクエストです。 JSONマッピングオブジェクトごとに単一のユーザーIDのマッピングを解除できます。より詳細なリクエストについては、以下の例を参照してください。
curl --location -g --request POST 'https://api.amplitude.com/usermap?mapping=[{"user_id":"<USER_ID", "unmap": true}]&api_key=API_KEY'
既存のユーザーマッピングを取得する
指定されたユーザーIDに関連するマッピングのリストを取得します。
ユーザーマッピングでは、マップおよびアンマップエンドポイントとは異なるURLを使用します:https://amplitude.com/api/2/usermap。
user_ids = ["<REPLACE ME WITH LIST OF USER IDS>"]
request_data = {
"user_ids": user_ids,
}
url = 'https://amplitude.com/api/2/usermap'
API_KEY = "REPLACE_ME"
SECRET_KEY = "REPLACE_ME"
result = requests.get(url, auth=HTTPBasicAuth(API_KEY, SECRET_KEY), data=request_data)
if result.status_code != 200:
raise AssertionError(
"Request failed. Error: code - %s, text - %s" % (result.status_code, result.text))
else:
print(result.json())
クエリパラメータ
| 名前 | 概要 |
|---|---|
api_key | 必須です。 タイプ:string。 組織内の任意のプロジェクト用のAPIキー。 |
secret_key | 必須です。 タイプ:string。 組織内の任意のプロジェクト用のAPIシークレットキー。 |
user_ids | 必須です。 ユーザーIDのリスト。 1つのリクエストで最小1つのユーザーID、最大100個のユーザーIDを指定できます。 |
レスポンス
POSTリクエストに対するレスポンスには次のフィールドが含まれます。
| 名前 | 概要 |
|---|---|
user id | リクエストリスト内のユーザーID。 |
mappings | このユーザーIDに関連付けられたマッピング。以下のmappingsフィールドを参照してください。リクエストされたユーザーが見つからない場合は空白です。 |
mappingsキーには次のフィールドが含まれています。
| 名前 | 概要 |
|---|---|
amplitude_id | リクエストされたユーザーのAmplitude ID |
mapped_from | リクエストされたユーザーにマッピングされるオブジェクトのリストです。{"amplitude_id": 1234, "user_id": "mappedUser"} |
mapped_to | リクエストされたユーザーがにマッピングされるオブジェクトのリストです。{"amplitude_id": 1234, "user_id": "globalUser"} |
{
"user1": {
"mapped_from": [
{
"amplitude_id": 1234567,
"user_id": "user3"
}
],
"mapped_to": [
{
"amplitude_id": 1234567,
"user_id": "user2"
}
]
},
"user2": {
"mapped_from": [
{
"amplitude_id": 9988676,
"user_id": "user1"
}
],
"mapped_to": []
}
}
これは役に立ちましたか?