사용자 매핑(별칭) API
지역
기본 URL은 프로젝트의 데이터 상주 위치에 따라 달라집니다. 이 페이지의 모든 예제에서 프로젝트가 Amplitude의 EU 데이터 센터를 사용하지 않는 한 기본 URL을 사용하십시오. 이 경우 이 표의 EU 기본 URL을 사용하십시오.
기존 사용자 매핑 가져오기 엔드포인트는 다른 분석 REST API와 동일한 호스트인 https://analytics.eu.amplitude.com(기본값) 또는 https://amplitude.com(EU)를 사용합니다. https://analytics.amplitude.com 호스트 이름은 분석 웹 앱(브라우저 UI)이며 해당 엔드포인트의 프로그래밍 방식 기본 URL이 아닙니다.
| 데이터 상주 | 기본 URL |
|---|---|
| 기본값 | https://api.amplitude.com |
| EU | https://api.eu.amplitude.com |
고려 사항
이 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 서포트에 문의하십시오.
쿼리 매개 변수
| 이름 | 설명 |
|---|---|
api_key | 필수입니다. 유형: string. 조직의 모든 프로젝트에 대한 API 키입니다. |
mapping | 필수입니다. 단일 JSON 매핑 객체 또는 JSON 객체의 배열로, 각각은 단일 매핑을 나타냅니다. |
매핑 매개변수
| 이름 | 설명 |
|---|---|
user_id | 필수입니다. 유형: string. 매핑하려는 사용자에 대해 사용자가 지정한 UUID(고유 사용자 ID)입니다. 각 JSON 매핑 객체는 매핑할 하나의 user_id을(를) 포함할 수 있습니다. |
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와 관련된 매핑 목록을 가져옵니다.
사용자 매핑은 map 및 unmap 엔드포인트(https://amplitude.com/api/2/usermap)와는 다른 URL을 사용합니다.
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개의 사용자 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": []
}
}
이 내용이 도움이 되었나요?