API 식별
지역
기본 URL은 프로젝트의 데이터 상주 위치에 따라 달라집니다. 이 페이지의 모든 예제에서 프로젝트가 Amplitude의 EU 데이터 센터를 사용하지 않는 한 기본 URL을 사용하십시오. 이 경우 이 표의 EU 기본 URL을 사용하십시오.
이 API는 이벤트 수집 호스트 api2.amplitude.com(기본값) 또는 api.eu.amplitude.com(EU)를 사용합니다. 다른 Amplitude API는 다른 호스트 이름을 사용합니다(예: api.amplitude.com, core.amplitude.com, data-api.amplitude.com, 또는 experiment.amplitude.com). https://analytics.amplitude.com 호스트 이름은 수집 엔드포인트가 아닌 분석 웹 앱(브라우저 UI)입니다.
| 데이터 상주 | 기본 URL |
|---|---|
| 기본값 | https://api2.amplitude.com |
| EU | https://api.eu.amplitude.com |
고려 사항
속도 제한
Amplitude는 개별 사용자(Amplitude ID별)가 사용자 속성을 시간당 1800회 이상 업데이트하는 경우 속도를 제한합니다. 이 제한은 사용자 속성 동기화에 적용되며 이벤트 수집에는 적용되지 않습니다. Amplitude는 계속해서 이벤트를 수집하지만 해당 사용자에 대한 사용자 속성 업데이트를 삭제할 수 있습니다.
- 아직 추적하지 않은 사용자 속성을 업데이트할 수 있습니다. 속성 값은 사용자의 다음 이벤트가 발생할 때까지 플랫폼에 적용되거나 표시되지 않습니다. 자세한 내용은 사용자 속성 적용을 참조하십시오.
- 업데이트는 소급되지 않으며 향후 이벤트에만 적용됩니다.
- Amplitude는 초당 이벤트 수 임계값을 초과하는
device_ids또는user_ids요청을 조절합니다. 조절된 요청은 HTTP 상태 코드 429를 반환합니다. 재시도하기 전에 해당 요청에 포함된 전체 장치에 대한 이벤트 전송을 15초 동안 일시 중지하십시오. 상태 코드 429를 더 이상 받지 않을 때까지 계속 재시도하십시오. 동일한user_id이(가) 여러 장치에서 동시에 이벤트를 전송하는 경우, Amplitude는 모든 장치를 조절합니다. Amplitude의 HTTP V2 API의 모든 조절 및 상태 코드 지침은 Identify API에 적용됩니다. - Amplitude는 날짜를 문자열로 비교하므로 ISO 8601 형식(
YYYY-MM-DDTHH:mm:ss)을 사용하십시오. 이 형식을 사용하면 웹 앱에서 날짜 비교를 수행할 수 있습니다. 예를 들어,'2016-01-31' > '2016-01-01'. 이 형식은'2017-08-07T10:09:08' > '2017-08-07T01:07:00'와(과) 같은 날짜/시간 값에도 적용됩니다. - 업데이트는 이벤트로 수행 회수가 포함되지 않기 때문에 Redshift에 나타나지 않습니다.
- Identify API 호출은 이벤트로 수행 회수가 포함되지 않으므로 API는 '활성 사용자' 또는 '신규 사용자' 정의에 아무런 영향을 미치지 않으며, 호출은 Amplitude의 월간 이벤트 수행 회수가 추가되지 않습니다.
- 기존 값에서
user_id필드를 변경하면 Amplitude는 새 사용자를 생성합니다.user_id의 현재 값이 null인 경우 Amplitude는 새로운 Amplitude 사용자를 생성하지 않습니다.
요청
POST https://api2.amplitude.com/identify
curl --location --request POST 'https://api2.amplitude.com/identify' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'api_key=<API-KEY>' \
--data-urlencode 'identification=[{"user_id":"value", "user_properties":{"propertyNameToUpdate":"newValue"}}]'
필수 매개 변수
이러한 매개변수는 GET 요청의 쿼리 매개변수로, 또는 POST 요청의 본문 매개변수로 전송하십시오. 본문은 form-data또는 x-www-form-urlencoded이어야 합니다.
| 이름 | 설명 |
|---|---|
api_key | 프로젝트 API 키입니다. |
identification | 단일 JSON 식별 객체 또는 각각 하나의 식별을 나타내는 JSON 객체의 배열입니다. |
식별 매개변수 키
| 이름 | 설명 |
|---|---|
user_id | device_id이(가) 없는 경우 필수입니다. 문자열입니다. 사용자가 지정한 UUID(고유 사용자 ID)입니다. Amplitude 시스템에 아직 없는 user_id을(를) 사용하여 요청을 전송하는 경우, 해당 user_id와 연결된 사용자는 첫 번째 이벤트가 발생할 때까지 신규로 표시되지 않습니다. |
device_id | user_id이(가) 없는 경우 필수입니다. 문자열입니다. iOS의 공급업체 식별자(IDFV)와 같은 기기별 식별자입니다. |
user_properties | 선택 사항입니다. 사전입니다. 사용자와 연결된 데이터를 나타내는 키-값 쌍의 사전입니다. 각각의 고유한 값은 Amplitude 대시보드에 사용자 세그먼트로 표시됩니다. 객체 깊이는 40개의 레이어를 초과해서는 안 됩니다. 속성 값을 배열에 저장할 수 있으며 Amplitude는 날짜 값을 문자열 값으로 변환합니다. |
groups | 선택 사항입니다. 사전입니다. 이 기능은 계정 추가 기능을 구입한 엔터프라이즈 고객에게만 제공됩니다. 사용자 그룹을 나타내는 키-값 쌍의 사전입니다. 그룹을 설정하면 계정 수준의 보고를 사용할 수 있습니다. 최대 5개의 고유 그룹 유형과 총 10개의 그룹을 추적할 수 있습니다. |
app_version | 선택 사항입니다. 문자열입니다. 사용자가 현재 사용 중인 앱의 버전입니다. |
platform | 선택 사항입니다. 문자열입니다. 데이터를 전송하는 플랫폼입니다. |
os_name | 선택 사항입니다. 문자열입니다. 사용자가 사용하고 있는 모바일 운영 체제 또는 브라우저입니다. |
os_version | 선택 사항입니다. 문자열입니다. 사용자가 사용하고 있는 모바일 운영 체제 또는 브라우저의 버전입니다. |
device_brand | 선택 사항입니다. 문자열입니다. 사용자가 사용하고 있는 장치 브랜드입니다. |
device_manufacturer | 선택 사항입니다. 문자열입니다. 사용자가 사용하고 있는 장치의 장치 제조업체입니다. |
device_model | 선택 사항입니다. 문자열입니다. 사용자가 사용하고 있는 장치 모델입니다. |
carrier | 선택 사항입니다. 문자열입니다. 사용자가 소유하고 있는 통신사입니다. |
country | 선택 사항입니다. 문자열입니다. 사용자가 속해 있는 국가입니다. |
region | 선택 사항입니다. 문자열입니다. 사용자가 속한 지리적 영역입니다. |
city | 선택 사항입니다. 문자열입니다. 사용자가 속한 도시입니다. |
dma | 선택 사항입니다. 문자열입니다. 사용자의 지정된 시장 영역입니다. |
language | 선택 사항입니다. 문자열입니다. 사용자가 설정한 언어입니다. |
paying | 선택 사항입니다. 문자열입니다. 사용자가 비용을 지불하고 있는지 여부. |
start_version | 선택 사항입니다. 문자열입니다. 사용자가 처음 사용했던 앱의 버전입니다. |
user_properties 지원되는 작업
user_properties 필드에서는 다음 작업을 지원합니다.
| 이름 | 설명 |
|---|---|
$set | 프로퍼티의 값을 설정합니다. |
$setOnce | 값이 아직 설정되어 있지 않은 경우에만 값을 설정합니다. |
$add | 숫자 속성에 숫자 값을 추가합니다. |
$append 그리고 $prepend | 사용자 속성 배열에 값을 추가하거나 앞에 추가합니다. |
$unset | 속성을 제거합니다. |
$preInsert | 지정된 값이 사용자 속성 목록에 없는 경우 해당 값을 사용자 속성 목록의 맨 앞에 추가합니다. 단일 값 또는 값의 배열을 허용합니다. 목록을 전송하는 경우 목록의 순서는 유지됩니다. |
$postInsert | 지정된 값이 사용자 속성 목록에 없는 경우 해당 값을 사용자 속성 목록의 끝에 추가합니다. 단일 값 또는 값의 배열을 허용합니다. 목록을 전송하는 경우 목록의 순서는 유지됩니다. |
$remove | 지정된 값의 모든 인스턴스를 리스트에서 제거합니다. 단일 값 또는 값의 배열을 허용합니다. 사전의 키는 작업할 사용자 속성이며, 값은 제거할 항목입니다. |
사용자 속성 작업을 최상위 사용자 속성과 혼용할 수 없습니다. 대신, 최상위 레벨 속성을 $set 작업 내에 포함시킵니다. 이러한 연산자 중 하나를 사용할 경우 사전에는 사용자 속성 연산자만 포함될 수 있습니다. 예를 들어 동일한 요청에 {"$append":{"interests":"Music"}, "subscription type":"paid"}을(를) 전송할 수 없습니다.
대신 다음을 수행하십시오.
{
"$set": {
"cohort": "Test A"
},
"$setOnce": {
"startDate": "2015-10-01"
},
"$add": {
"friendCount": 3
},
"$append": {
"interests": "Music"
},
"$prepend": {
"sports": "Tennis"
},
"$unset": {
"oldProperty": "-"
}
}
상태 코드
| 코드 | 메시지 |
|---|---|
| 200 | 성공 |
| 400 | 잘못된 요청입니다. missing_event 메시지가 나타나면 ID 매개변수가 누락되었거나 형식이 잘못되었음을 의미합니다. |
| 414 | URL 문자 제한이 있는 GET 을 사용하고 있을 수 있습니다. 데이터가 URL에 전달되지 않도록 GET 대신 POST를 사용하십시오. |
| 429 | Amplitude는 초당 특정 이벤트 임계값을 초과하는 device_ids 또는 user_ids에 대한 요청을 조절하고 429 코드를 반환합니다. |
이 내용이 도움이 되었나요?