세그먼트 관리
기능설명
세그먼트를 등록 · 수정하거나 상태를 바꿉니다.
sgmtNo가 비어 있으면 신규입니다.
상세설명
siteNo는 화면이 입력한 값입니다 — 로그인 사이트에서 자동으로 뽑지 않습니다.멱등합니다. 현재 값과 비교해 차이가 있을 때만 쓰므로 같은 요청을 다시 보내도 결과가 같습니다.
현재 상태 = 요청 상태 → 내용 저장
신규 → 임시저장(
10)만 가능임시저장 → 모든 항목 저장. 조건(사이트 · 포함 · 제외)이 바뀌면 최근 계산을 비움
사용 → 세그먼트명 · 담당부서 · 설명만 저장. 사이트 · 조건이 다르면 거부
종료 → 아무것도 하지 않음
현재 상태 ≠ 요청 상태 → 상태만 변경, 요청의 다른 값은 무시
임시저장 → 사용: 최신 스냅샷일로 완료된 계산이 있어야 함
임시저장 · 사용 → 종료: 대상자 명단 삭제
그 외 전환은 거부
응답:
sgmtNo· 저장 후sgmtStatCd
세그먼트 저장 요청
사이트번호 — 화면이 입력한 값. 세그먼트가 속할 사이트를 정한다
1세그먼트번호 — 없거나 빈 문자열이면 신규
SG00000001세그먼트명
세그먼트설명
부서코드
저장 목표 상태코드(MK023) 10 임시저장 / 20 사용 / 30 종료
10조건 JSON(화면이 보낸 원본 — 저장 전에 정규화한다)
성공
세그먼트 저장 결과
세그먼트번호
SG00000001저장 후 세그먼트상태코드(MK023)
10업무처리 오류 내용
POST /api/bo/v1/marketing/segmentMgmt/saveSegment HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 118
{
"siteNo": 1,
"sgmtNo": "SG00000001",
"sgmtNm": "text",
"sgmtDesc": "text",
"deptCd": "text",
"sgmtStatCd": 10,
"condJson": "text"
}{
"sgmtNo": "SG00000001",
"sgmtStatCd": 10
}세그먼트 조건 초안 생성 요청
사용자가 입력한 자연어 조건 문장
골드 등급 회원성공
세그먼트 조건 초안 생성 응답
조건으로 표현하지 못했거나 검증·상한 초과로 버려진 사유 목록
실패 사유. 성공이면 null
업무처리 오류 내용
POST /api/bo/v1/marketing/segmentMgmt/getSegmentCondDraft HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"text": "골드 등급 회원"
}{
"drafts": [
{
"label": "text",
"condJson": "text",
"resolutions": [
{
"nodeId": "text",
"gb": "text",
"q": "text",
"status": "text",
"candidates": [
{
"id": "text",
"nm": "text"
}
]
}
]
}
],
"unsupported": [
"text"
],
"reason": "NO_CONDITION"
}세그먼트 조건 초안 생성 요청
사용자가 입력한 자연어 조건 문장
골드 등급 회원OK
POST /api/bo/v1/marketing/segmentMgmt/getSegmentCondDraft/stream HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"text": "골드 등급 회원"
}OK
{
"timeout": 1
}세그먼트 대상자 계산 요청
세그먼트번호
SG00000001계산구분코드(MK024) 10 수동 / 20 배치. 비면 수동 — 화면은 싣지 않는다
10성공
세그먼트 대상자 계산 결과
계산번호
SC000000000001대상자수 — 0 은 실패가 아니라 정상 완료다
신규진입수. null 이면 첫 계산
이탈수. null 이면 첫 계산
계산시작일시
갱신된 세그먼트 수정일시(표시용)
업무처리 오류 내용
POST /api/bo/v1/marketing/segmentMgmt/calcSegmentTarget HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 37
{
"sgmtNo": "SG00000001",
"calcGbCd": 10
}{
"calcNo": "SC000000000001",
"trgtCnt": 1,
"newCnt": 1,
"outCnt": 1,
"calcStrtDtm": "2026-01-01T00:00:00.000Z",
"sysModDtm": "2026-01-01T00:00:00.000Z"
}세그먼트번호
SG00000001성공
세그먼트 상세
세그먼트번호
SG00000001사이트번호
1세그먼트명
세그먼트설명
부서코드
부서명 — ST_DEPT_CD 조인 결과
세그먼트상태코드(MK023)
10조건 JSON(정규화된 값)
최종 수정일시(표시용)
최종 완료 계산번호. null 이면 계산한 적이 없다
최종 완료 계산의 대상자수
최종 완료 계산의 시작일시
최종 완료 계산의 신규진입수. null 이면 첫 계산
최종 완료 계산의 이탈수. null 이면 첫 계산
계산상태 FAIL 실패 / NONE 미계산 / DONE 완료, 종료는 null
DONE가장 최근 계산 시도가 실패면 그 시작일시, 아니면 null
업무처리 오류 내용
GET /api/bo/v1/marketing/segmentMgmt/getSegment?sgmtNo=SG00000001 HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"sgmtNo": "SG00000001",
"siteNo": 1,
"sgmtNm": "text",
"sgmtDesc": "text",
"deptCd": "text",
"deptNm": "text",
"sgmtStatCd": 10,
"condJson": "text",
"sysModDtm": "2026-01-01T00:00:00.000Z",
"lstCalcNo": "text",
"lstTrgtCnt": 1,
"lstCalcStrtDtm": "2026-01-01T00:00:00.000Z",
"lstNewCnt": 1,
"lstOutCnt": 1,
"calcStatCd": "DONE",
"lstFailDtm": "2026-01-01T00:00:00.000Z"
}세그먼트번호
SG00000001성공
세그먼트 사용처
사용처 유형 — 지금은 CMPGN(캠페인) 고정
CMPGN사용처 번호(캠페인번호)
사용처 명(캠페인명)
적용일시(캠페인 등록일시)
계산번호
계산시작일시
업무처리 오류 내용
GET /api/bo/v1/marketing/segmentMgmt/getSegmentUsageList?sgmtNo=SG00000001 HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"usageTypCd": "CMPGN",
"usageNo": "text",
"usageNm": "text",
"aplyDtm": "2026-01-01T00:00:00.000Z",
"calcNo": "text",
"calcStrtDtm": "2026-01-01T00:00:00.000Z"
}
]계산번호
SC000000000001성공
GET /api/bo/v1/marketing/segmentMgmt/getSegmentTargetList?calcNo=SC000000000001 HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
성공
{
"totalCount": 1,
"payloads": [
{
"mbrNo": 1000001
}
]
}세그먼트상태코드(MK023)
10부서코드
세그먼트번호 LIKE 검색어
세그먼트명 LIKE 검색어
계산상태 FAIL 실패 / NONE 미계산 / DONE 완료
DONE캠페인 선택용 여부 — Y 면 사용 중 · 대상자 1명 이상만
Y성공
업무처리 오류 내용
GET /api/bo/v1/marketing/segmentMgmt/getSegmentList HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"totalCount": 1,
"payloads": [
{
"sgmtNo": "SG00000001",
"sgmtNm": "text",
"sgmtStatCd": 10,
"deptCd": "text",
"deptNm": "text",
"lstTrgtCnt": 1,
"lstCalcStrtDtm": "2026-01-01T00:00:00.000Z",
"calcStatCd": "DONE"
}
]
}성공
세그먼트 조건 메타데이터
GET /api/bo/v1/marketing/segmentMgmt/getSegmentCondMeta HTTP/1.1
Host: api-bo.x2bee.com/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
성공
{
"variables": [
{
"varCd": "MBR_GRADE",
"maxPeriodDays": 30,
"allowedOps": [
"GTE"
],
"valType": "CODE_LIST",
"periodPolicy": "NONE",
"allowedScopes": [
"ALL"
],
"codeGroup": "ME008",
"codeOptions": [
{
"cd": 10,
"cdNm": "GREEN"
}
],
"devLabel": "회원 등급"
}
]
}마지막 업데이트