Chuyển đến nội dung chính

Flag: một quyết định

Một feature flag là một quyết định được đánh giá dựa trên trạng thái người dùng. Nhắm mục tiêu là một tập điều kiện trên trạng thái đó, được kiểm tra ngay khi flag được hỏi.

At a glance

Host
https://api.prodantix.com
Read
GET /v1/flags, GET /v1/flags/snapshot
Write
upsertFlag, archiveFlag over GraphQL
Live updates
flagChange on the project room
Auth
Project key to read, access token to write
  • Nhắm mục tiêu thời gian thực trên trạng thái người dùng trực tiếp
  • Được quyết định ngay khi bạn hỏi, không đọc từ danh sách đã lưu
  • Triển khai và thử nghiệm được đo trên cùng một nguồn chân lý

Cách hoạt động

A flag is evaluated against the user state currently on file for a distinct id. Rules are ordered; the first match wins, and a flag with no matching rule falls back to its default. Evaluation is server-side by default, so a rule change takes effect without a client release.

Truy cập ở đâu

SurfaceOperation
RESTGET /v1/flags · GET /v1/flags/snapshot
GraphQLflags query · upsertFlag, archiveFlag mutations
RealtimeflagChange on a project room
MCPprodantix.flags.list · .upsert · .archive

Ví dụ

curl "https://api.prodantix.com/v1/flags?distinct_id=u_8f3a" \
  -H "Authorization: Bearer $PRODANTIX_KEY"

Evaluating locally

For latency-sensitive paths, fetch the whole ruleset once and evaluate in-process. Snapshot responses carry Cache-Control: public, max-age=30, stale-while-revalidate=300.

JSON
{
  "flags": [
    {
      "key": "new-checkout",
      "enabled": true,
      "rules": [
        { "property": "plan", "operator": "in", "values": ["pro", "scale"] }
      ]
    }
  ]
}