API

템플릿 목록 엑셀 업로드

작성일 2026.03.05 | 수정일 2026.03.25

POST/kakao/v2/excel/templates

템플릿 목록 엑셀 파일을 업로드하여 템플릿을 대량 등록합니다.
업로드 포맷은 알림톡 템플릿 목록 엑셀 다운로드 API의 결과를 기준으로 하며, 그룹 템플릿은 지원하지 않습니다. channelIdchannelGroupId 중 하나만 필수로 입력해야 하며, 엑셀 시트 이름은 템플릿_목록이어야 하지만 없으면 첫 번째 시트를 사용합니다.

chat
  • 엑셀 파일은 JSON body의 file 필드에 base64 문자열로 전달합니다.

  • accountId는 인증 기반으로 자동 설정되므로 엑셀에 포함된 값은 무시됩니다.

  • templateId가 포함되어 있어도 생성에는 사용되지 않고 기존 템플릿과의 비교용으로만 활용됩니다.

  • status, isHidden, dateCreated, dateUpdated 등 서버에서 자동 결정되는 필드도 엑셀 값이 무시됩니다.

  • requestInspectiontrue로 설정하면 생성 직후 검수 요청까지 수행하며, 검수 요청이 실패해도 템플릿 생성 자체는 성공으로 처리됩니다.

  • shouldLogtrue로 설정하면 서버 로그에 상세 처리 과정이 기록됩니다.

  • 구버전([메뉴] 한글라벨\nfieldName) 및 신버전(한글라벨) 헤더 형식 모두 호환됩니다.

  • 빈 행은 자동으로 건너뜁니다.

Body Params

NameTypeRequiredDescription
filestring*업로드할 xlsx 파일의 base64 문자열. data URL 형태도 허용 (예: data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,...)
requestInspectionbooleantrue일 경우 생성 직후 검수 요청까지 수행합니다 (기본값: false)
shouldLogbooleantrue일 경우 업로드 처리 과정(페이로드/결과/비교 로그)을 서버에 출력합니다 (기본값: false)

Response

NameTypemustDescription
totalnumber*처리된 전체 행 수
successCountnumber*성공한 행 수
failCountnumber*실패한 행 수
inspectionRequestedboolean*검수 요청 수행 여부
resultsarray*각 행의 처리 결과 목록
rowNumbernumber*엑셀 행 번호
templateNamestring생성된 템플릿 이름 (성공 시)
templateIdstring생성된 템플릿 ID (성공 시)
statusstring*처리 결과 (SUCCESS 또는 FAILED)
inspectionErrorstring|null검수 요청 실패 시 에러 메시지 (성공 시)
errorstring에러 메시지 (실패 시)

Structure

Request
{ "file": "UEsDBBQAAAAIAA...(base64 문자열)...", "requestInspection": true, "shouldLog": false }
Response
{ "total": 3, "successCount": 2, "failCount": 1, "inspectionRequested": true, "results": [ { "rowNumber": 2, "templateName": "주문 알림", "templateId": "TP01ABC", "status": "SUCCESS", "inspectionError": null }, { "rowNumber": 3, "templateName": "배송 알림", "templateId": "TP02DEF", "status": "SUCCESS", "inspectionError": "InspectionError:검수 요청 중 오류 발생" }, { "rowNumber": 4, "status": "FAILED", "error": "ValidationError:\"pfId\" 와 \"pfGroupId\" 중 한 값만, 필수로 입력해주세요." } ] }