API

세그먼트 레코드 조회

작성일 2026.03.24 | 수정일 2026.04.29

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

세그먼트 조건에 매칭되는 레코드 목록을 조회합니다. 캐시가 활성화된 세그먼트는 segment_members 컬렉션을 우선 사용하며, 없거나 만료되었으면 실시간 평가 후 캐시를 갱신합니다. 마스킹된 속성 값은 [MASKED]로 자동 변환됩니다.

Path Params

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

Query Params

NameTypeRequiredDescription
limitnumber최대 반환 개수 (기본 100)

Response

NameTypeRequiredDescription
[]array*세그먼트에 속하는 레코드 목록
recordIdstring*레코드 ID (CRMRC1…)
accountIdstring*계정 ID
workspaceIdstring워크스페이스 ID (워크스페이스 모드에서만)
entityIdstring*속한 개체 ID
namestring레코드 대표 표시명
ownerIdstring소유자 멤버 ID
createdBystring생성자 멤버 ID
tagsarray레코드 태그 목록
profileImagestring프로필 이미지 URL
imagesarray추가 이미지 URL 목록
attachmentsarray첨부 파일 URL 목록
isDeletedboolean삭제 여부
dataobject속성 값 맵 (마스킹 적용 후 — 마스킹 속성은 [MASKED]로 표기)
dateCreateddate*레코드 생성 시각
dateUpdateddate*레코드 수정 시각

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/records?limit=50', {
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/records', headers={
'Authorization': auth_header,
'Content-Type': 'application/json'
}, params={'limit': 50})
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/records?limit=50' \
-H "Authorization: ${AUTH}" \
-H "Content-Type: application/json"

lightbulb

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