기능 플래그

📘

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

HTTP API를 사용하여 사용자에 대한 기능플래그 분배 결과를 확인할 수 있습니다.


Authentication

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

X-HACKLE-API-KEY: {YOUR_SDK_KEY}


Request

POST https://api.hackle.io/v1/feature-flag

Request Body

FieldTypeRequiredDescription
featureKeynumberO분배 대상 기능플래그키
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/feature-flag' \
  -H 'X-HACKLE-API-KEY: YOUR_SDK_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "featureKey": 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
isOnboolean분배결과 (true/false)
reasonstring분배사유
parametersobject분배결과에 설정된 파라미터

Example

{
  "isOn": "true",
  "reason": "DEFAULT_RULE",
  "parameters": {
    "buttonText": "Purchase",
    "buttonSize": 16
  }
}

400 Bad Request

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

401 Unauthorized

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