API

세그먼트 조회

작성일 2026.03.24 | 수정일 2026.04.29

GET/crm-core/v1/segments/{segmentId}

특정 세그먼트의 상세 정보를 조회합니다. 현재 캐시된 멤버 수(cachedCount), 마지막 갱신 시각(lastRefreshedAt), 연결된 자동화 등이 포함됩니다.

Path Params

NameTypeRequiredDescription
segmentIdstring*세그먼트 ID (CRMSG1…)

Response

NameTypeRequiredDescription
segmentIdstring*세그먼트 고유 ID (CRMSG1…)
accountIdstring*계정 고유 ID
workspaceIdstring워크스페이스 ID (워크스페이스 모드에서만)
entityIdstring*속한 개체 ID
namestring*세그먼트 이름
descriptionstring세그먼트 설명
colorstring표시 색상 (hex 코드, 기본 #4541ff)
iconstring아이콘 식별자 (기본 users)
conditionsobject*세그먼트 필터 조건 그룹
operatorstring*그룹 결합 연산자 (AND, OR)
rulesarray*규칙 또는 중첩 그룹 목록
ruleIdstring*규칙 고유 식별자
fieldstring*조건을 적용할 필드 식별자 (속성 ID, 시스템 필드 등)
fieldTypestring*필드 유형 (PROPERTY, SYSTEM, COMPUTED, EVENT, RELATIONSHIP)
operatorstring*비교 연산자 (equals, contains, gt 등)
valuestring | number | boolean | array비교 기준 값
eventConfigobject이벤트 기반 조건 설정 (fieldType이 EVENT일 때)
eventTypestring*이벤트 유형 식별자
eventFilterobject이벤트 필터 (category, label)
aggregationstring*집계 방식 (COUNT, SUM)
aggregationFieldstring합산 집계 시 사용할 필드명
timeWindowobject이벤트 발생 시간 범위
unitstring*시간 단위 (HOURS, DAYS, WEEKS, MONTHS)
valuenumber*시간 값 (1 이상)
relationshipConfigobject관계 기반 조건 설정 (fieldType이 RELATIONSHIP일 때)
relationshipTypeIdstring*관계 유형 ID
aggregationstring*집계 방식 (COUNT, SUM, AVG, MIN, MAX)
aggregationPropertyIdstring집계에 사용할 속성 ID
targetRecordIdstring대상 레코드 ID
directionstring관계 방향 (source, target)
cacheEnabledboolean*세그먼트 결과 캐싱 활성화 여부
cacheRefreshIntervalnumber캐시 갱신 주기(분)
lastRefreshedAtdate마지막 캐시 갱신 시각
cachedCountnumber캐시된 멤버 레코드 수
automationsarray세그먼트에 연결된 자동화 목록
automationIdstring*자동화 ID
triggerstring*트리거 시점 (ENTER, EXIT, STAY)
stayDurationnumberSTAY 트리거 유지 시간(분)
workflowIdstring연결할 워크플로우 ID
actionstring실행할 액션 유형
actionConfigobject액션 설정
isSystemboolean*시스템 세그먼트 여부
ownerIdstring소유자 멤버 ID
createdBystring생성자 멤버 ID
updatedBystring최근 수정자 멤버 ID
isDeletedboolean삭제 여부
prioritynumber*처리 우선순위 (낮을수록 먼저 평가)
isActiveboolean*세그먼트 활성 여부
dateCreateddate*생성 시각 (UTC ISO 8601)
dateUpdateddate*수정 시각 (UTC ISO 8601)

Structure

코드 예제

const crypto = require('crypto');

const apiKey = 'NCSXXXXXXXXXXXXX';
const apiSecret = 'YOUR_API_SECRET';
const dateTime = new Date().toISOString();
const salt = crypto.randomBytes(16).toString('hex');
const signature = crypto.createHmac('sha256', apiSecret).update(dateTime + salt).digest('hex');
const authHeader = HMAC-SHA256 apiKey=${apiKey}, date=${dateTime}, salt=${salt}, signature=${signature};

const response = await fetch('https://api.solapi.com/crm-core/v1/segments/CRMSG1260423081530123SGM11122233', {
method: 'GET',
headers: { 'Authorization': authHeader, 'Content-Type': 'application/json' }
});
const data = await response.json();

import hmac, hashlib, secrets, requests
from datetime import datetime, timezone

api_key = 'NCSXXXXXXXXXXXXX'
api_secret = 'YOUR_API_SECRET'
date_time = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
salt = secrets.token_hex(16)
signature = hmac.new(api_secret.encode(), (date_time + salt).encode(), hashlib.sha256).hexdigest()
auth_header = f'HMAC-SHA256 apiKey={api_key}, date={date_time}, salt={salt}, signature={signature}'

response = requests.get('https://api.solapi.com/crm-core/v1/segments/CRMSG1260423081530123SGM11122233', headers={
'Authorization': auth_header,
'Content-Type': 'application/json'
})
data = response.json()

API_KEY="NCSXXXXXXXXXXXXX"
API_SECRET="YOUR_API_SECRET"
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SALT=$(openssl rand -hex 16)
SIGNATURE=$(echo -n "${DATE}${SALT}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $NF}')
AUTH="HMAC-SHA256 apiKey=${API_KEY}, date=${DATE}, salt=${SALT}, signature=${SIGNATURE}"

curl -X GET 'https://api.solapi.com/crm-core/v1/segments/CRMSG1260423081530123SGM11122233' \
-H "Authorization: ${AUTH}" \
-H "Content-Type: application/json"

lightbulb

**401 응답**: `{ "errorCode": "Unauthorized", "errorMessage": "권한이 없습니다." }`