このページでは

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ではありません。

考慮事項

この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サポートまでお問い合わせください。

クエリパラメータ

マッピングパラメータ

ユーザーマッピング

ユーザー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

python
    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())

クエリパラメータ

レスポンス

POSTリクエストに対するレスポンスには次のフィールドが含まれます。

mappingsキーには次のフィールドが含まれています。

json
{
  "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": []
  }
}

これは役に立ちましたか?