A/B 테스트

📘

HTTP API는 서버 환경에서만 사용할 수 있습니다.

HTTP API를 사용하여 사용자에 대한 A/B 테스트 분배 결과를 확인할 수 있습니다.


Authentication

SDK 키를 통해 인증을 진행합니다. SDK 키를 HTTP 헤더로 전송해야 합니다.
API를 호출하는 곳에따라 Browser, App, Server SDK 키중 하나를 헤더로 설정합니다.

X-HACKLE-API-KEY: {YOUR_SDK_KEY}


Request

POST https://api.hackle.io/v1/variation

Request Body

FieldTypeRequiredDescription
experimentKeynumberO분배 대상 A/B 테스트 실험키
userUser objectO분배 대상 사용자

User Object

FieldTypeRequiredDescription
idstringX기본 식별자
userIdstringX사용자 ID (핵클 통합식별자 사용 가능)
deviceIdstringX디바이스 ID (핵클 통합 식별자 사용가능)
identifiersobjectX사용자 정의 식별자
key(string)-value(string) Pair
propertiesobjectX사용자 속성
key(string)-value(string|number|boolean) Pair

Example

curl -i -X POST \
  'https://api.hackle.io/v1/variation' \
  -H 'X-HACKLE-API-KEY: YOUR_SDK_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "experimentKey": 42,
    "user": {
      "id": "ae2182e0",
      "userId": "19285035",
      "deviceId": "ae2182e0",
      "identifiers": {
        "sessionId": "16930492542",
        "myCustomId": "ff01eae2"
      },
      "properties": {
        "grade": "GOLD",
        "age": 30,
        "isLogin": true
      }
    }
  }'

Response

200 OK

성공적인 요청인 경우 200 응답과 분배 결과를 반환합니다.

Response Body

FieldTypeDescription
variationstring분배그룹 (A, B, C, D, ...)
reasonstring분배사유
parametersobject분배그룹에 설정된 파라미터

Example

{
  "variation": "B",
  "reason": "TRAFFIC_ALLOCATED",
  "parameters": {
    "buttonText": "Purchase",
    "buttonSize": 16
  }
}

400 Bad Request

유효하지 않은 요청 정보인 경우 400 상태를 반환합니다.

401 Unauthorized

X-HACKLE-API-KEY 헤더값이 없거나 유효하지 않은 SDK 키인 경우 401 상태를 반환합니다