이 페이지에서

사용자 매핑(별칭) API

지역

기본 URL은 프로젝트의 데이터 상주 위치에 따라 달라집니다. 이 페이지의 모든 예제에서 프로젝트가 Amplitude의 EU 데이터 센터를 사용하지 않는 한 기본 URL을 사용하십시오. 이 경우 이 표의 EU 기본 URL을 사용하십시오.

기존 사용자 매핑 가져오기 엔드포인트는 다른 분석 REST API와 동일한 호스트인 https://analytics.eu.amplitude.com(기본값) 또는 https://amplitude.com(EU)를 사용합니다. https://analytics.amplitude.com 호스트 이름은 분석 웹 앱(브라우저 UI)이며 해당 엔드포인트의 프로그래밍 방식 기본 URL이 아닙니다.

고려 사항

이 API를 사용할 때의 동작은 다음과 같습니다.

  • 사용자 1을 사용자 2(글로벌 사용자 ID)에 매핑하면 사용자 2의 이벤트 스트림에는 사용자 1_과_ 사용자 2와 관련된 모든 이벤트가 포함됩니다. 사용자 1에는 사용자 1과 관련된 이벤트만 포함됩니다.
  • 사용자를 매핑할 때 사용자 속성은 병합되지 않습니다. 각 이벤트에 첨부된 사용자 속성은 해당 이벤트를 트리거한 원래 사용자의 속성입니다. 사용자 속성은 원본 user_id에만 유지되며 사용자 1과 사용자 2간에 전송되지 않습니다.
  • Amplitude는 사용자를 집계된 카운트로 병합합니다. 그룹을 적용하면 Amplitude는 사용자 ID를 나열합니다.
  • Amplitude에서 사용자 조회 기능을 사용할 때, UI는 매핑된 사용자를 "다시 매핑된 사용자 ID" 또는 "사용자 ID로 다시 매핑…"으로 표시합니다.
  • 병합된 사용자 ID 목록이 필요하면 지원 팀에 문의하십시오.

제한

앨리어싱 API에는 다음과 같은 제한이 있습니다.

  • 배치 제한:
    • 배치당 최대 2000개의 요청/이벤트가 가능합니다.
    • 최대 크기는 1MB입니다.
    • 배치 제한을 늘릴 수 없습니다.
  • 속도 제한
    • 기본적으로 Amplitude는 30초 동안 초당 최대 50개의 이벤트를 지원하며, 이는 30초 동안 총 1,500개의 별칭 호출(배치 제외)과 같습니다.
    • 제한을 초과할 경우 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와 관련된 매핑 목록을 가져옵니다.

사용자 매핑은 map 및 unmap 엔드포인트(https://amplitude.com/api/2/usermap)와는 다른 URL을 사용합니다.

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

이 내용이 도움이 되었나요?