레코드 수정
/crm-core/v1/records/{recordId}레코드의 이름·속성값(data)·태그·담당자를 부분 업데이트합니다. 전달된 필드만 갱신되고 나머지는 유지됩니다. data 객체는 기존 값과 병합(merge)되며, 특정 속성을 초기화하려면 값을 null로 전달합니다. MEMBER 이상 권한이 필요합니다.
Path Params
Body Params
Response
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/records/CRMRC1260423081530123REC11122233', {
method: 'PATCH',
headers: { 'Authorization': authHeader, 'Content-Type': 'application/json' },
body: JSON.stringify({
"name": "홍길동 (업데이트)",
"data": {
"CRMPP1260423081530123STAT1112223": "VIP"
}
})
});
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.patch('https://api.solapi.com/crm-core/v1/records/CRMRC1260423081530123REC11122233', headers={
'Authorization': auth_header,
'Content-Type': 'application/json'
}, json={
"name": "홍길동 (업데이트)",
"data": {
"CRMPP1260423081530123STAT1112223": "VIP"
}
})
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 PATCH 'https://api.solapi.com/crm-core/v1/records/CRMRC1260423081530123REC11122233' \
-H "Authorization: ${AUTH}" \
-H "Content-Type: application/json" \
-d '{"name": "홍길동 (업데이트)", "data": {"CRMPP1260423081530123STAT1112223": "VIP"}}'
- `data` 객체는 **병합** 처리됩니다. 특정 속성만 지우려면 `{"propertyId": null}` 전달 - `tags`는 전체 **교체**입니다. 태그 추가만 원할 경우 기존 태그를 먼저 조회한 뒤 합쳐 보내세요 - `ownerId`를 빈 문자열로 전달하면 담당자가 해제됩니다
수정 이력은 레코드 변경 로그에 기록됩니다. `GET /crm-core/v1/records/{recordId}/logs`로 조회 가능합니다.
**401 응답**: `{ "errorCode": "Unauthorized", "errorMessage": "권한이 없습니다." }`