API

템플릿 추가

작성일 2026.03.07 | 수정일 2026.03.25

POST/kakao/v2/templates

새로운 알림톡 템플릿을 등록합니다.
등록된 템플릿은 카카오의 검수를 거쳐야 실제 발송에 사용할 수 있으며, 검수는 영업일 기준 1~3일 정도 소요됩니다.
channelId 또는 channelGroupId 중 하나를 지정하여 특정 채널이나 채널 그룹에 템플릿을 등록합니다.
템플릿 등록 후에는 템플릿 검수 요청 API를 통해 검수를 요청해야 합니다.

제약 사항

  • channelIdchannelGroupId 중 정확히 하나만 필수로 입력해야 하며, 둘 다 입력하거나 둘 다 입력하지 않으면 오류가 발생합니다.

  • 메시지 유형(messageType)에 따라 추가 필수 입력값이 달라집니다.

    • BA(기본형): 추가 필수 없음

    • EX(부가정보형): extra 값 필수 (최대 80자, 변수 사용 불가)

    • AD(채널추가형): 첫 번째 버튼에 채널추가 버튼 필수

    • MI(복합형): EX + AD 조건 모두 충족 필요

  • 강조 유형(emphasizeType)에 따라 추가 필수 입력값이 달라집니다.

    • NONE: 추가 필수 없음

    • TEXT: emphasizeTitleemphasizeSubtitle 필수

    • IMAGE: 이미지 업로드 필수 (타입: ATA, 권장: 800px*400px, 최대: 500KB)

    • ITEM_LIST: 이미지/헤더/하이라이트/아이템리스트 중 최소 1개 필수

Body Params

NameTypeRequiredDescription
channelIdstring카카오톡 채널 고유 아이디. 채널에 템플릿을 등록하고 싶을 경우 필수입니다.
channelGroupIdstring카카오톡 채널 템플릿 그룹 고유 아이디. 그룹에 템플릿을 등록하고 싶을 경우 필수입니다.
namestring*템플릿 이름. 중복 가능합니다.
contentstring*템플릿 내용. 변수 포함 가능합니다. 변수 치환 후 1000자를 넘을 수 없습니다.
categoryCodestring*템플릿 카테고리 코드. 템플릿 카테고리 목록 조회 API로 확인 가능합니다.
buttonsarray버튼 목록
buttonTypestring*버튼 타입
buttonNamestring*버튼 이름
linkMostring모바일 링크
linkPcstringPC 링크
linkAndstring안드로이드 링크
linkIosstringiOS 링크
chatExtrastring상담톡/봇 전환 시 전달할 메타 정보
targetOutboolean아웃링크 사용 여부
quickRepliesarray바로연결 목록
messageTypestring메시지 유형 (BA: 기본형, EX: 부가정보형, AD: 채널추가형, MI: 복합형)
emphasizeTypestring강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형)
headerstring헤더 (아이템리스트형에서 사용)
highlightobject하이라이트 (아이템리스트형에서 사용)
titlestring*하이라이트 제목
descriptionstring*하이라이트 설명
imageIdstring하이라이트 이미지 ID
itemobject아이템 리스트 (아이템리스트형에서 사용)
listarray*아이템 목록
titlestring*아이템 제목
descriptionstring*아이템 설명
summaryobject아이템 요약 정보
titlestring*요약 제목
descriptionstring*요약 설명
extrastring부가정보
adstring템플릿 내 수신동의요청 또는 간단 광고 문구
emphasizeTitlestring강조표기 핵심정보
emphasizeSubtitlestring강조표기 보조문구
securityFlagboolean보안 메시지 여부 (true일 경우 PC 미노출)
imageIdstring템플릿 이미지 ID

Response

NameTypemustDescription
templateIdstring*템플릿 고유 ID
namestring*템플릿 이름
contentstring*템플릿 내용
statusstring*템플릿 상태 (PENDING, INSPECTING, APPROVED, REJECTED)
dateCreatedstring*생성 일시
dateUpdatedstring*수정 일시

Structure

Request
{ "channelId": "CH01ABC", "channelGroupId": null, "name": "주문 알림", "content": "#{이름}님의 주문이 완료되었습니다.\n주문번호: #{주문번호}", "categoryCode": "003001", "buttons": [ { "buttonType": "WL", "buttonName": "주문 확인", "linkMo": "https://example.com/orders", "linkPc": "https://example.com/orders", "linkAnd": "exampleapp://orders", "linkIos": "exampleapp://orders", "chatExtra": null, "targetOut": false } ], "quickReplies": [], "messageType": "MI", "emphasizeType": "ITEM_LIST", "header": "주문 내역", "highlight": { "title": "주문 완료", "description": "결제가 완료되었습니다.", "imageId": "IMG01ABC" }, "item": { "list": [ { "title": "상품명", "description": "예시 상품 A" } ], "summary": { "title": "총 결제금액", "description": "10,000원" } }, "extra": "본 메시지는 정보통신망법에 의거하여 발송되었습니다.", "ad": "채널 추가하고 소식을 받아보세요.", "emphasizeTitle": "주문 완료", "emphasizeSubtitle": "결제가 정상 처리되었습니다.", "securityFlag": false, "imageId": "IMG02ABC" }
Response
{ "templateId": "TP01ABC", "name": "주문 알림", "channelId": "CH01ABC", "channelGroupId": null, "assignType": "CHANNEL", "accountId": "AC01ABC", "securityFlag": false, "categoryCode": "003001", "isHidden": false, "isDeleted": false, "content": "#{이름}님의 주문이 완료되었습니다.\n주문번호: #{주문번호}", "buttons": [ { "buttonType": "WL", "buttonName": "주문 확인", "linkMo": "https://example.com/orders", "linkPc": "https://example.com/orders", "linkAnd": "exampleapp://orders", "linkIos": "exampleapp://orders", "chatExtra": null, "targetOut": false } ], "quickReplies": [], "highlight": { "title": "주문 완료", "description": "결제가 완료되었습니다.", "imageId": "IMG01ABC" }, "item": { "list": [ { "title": "상품명", "description": "예시 상품 A" } ], "summary": { "title": "총 결제금액", "description": "10,000원" } }, "comments": [], "code": null, "commentable": true, "status": "PENDING", "messageType": "MI", "emphasizeType": "ITEM_LIST", "extra": "본 메시지는 정보통신망법에 의거하여 발송되었습니다.", "ad": "채널 추가하고 소식을 받아보세요.", "emphasizeTitle": "주문 완료", "emphasizeSubtitle": "결제가 정상 처리되었습니다.", "imageId": "IMG02ABC", "header": "주문 내역", "dateCreated": "2024-01-01T00:00:00.000Z", "dateUpdated": "2024-01-01T00:00:00.000Z", "variables": [ { "name": "이름" }, { "name": "주문번호" } ] }