CSV 레코드 일괄 가져오기
POST/crm-core/v1/records/import/csv
CSV 파싱이 이미 완료된 행 목록을 JSON으로 전달하여 레코드를 일괄 생성한다. 업로드된 행은 records 컬렉션에 삽입된 후 속성값은 record_values 컬렉션에 별도로 저장된다. 임포트 완료 후 RECORD_CREATED 자동화 트리거가 일괄 발행된다(선택적으로 스킵 가능). 권한: MEMBER 이상, 요금제 기능 records.bulkImportEnabled 필요.
Query Params
| Name | Type | Required | Description |
|---|---|---|---|
| skipAutomation | boolean | true면 생성 시 자동화 트리거 발행을 건너뜀 |
Body Params
| Name | Type | Required | Description |
|---|---|---|---|
| entityId | string | 레코드를 추가할 개체 ID | |
| rows | Array | 가져올 행 배열. 최대 5000개 | |
| rows[].name | string | 레코드 이름 | |
| rows[].data | Object | 속성값 맵. 속성 ID 또는 속성 이름을 키로 사용 가능 | |
| linkConfigs | Array | 임포트 후 레코드 연결 설정. relationshipTypeId와 criteria 포함 |
Response
| Name | Type | Required | Description |
|---|---|---|---|
| imported | number | 성공적으로 생성된 레코드 수 | |
| recordIds | Array | * | 생성된 레코드 ID 목록 |
Structure
코드 예제
const response = await fetch('https://api.solapi.com/crm-core/v1/records/import/csv?skipAutomation=false', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify({
entityId: 'CRMET1260423081530123XYZ11122233',
rows: [
{ name: '홍길동', data: { 'CRMPP1260423091530123PPP11122233': '010-1234-5678' } }
]
})
});
const { imported, recordIds } = await response.json();
import requests
response = requests.post(
'https://api.solapi.com/crm-core/v1/records/import/csv',
headers={'Authorization': f'Bearer {TOKEN}'},
json={
'entityId': 'CRMET1260423081530123XYZ11122233',
'rows': [
{'name': '홍길동', 'data': {'CRMPP1260423091530123PPP11122233': '010-1234-5678'}}
]
}
)
data = response.json()
curl -X POST 'https://api.solapi.com/crm-core/v1/records/import/csv' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"entityId":"CRMET1260423081530123XYZ11122233","rows":[{"name":"홍길동","data":{"CRMPP1260423091530123PPP11122233":"010-1234-5678"}}]}'
요금제의 `records.bulkImportMaxRows` 한도를 초과하는 행 수를 전달하면 400 오류를 반환한다. 단일 요청 상한은 5000행이며, 대량 임포트는 여러 번 나누어 호출해야 한다.
`linkConfigs`를 함께 보내면 임포트 직후 지정한 관계 타입(`relationshipTypeId`)으로 기준 속성(`criteria`) 매칭을 통해 자동으로 레코드가 연결된다. 연결은 비동기로 실행되므로 응답 본문에는 즉시 포함되지 않는다.