메인 콘텐츠로 건너뛰기

팩트 정의란?

**팩트 정의(Fact Definition)**는 규칙이 조건과 액션에서 참조할 수 있는 입력 변수를 선언합니다. 함수 파라미터처럼 이름, 타입, 필수 여부를 정의합니다. 팩트는 테넌트 전체에서 공유됩니다.

사전 등록 팩트

모든 테넌트는 계정 생성 시 2개의 팩트가 미리 등록되어 있습니다:
타입필수설명
user_idSTRING사용자 식별자
user_tagsLIST_STRING사용자 태그
편의를 위해 제공되는 팩트일 뿐, 특별히 보호되지 않습니다. 일반 커스텀 팩트와 동일하게 이름 변경, 타입 변경, 삭제가 가능합니다. 등록 없이 즉시 조건과 액션에서 사용할 수 있습니다.

커스텀 팩트

사전 등록된 2개 팩트 외의 모든 입력 변수는 사용 전에 등록해야 합니다. 예를 들어 customer_tier, order_region, product_category 등은 커스텀 팩트입니다.
lexq facts create --key customer_tier --name "고객 등급" --type STRING
lexq facts create --key order_region --name "주문 지역" --type STRING --required

지원 타입

타입JSON예시
STRING"문자열""VIP"
NUMBER숫자100000
BOOLEANtrue / falsetrue
LIST_STRING["a", "b"]["KR", "US"]
LIST_NUMBER[1, 2][10000, 20000]

명명 규칙

팩트 키는 snake_case를 따릅니다. 키는 대소문자를 구분합니다.
  • payment_amount, customer_tier, user_region
  • paymentAmount, Payment-Amount

필수 vs 선택 팩트

  • 필수 팩트: 모든 실행 요청에 반드시 존재해야 합니다. 누락 시 INVALID_INPUT 오류.
  • 선택 팩트: 생략 가능. 누락 시 조건이 false로 평가됩니다.

팩트 관리

lexq facts list
lexq facts create --key order_total --name "주문 합계" --type NUMBER --required
lexq facts update --id <factId> --name "총 주문 금액"
lexq facts delete --id <factId>
lexq analytics requirements (CLI) 또는 Engine API의 GET /groups/{groupId}/requirements 엔드포인트를 사용하여 배포된 버전이 필요로 하는 팩트를 확인하세요.
팩트를 삭제해도 기존 규칙에서 자동으로 제거되지 않습니다. 삭제 전에 항상 규칙 의존성을 확인하세요.

다음 단계

정책 규칙

규칙 조건과 액션에서 팩트를 사용하세요.

정책 실행

실행 시 팩트가 어떻게 전달되는지 확인하세요.