실험 평가 API
실험 평가 API는 평가 API를 사용하여 원격 평가를 통해 사용자를 위해 변형 할당 데이터를 검색하거나, 플래그 API를 사용하여 로컬 평가 플래그를 다운로드합니다.
지역
| 데이터 상주 | 기본 URL |
|---|---|
| 기본값 | https://api.lab.amplitude.com/v1/ |
| EU | https://api.lab.eu.amplitude.com/v1/ |
인증
평가 API는 접두사 Api-Key가 붙은 Authorization 헤더에 설정된 배포 키를 사용하여 요청을 인증합니다. 예를 들어 Authorization: Api-Key <deployment_key>.
평가 API
GET /v1/vardata
평가 API를 사용하면 사용자의 변형 할당 데이터를 검색할 수 있습니다. 이 API를 호출하면 Amplitude는 [Experiment] Assignment 이벤트를 추적합니다.
평가 쿼리 매개 변수
| 이름 | 설명 |
|---|---|
user_id | 사용자의 ID입니다. |
device_id | 사용자의 장치 ID입니다. |
flag_keys | 의 변형을 가져올 수 있는 특정 플래그 키입니다. 둘 이상의 플래그 키를 요청하려면 쉼표로 구분하십시오(예: flag_keys=flag-A,flag-B). 비어 있거나 누락된 경우 실험는 배포 키와 관련된 모든 플래그와 실험을 평가합니다. |
context | 전체 사용자 컨텍스트를 포함하는 JSON 문자열입니다. user_properties 필드에 사용자 속성을 설정합니다(예: {"user_properties":{"premium":true}}). 사용자 컨텍스트에 대한 자세한 내용은 데이터 모델의 정의를 참조하십시오. |
평가 헤더
| 이름 | 설명 |
|---|---|
Authorization | 인증을 위해 Api-Key <deployment_key>(으)로 설정합니다. |
X-Amp-Exp-Track | 평가에 대한 할당 이벤트를 추적하지 않으려면 no-track(으)로 설정합니다. |
X-Amp-Exp-Exposure-Track | 서버가 각 플래그에 대한 [Experiment] Exposure 이벤트를 추적할지 여부를 제어합니다. 기본값은 no-track입니다. 평가된 각 플래그에 대한 노출 이벤트를 추적하려면 track(으)로 설정합니다. |
평가 응답
응답 본문은 플래그 키로 키가 지정된 JSON 객체입니다. 각 플래그 키의 값은 사용자에게 할당된 변형입니다. 각 변형 객체에는 다음 필드가 포함됩니다.
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
key | string | 필수 | 플래그/실험에 할당된 변형 키입니다. |
payload | any | 선택 사항 | 변형의 페이로드(설정된 경우)입니다. 전체 유효한 JSON 값일 수 있습니다. |
expKey | string | 선택 사항 | 동일한 실험의 여러 실행 대상 구간 구별하는 데 사용되는 실험 키입니다. |
evaluationId | string | 선택 사항 | 디버깅 목적으로 사용되는 평가 ID입니다. |
예기치 않은 응답 필드입니다.
각 플래그에 대한 변형 객체에는 향후 추가 응답 필드가 포함될 수 있습니다. 코드가 이러한 추가 필드를 정상적으로 처리해야 합니다.
예를 들면 다음과 같습니다.
{
"my-experiment": {
"key": "treatment",
"payload": { "price": 99.99, "discount": "25%" },
"expKey": "exp-1",
"evaluationId": "224681772811_1760563672659_3681"
}
// ...
}
빈 결과
사용자가 대상 고객에 속하지 않는 경우 평가 API가 빈 객체를 반환할 수 있습니다.
{}
평가 응답 상태 코드
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공적인 요청은 200 응답과 플래그 키의 변형에 대한 맵을 반환합니다. flag_keys이(가) 제공되지 않은 경우 실험은 인증 헤더의 배포 키와 관련된 모든 플래그를 평가합니다. 이 예제를 사용하여 브라우저에서 API를 사용해 보거나 curl을 복사하십시오. |
| 400 | 요청의 컨텍스트 매개 변수에 잘못된 JSON이 있습니다. |
| 401 | 요청에 유효한 API 키가 포함되어 있지 않습니다. |
평가 사례
테이블의 필드를 설정한 다음 [전송]을 선택하여 브라우저에서 요청을 생성하거나 curl 명령을 복사하여 직접 요청을 실행하십시오.
Evaluation example
GET · /v1/vardataEvaluation APIcurl --request GET \ --url 'https://api.lab.amplitude.com/v1/vardata' \ --header 'Authorization: Api-Key deployment_key'플래그 API
GET /v1/flags
Flags API를 사용하면 로컬 평가를 위한 플래그 구성을 다운로드할 수 있습니다. Flags API를 사용하여 클라이언트측 로컬 평가 SDK를 initialFlags(으)로 부트스트랩하거나, 엣지 환경과 같은 외부 플래그 구성 스토리지를 사용하여 평가를 실행하십시오.
이 API에서 반환되는 데이터 모델은 플래그 및 실험에 대한 실험 API 관리 형식과 다릅니다. Flags API 형식은 평가를 지원하므로 실험 API 관리 형식보다 더 상세하고 사람이 읽기 어려워집니다.
플래그 쿼리 매개변수
| 이름 | 설명 |
|---|---|
flag_keys | 플래그 구성을 가져올 수 있는 특정 플래그 키입니다. 둘 이상의 플래그 키를 요청하려면 쉼표로 구분하십시오(예: flag_keys=flag-A,flag-B). 비어 있거나 누락된 경우 API는 배포 키와 관련된 모든 플래그와 실험을 반환합니다. |
플래그 헤더
| 이름 | 설명 |
|---|---|
Authorization | 인증을 위해 Api-Key <deployment_key>로 설정합니다. |
플래그 응답
Flags API는 객체의 JSON 배열을 반환하며, 여기서 각 객체는 플래그 또는 실험을 나타냅니다. 예를 들어, 다음은 단일 플래그를 사용하는 기본 응답입니다.
[
{
"key": "example-flag",
"metadata": {
"deployed": true,
"evaluationMode": "local",
"flagType": "release",
"flagVersion": 42
},
"segments": [
{
"metadata": {
"segmentName": "All Other Users"
},
"variant": "off"
}
],
"variants": {
"off": {
"key": "off",
"metadata": {
"default": true
}
},
"on": {
"key": "on",
"value": "on"
}
}
}
]
응답 상태 코드에 플래그 지정
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공적인 요청은 플래그 구성의 배열을 포함한 200 응답을 반환합니다. |
| 401 | 요청에 유효한 API 키가 포함되어 있지 않습니다. |
이 내용이 도움이 되었나요?