API

관계 유형 수정

작성일 2026.04.23 | 수정일 2026.04.29

PATCH/crm-core/v1/relationships/types/{relationshipTypeId}

관계 유형의 메타데이터(이름·레이블·설명)를 수정합니다. sourceEntityId/targetEntityId는 변경할 수 없습니다. 빈 본문은 400 Bad Request로 거절됩니다. MEMBER 이상 권한 필요.

Path Params

NameTypeRequiredDescription
relationshipTypeIdstring*수정할 관계 유형 ID

Body Params

NameTypeRequiredDescription
namestring변경할 이름
sourceLabelstring변경할 소스 레이블
targetLabelstring변경할 대상 레이블
descriptionstring변경할 설명

Response

NameTypeRequiredDescription
relationshipTypeIdstring*관계 유형 ID
accountIdstring*계정 ID
namestring*이름 (수정 후)
sourceEntityIdstring*소스 개체 ID
targetEntityIdstring*대상 개체 ID
sourceLabelstring소스 레이블
targetLabelstring대상 레이블
descriptionstring설명
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/relationships/types/CRMRT1260423091530123RTP11122233', {
method: 'PATCH',
headers: { 'Authorization': authHeader, 'Content-Type': 'application/json' },
body: JSON.stringify({
"name": "고용 관계",
"description": "직원과 고용 회사의 정식 관계"
})
});
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/relationships/types/CRMRT1260423091530123RTP11122233', headers={
'Authorization': auth_header,
'Content-Type': 'application/json'
}, json={
"name": "고용 관계",
"description": "직원과 고용 회사의 정식 관계"
})
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/relationships/types/CRMRT1260423091530123RTP11122233' \
-H "Authorization: ${AUTH}" \
-H "Content-Type: application/json" \
-d '{"name": "고용 관계", "description": "직원과 고용 회사의 정식 관계"}'

lightbulb

이름 변경 시 `(accountId, workspaceId, name, sourceEntityId, targetEntityId)` 복합 unique 인덱스에 충돌하면 `409 Conflict`가 반환됩니다.

lightbulb

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