API

개체 목록 조회

작성일 2026.03.24 | 수정일 2026.05.08

GET/crm-core/v1/entities
Query
keyword— 개체 이름 검색 키워드 (포함 매칭, 대소문자 무시)

계정에 등록된 CRM 개체(고객, 회사 등) 목록을 조회합니다. 삭제되지 않은 활성 개체만 반환하며, 사이드바 순서(priority) 기준으로 정렬됩니다.

Query Params

NameTypeRequiredDescription
keywordstring개체 이름 검색 키워드 (포함 매칭, 대소문자 무시)

Response

NameTypeRequiredDescription
[]array*개체 목록 (priority 오름차순 정렬)
entityIdstring*개체 고유 ID (CRMET1…)
accountIdstring*계정 고유 ID
workspaceIdstring워크스페이스 ID (워크스페이스 환경에서만)
namestring*개체 이름
slugstring개체 슬러그
descriptionstring개체 설명
propertyIdsarray*개체에 포함된 속성 ID 목록
viewSettingsobject*뷰 설정 (TABLE / BOARD / CALENDAR 세팅)
modestring*기본 뷰 모드 (TABLE / BOARD / CALENDAR)
tableobject*테이블 뷰 설정
pageSizenumber*테이블 뷰 페이지당 레코드 수
boardobject*보드 뷰 설정
groupByPropertyIdstring보드 컬럼 그룹화 기준 속성 ID
sumPropertyIdstring보드 합계 집계 기준 속성 ID
weightPropertyIdstring가중치 집계 기준 속성 ID
aggregationTypestring집계 방식 (SUM / AVG / MAX / COUNT)
sortByPropertyIdstring정렬 기준 속성 ID
sortOrderstring정렬 방향 (ASC / DESC)
closedWonValuesarrayClosed-Won 으로 간주할 컬럼 값 목록
closedLostValuesarrayClosed-Lost 로 간주할 컬럼 값 목록
dealRottingobjectDeal Rotting 설정 (일정 기간 변동 없는 카드 강조)
enabledbooleanDeal Rotting 활성 여부
daysnumber변동 없음으로 간주할 일수 (기본 14)
calendarobject캘린더 뷰 설정
datePropertyIdstring캘린더 날짜 속성 ID
titlePropertyIdstring캘린더 제목 속성 ID
colorPropertyIdstring캘린더 색상 속성 ID
insightWidgetsarray*레코드 인사이트 위젯 목록
recordAccessstring*레코드 접근 권한 (PUBLIC / ENTITY_OWNER_ONLY / ADMIN_ONLY)
ownerIdstring개체 소유자 멤버 ID
prioritynumber*사이드바 표시 순서
isDeletedboolean*삭제 여부 (휴지통 플래그) — 활성 목록에서는 항상 false
createdBystring생성한 멤버 ID
updatedBystring마지막으로 수정한 멤버 ID
dateCreateddate*최초 생성 시각 (UTC)
dateUpdateddate*최근 수정 시각 (UTC)

Structure

Response
[ { "entityId": "CRMET1260423081530123XYZ11122233", "accountId": "24010100001234", "name": "고객", "slug": "customers", "description": "B2C 고객 정보를 관리하는 개체", "propertyIds": [ "CRMPP1260423081530123AAA11122233" ], "viewSettings": { "mode": "TABLE", "table": { "pageSize": 25 }, "board": { "groupByPropertyId": null, "sumPropertyId": null, "weightPropertyId": null, "sortByPropertyId": null, "closedWonValues": [], "closedLostValues": [], "dealRotting": { "enabled": false, "days": 14 } }, "calendar": { "datePropertyId": null, "titlePropertyId": null, "colorPropertyId": null } }, "insightWidgets": [], "recordAccess": "PUBLIC", "ownerId": "MEMXm8i2H3o2z0", "priority": 0, "isDeleted": false, "createdBy": "MEMXm8i2H3o2z0", "updatedBy": "MEMXm8i2H3o2z0", "dateCreated": "2026-04-20T10:00:00.000Z", "dateUpdated": "2026-04-22T15:30:00.000Z" } ]

코드 예제

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/entities?keyword=고객', {
  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/entities', headers={
    'Authorization': auth_header,
    'Content-Type': 'application/json'
}, params={'keyword': '고객'})
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/entities?keyword=%EA%B3%A0%EA%B0%9D' \
  -H "Authorization: ${AUTH}" \
  -H "Content-Type: application/json"

lightbulb

개체 목록은 페이지네이션을 지원하지 않습니다. 계정당 개체 수는 요금 플랜에 따라 제한되며(대부분 수백 개 이내), 전체 배열이 한 번에 반환됩니다.

lightbulb

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