템플릿

Notification > Notification Hub > API v1.0 사용 가이드 > 템플릿

알림톡 템플릿의 카카오 템플릿 목록 조회

알림톡 템플릿의 카카오 템플릿 목록을 조회합니다.

요청

GET /template/v1.0/ALIMTALK/templates/{templateId}/kakao-templates

요청 파라미터

이름 구분 타입 필수 설명
templateId Path String O 템플릿 아이디
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "kakaoTemplateCode" : "kakaoTemplateCode",
    "kakaoTemplateName" : "템플릿 이름",
    "content" : {
      "templateMessageType" : "BA",
      "templateEmphasizeType" : "NONE",
      "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
      "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
      "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
      "templateTitle" : "123,450원",
      "templateSubtitle" : "승인 내역",
      "templateHeader" : "주문이 체결되었습니다.",
      "templateItem" : {
        "list" : [ {
          "title" : "아이템 타이틀",
          "description" : "아이템 설명"
        } ],
        "summary" : {
          "title" : "요약 타이틀",
          "description" : "요약 설명"
        }
      },
      "templateItemHighlight" : {
        "title" : "하이라이트 타이틀",
        "description" : "하이라이트 설명",
        "attachmentId" : "YaX2DA4Weab2",
        "imageUrl" : "https://example.com/thumbnail.jpg"
      },
      "templateRepresentLink" : {
        "linkMo" : "https://m.example.com",
        "linkPc" : "https://www.example.com",
        "schemeIos" : "example://ios",
        "schemeAndroid" : "example://android"
      },
      "attachmentId" : "YaX2DA4Weab2",
      "templateImageName" : "image.png",
      "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
      "securityFlag" : false,
      "categoryCode" : "999999",
      "buttons" : [ {
        "ordering" : 1,
        "type" : "WL",
        "name" : "버튼 이름",
        "linkMo" : "https://m.example.com",
        "linkPc" : "https://www.example.com",
        "schemeIos" : "example://ios",
        "schemeAndroid" : "example://android",
        "bizFormId" : 12345
      } ],
      "quickReplies" : [ {
        "ordering" : 1,
        "type" : "WL",
        "name" : "바로연결 이름",
        "linkMo" : "https://m.example.com",
        "linkPc" : "https://www.example.com",
        "schemeIos" : "example://ios",
        "schemeAndroid" : "example://android",
        "bizFormId" : 12345
      } ]
    },
    "reviewStatus" : "APPROVED",
    "comments" : [ {
      "id" : 1,
      "content" : "문의 내용 예시",
      "userName" : "사용자 이름",
      "createdAt" : "2024-10-29T06:00:01.000+09:00",
      "attachments" : [ {
        "originalFileName" : "파일명 예시",
        "filePath" : "/path/to/file"
      } ],
      "status" : "REQ"
    } ],
    "block" : false,
    "dormant" : false,
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].kakaoTemplateCode String O 카카오 템플릿 코드
templates[].kakaoTemplateName String O 템플릿 이름
templates[].content Object O
templates[].content.templateMessageType String X 템플릿 메시지 유형(BA: 기본형, EX: 부가 정보형, AD: 채널 추가형, MI: 복합형, default: BA)
templates[].content.templateEmphasizeType String O 템플릿 강조 표시 유형
[NONE(강조 없음), TEXT(텍스트 강조), IMAGE(이미지 강조), ITEM_LIST(아이템 리스트 강조)]
templates[].content.templateContent String X 템플릿 본문
templates[].content.templateAd String X 채널 추가 안내 메시지(템플릿 메시지 유형: 채널 추가형, 복합형일 경우 고정값)
templates[].content.templateExtra String X 템플릿 부가 정보(템플릿 메시지 유형이 [부가 정보형/복합형]일 경우 필수), 치환 변수 사용 불가, URL 포함 가능
templates[].content.templateTitle String X 템플릿 제목(최대 50자, Android: 2줄, 23자 이상 말줄임 처리, iOS : 2줄, 27자 이상 말줄임 처리)
templates[].content.templateSubtitle String X 템플릿 보조 문구(최대 50자, Android: 18자 이상 말줄임 처리, iOS : 21자 이상 말줄임 처리)
templates[].content.templateHeader String X 템플릿 헤더, 변수 입력 가능
templates[].content.templateItem Object X
templates[].content.templateItem.list Array O
templates[].content.templateItem.list[].title String O 아이템 타이틀
templates[].content.templateItem.list[].description String O 아이템 설명
templates[].content.templateItem.summary Object X
templates[].content.templateItem.summary.title String O 요약 타이틀
templates[].content.templateItem.summary.description String O 요약 설명(변수 및 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능)
templates[].content.templateItemHighlight Object X
templates[].content.templateItemHighlight.title String O 아이템 하이라이트 타이틀(최대 30자, 섬네일 이미지가 있을 경우, 21자)
templates[].content.templateItemHighlight.description String O 아이템 하이라이트 설명(최대 19자, 섬네일 이미지가 있을 경우, 13자)
templates[].content.templateItemHighlight.attachmentId String X 템플릿 첨부 파일 ID
templates[].content.templateItemHighlight.imageUrl String X 섬네일 이미지 주소
templates[].content.templateRepresentLink Object X
templates[].content.templateRepresentLink.linkMo String X 대표 링크 모바일 웹 링크
templates[].content.templateRepresentLink.linkPc String X 대표 링크 PC 웹 링크
templates[].content.templateRepresentLink.schemeIos String X 대표 링크 iOS 앱 링크
templates[].content.templateRepresentLink.schemeAndroid String X 대표 링크 안드로이드 앱 링크
templates[].content.attachmentId String X 템플릿 첨부 파일 ID
templates[].content.templateImageName String X 템플릿 이미지 이름
templates[].content.templateImageUrl String X 템플릿 이미지 링크
templates[].content.securityFlag Boolean X 템플릿 보안 여부(default: false)
templates[].content.categoryCode String X 템플릿 카테고리 코드(템플릿 카테고리 조회 API 참고, default: 999999)
templates[].content.buttons Array X 템플릿 버튼
templates[].content.buttons[].ordering Integer O 템플릿 버튼 순서
templates[].content.buttons[].type String O 템플릿 버튼 유형
[WL(웹 링크), AL(앱 링크), DS(배송 조회), BK(봇 키워드), MD(메시지 전달), BC(상담톡 전환), BT(봇 전환), AC(채널 추가), BF(비즈니스 폼), P1(이미지 보안 전송 플러그인), P2(개인정보 이용 플러그인), P3(원클릭 결제 플러그인), TN(전화하기)]
templates[].content.buttons[].name String O 템플릿 버튼 이름
templates[].content.buttons[].linkMo String X 템플릿 버튼 모바일 웹 링크
templates[].content.buttons[].linkPc String X 템플릿 버튼 PC 웹 링크
templates[].content.buttons[].schemeIos String X 템플릿 버튼 iOS 앱 링크
templates[].content.buttons[].schemeAndroid String X 템플릿 버튼 안드로이드 앱 링크
templates[].content.buttons[].bizFormId Integer X 템플릿 버튼 비즈니스폼 ID(BF 타입일 경우, 필수)
templates[].content.quickReplies Array X 템플릿 바로 연결
templates[].content.quickReplies[].ordering Integer O 템플릿 바로연결 순서
templates[].content.quickReplies[].type String O 템플릿 바로연결 유형
[WL(웹 링크), AL(앱 링크), BK(봇 키워드), BC(상담톡 전환), BT(봇 전환), BF(비즈니스 폼)]
templates[].content.quickReplies[].name String O 템플릿 바로연결 이름
templates[].content.quickReplies[].linkMo String X 템플릿 바로연결 모바일 웹 링크
templates[].content.quickReplies[].linkPc String X 템플릿 바로연결 PC 웹 링크
templates[].content.quickReplies[].schemeIos String X 템플릿 바로연결 iOS 앱 링크
templates[].content.quickReplies[].schemeAndroid String X 템플릿 바로연결 안드로이드 앱 링크
templates[].content.quickReplies[].bizFormId Integer X 템플릿 바로연결 비즈니스폼 ID(BF 타입일 경우, 필수)
templates[].reviewStatus String O REGISTERED:요청, REQUESTED:검수 중, APPROVED:승인, REJECTED: 반려
[REGISTERED, REQUESTED, APPROVED, REJECTED]
templates[].comments Array O 템플릿 문의 리스트
templates[].comments[].id Integer O 문의 아이디
templates[].comments[].content String X 문의 내용
templates[].comments[].userName String O 작성자
templates[].comments[].createdAt String O 문의 생성 시각
templates[].comments[].attachments Array O 문의 첨부 파일
templates[].comments[].attachments[].originalFileName String O 첨부 파일명
templates[].comments[].attachments[].filePath String O 첨부 파일 경로
templates[].comments[].status String O 문의 상태(REQ: 요청, INQ:문의, APR:승인, REJ:반려, REP: 답변)
[REQ, INQ, APR, REJ, REP]
templates[].block Boolean O 템플릿 차단 여부
templates[].dormant Boolean O 템플릿 휴면 여부
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### 알림톡 템플릿의 카카오 템플릿 목록 조회

GET {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}/kakao-templates
cURL
curl -X GET "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}/kakao-templates"

파일을 첨부해 카카오 알림톡 템플릿 문의하기

카카오 알림톡 템플릿을 문의할 때 파일을 첨부해 문의합니다.

요청

POST /template/v1.0/ALIMTALK/templates/{templateId}/kakao-templates/{kakaoTemplateCode}/inquiries/do-with-file

요청 파라미터

이름 구분 타입 필수 설명
templateId Path String O 템플릿 아이디
kakaoTemplateCode Path String O 카카오 템플릿 코드

요청 본문

경로 타입 필수 설명
file Array O 문의 파일
comment String O 문의 내용

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### 파일을 첨부해 카카오 알림톡 템플릿 문의하기

POST {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}/kakao-templates/{{kakaoTemplateCode}}/inquiries/do-with-file
comment=comment_example
file=@/path/to/file.txt
cURL
curl -X POST "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}/kakao-templates/${kakaoTemplateCode}/inquiries/do-with-file" \
-F "comment=comment_example" \
-F "file=@/path/to/file.txt"

카카오 알림톡 템플릿 문의하기

카카오 알림톡 템플릿을 문의합니다.

요청

POST /template/v1.0/ALIMTALK/templates/{templateId}/kakao-templates/{kakaoTemplateCode}/inquiries

요청 파라미터

이름 구분 타입 필수 설명
templateId Path String O 템플릿 아이디
kakaoTemplateCode Path String O 카카오 템플릿 코드

요청 본문

{
  "comment" : "문의 내용 예시"
}
경로 타입 필수 설명
comment String O 문의 내용

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### 카카오 알림톡 템플릿 문의하기

POST {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}/kakao-templates/{{kakaoTemplateCode}}/inquiries
{
  "comment" : "문의 내용 예시"
}
cURL
curl -X POST "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}/kakao-templates/${kakaoTemplateCode}/inquiries" \
-d '{
  "comment" : "문의 내용 예시"
}'

SMS 템플릿 등록

템플릿을 등록합니다.

요청

POST /template/v1.0/SMS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰

요청 본문

{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderPhoneNumber" : "01012341234"
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
    "imageLayoutId" : "YaX2DA4Weab1"
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
categoryId String X 카테고리 아이디
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object O
sender.senderPhoneNumber String O 발신 번호
content Object O
content.messageType String O 발송 메시지 유형(SMS, LMS, MMS)
[SMS, LMS, MMS]
content.title String X 메시지 제목
content.body String O 메시지 본문
content.attachmentIds Array X 첨부 파일 아이디 최대 3개
content.imageLayoutId String X 이미지 레이아웃 아이디

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "templateId" : "A9z0A9z0"
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
templateId String O 템플릿 등록 시, 발급된 템플릿 아이디

요청 예시

IntelliJ HTTP
### SMS 템플릿 등록

POST {{endpoint}}/template/v1.0/SMS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderPhoneNumber" : "01012341234"
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
    "imageLayoutId" : "YaX2DA4Weab1"
  }
}
cURL
curl -X POST "${endpoint}/template/v1.0/SMS/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderPhoneNumber" : "01012341234"
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
    "imageLayoutId" : "YaX2DA4Weab1"
  }
}'

SMS 템플릿 리스트 조회

템플릿 리스트를 조회합니다.

요청

GET /template/v1.0/SMS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateName Query String X 템플릿 이름(LIKE 검색)
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "templateId" : "A9z0A9z0",
    "templateName" : "배송 완료",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
templates[].templateName String O 템플릿명
templates[].categoryId String O 카테고리 아이디
templates[].messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
templates[].messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templates[].messagePurposes Array O
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### SMS 템플릿 리스트 조회

GET {{endpoint}}/template/v1.0/SMS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/SMS/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

SMS 템플릿 상세 조회

템플릿을 상세 조회합니다.

요청

GET /template/v1.0/SMS/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "template" : {
    "templateId" : "A9z0A9z0",
    "templateName" : "템플릿 이름",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "templateLanguage" : "PLAIN_TEXT",
    "sender" : {
      "senderPhoneNumber" : "01012341234"
    },
    "content" : {
      "messageType" : "SMS",
      "title" : "명절 운영시간 공지",
      "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
      "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
      "imageLayoutId" : "YaX2DA4Weab1"
    },
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  }
}
경로 타입 Not Null 설명
header Object X
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
template Object X
template.templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
template.templateName String X 템플릿 이름
template.categoryId String X 카테고리 아이디
template.messageChannel String X 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
template.messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
template.messagePurposes Array X
template.templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
template.sender Object X
template.sender.senderPhoneNumber String O 발신 번호
template.content Object X
template.content.messageType String O 발송 메시지 유형(SMS, LMS, MMS)
[SMS, LMS, MMS]
template.content.title String X 메시지 제목
template.content.body String O 메시지 본문
template.content.attachmentIds Array X 첨부 파일 아이디 최대 3개
template.content.imageLayoutId String X 이미지 레이아웃 아이디
template.createdDateTime String X 템플릿 생성 시각
template.updatedDateTime String X 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### SMS 템플릿 상세 조회

GET {{endpoint}}/template/v1.0/SMS/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/SMS/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

SMS 템플릿 수정

템플릿을 수정합니다.

요청

PUT /template/v1.0/SMS/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderPhoneNumber" : "01012341234"
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
    "imageLayoutId" : "YaX2DA4Weab1"
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object X
sender.senderPhoneNumber String O 발신 번호
content Object O
content.messageType String O 발송 메시지 유형(SMS, LMS, MMS)
[SMS, LMS, MMS]
content.title String X 메시지 제목
content.body String O 메시지 본문
content.attachmentIds Array X 첨부 파일 아이디 최대 3개
content.imageLayoutId String X 이미지 레이아웃 아이디

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### SMS 템플릿 수정

PUT {{endpoint}}/template/v1.0/SMS/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderPhoneNumber" : "01012341234"
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
    "imageLayoutId" : "YaX2DA4Weab1"
  }
}
cURL
curl -X PUT "${endpoint}/template/v1.0/SMS/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderPhoneNumber" : "01012341234"
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ],
    "imageLayoutId" : "YaX2DA4Weab1"
  }
}'

SMS 템플릿 삭제

템플릿을 삭제합니다.

요청

DELETE /template/v1.0/SMS/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### SMS 템플릿 삭제

DELETE {{endpoint}}/template/v1.0/SMS/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X DELETE "${endpoint}/template/v1.0/SMS/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

알림톡 템플릿 등록

템플릿을 등록합니다.

요청

POST /template/v1.0/ALIMTALK/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰

요청 본문

{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderKey" : "3f8a6b1c5d9e2f7a0b4c8d3e6f1a9b2c5d7e0f4a8b3c",
    "senderProfileType" : "NORMAL"
  },
  "content" : {
    "templateMessageType" : "BA",
    "templateEmphasizeType" : "NONE",
    "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
    "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
    "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
    "templateTitle" : "123,450원",
    "templateSubtitle" : "승인 내역",
    "templateHeader" : "주문이 체결되었습니다.",
    "templateItem" : {
      "list" : [ {
        "title" : "아이템 타이틀",
        "description" : "아이템 설명"
      } ],
      "summary" : {
        "title" : "요약 타이틀",
        "description" : "요약 설명"
      }
    },
    "templateItemHighlight" : {
      "title" : "하이라이트 타이틀",
      "description" : "하이라이트 설명",
      "attachmentId" : "YaX2DA4Weab2",
      "imageUrl" : "https://example.com/thumbnail.jpg"
    },
    "templateRepresentLink" : {
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android"
    },
    "attachmentId" : "YaX2DA4Weab2",
    "templateImageName" : "image.png",
    "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
    "securityFlag" : false,
    "categoryCode" : "999999",
    "buttons" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "버튼 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ],
    "quickReplies" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "바로연결 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ]
  },
  "additionalProperty" : {
    "templateCode" : "templateCode",
    "kakaoTemplateCode" : "kakaoTemplateCode"
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
categoryId String X 카테고리 아이디
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object X
sender.senderKey String X 발신 프로필 발신키
sender.senderProfileType String X 발신 프로필 타입
[GROUP, NORMAL]
content Object O
content.templateMessageType String X 템플릿 메시지 유형(BA: 기본형, EX: 부가 정보형, AD: 채널 추가형, MI: 복합형, default: BA)
content.templateEmphasizeType String O 템플릿 강조 표시 유형
[NONE(강조 없음), TEXT(텍스트 강조), IMAGE(이미지 강조), ITEM_LIST(아이템 리스트 강조)]
content.templateContent String X 템플릿 본문
content.templateAd String X 채널 추가 안내 메시지(템플릿 메시지 유형: 채널 추가형, 복합형일 경우 고정값)
content.templateExtra String X 템플릿 부가 정보(템플릿 메시지 유형이 [부가 정보형/복합형]일 경우 필수), 치환 변수 사용 불가, URL 포함 가능
content.templateTitle String X 템플릿 제목(최대 50자, Android: 2줄, 23자 이상 말줄임 처리, iOS : 2줄, 27자 이상 말줄임 처리)
content.templateSubtitle String X 템플릿 보조 문구(최대 50자, Android: 18자 이상 말줄임 처리, iOS : 21자 이상 말줄임 처리)
content.templateHeader String X 템플릿 헤더, 변수 입력 가능
content.templateItem Object X
content.templateItem.list Array O
content.templateItem.list[].title String O 아이템 타이틀
content.templateItem.list[].description String O 아이템 설명
content.templateItem.summary Object X
content.templateItem.summary.title String O 요약 타이틀
content.templateItem.summary.description String O 요약 설명(변수 및 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능)
content.templateItemHighlight Object X
content.templateItemHighlight.title String O 아이템 하이라이트 타이틀(최대 30자, 섬네일 이미지가 있을 경우, 21자)
content.templateItemHighlight.description String O 아이템 하이라이트 설명(최대 19자, 섬네일 이미지가 있을 경우, 13자)
content.templateItemHighlight.attachmentId String X 템플릿 첨부 파일 ID
content.templateItemHighlight.imageUrl String X 섬네일 이미지 주소
content.templateRepresentLink Object X
content.templateRepresentLink.linkMo String X 대표 링크 모바일 웹 링크
content.templateRepresentLink.linkPc String X 대표 링크 PC 웹 링크
content.templateRepresentLink.schemeIos String X 대표 링크 iOS 앱 링크
content.templateRepresentLink.schemeAndroid String X 대표 링크 안드로이드 앱 링크
content.attachmentId String X 템플릿 첨부 파일 ID
content.templateImageName String X 템플릿 이미지 이름
content.templateImageUrl String X 템플릿 이미지 링크
content.securityFlag Boolean X 템플릿 보안 여부(default: false)
content.categoryCode String X 템플릿 카테고리 코드(템플릿 카테고리 조회 API 참고, default: 999999)
content.buttons Array X 템플릿 버튼
content.buttons[].ordering Integer O 템플릿 버튼 순서
content.buttons[].type String O 템플릿 버튼 유형
[WL(웹 링크), AL(앱 링크), DS(배송 조회), BK(봇 키워드), MD(메시지 전달), BC(상담톡 전환), BT(봇 전환), AC(채널 추가), BF(비즈니스 폼), P1(이미지 보안 전송 플러그인), P2(개인정보 이용 플러그인), P3(원클릭 결제 플러그인), TN(전화하기)]
content.buttons[].name String O 템플릿 버튼 이름
content.buttons[].linkMo String X 템플릿 버튼 모바일 웹 링크
content.buttons[].linkPc String X 템플릿 버튼 PC 웹 링크
content.buttons[].schemeIos String X 템플릿 버튼 iOS 앱 링크
content.buttons[].schemeAndroid String X 템플릿 버튼 안드로이드 앱 링크
content.buttons[].bizFormId Integer X 템플릿 버튼 비즈니스폼 ID(BF 타입일 경우, 필수)
content.quickReplies Array X 템플릿 바로 연결
content.quickReplies[].ordering Integer O 템플릿 바로연결 순서
content.quickReplies[].type String O 템플릿 바로연결 유형
[WL(웹 링크), AL(앱 링크), BK(봇 키워드), BC(상담톡 전환), BT(봇 전환), BF(비즈니스 폼)]
content.quickReplies[].name String O 템플릿 바로연결 이름
content.quickReplies[].linkMo String X 템플릿 바로연결 모바일 웹 링크
content.quickReplies[].linkPc String X 템플릿 바로연결 PC 웹 링크
content.quickReplies[].schemeIos String X 템플릿 바로연결 iOS 앱 링크
content.quickReplies[].schemeAndroid String X 템플릿 바로연결 안드로이드 앱 링크
content.quickReplies[].bizFormId Integer X 템플릿 바로연결 비즈니스폼 ID(BF 타입일 경우, 필수)
additionalProperty Object O
additionalProperty.templateCode String O 템플릿 코드(영문, 숫자, -, _)
additionalProperty.kakaoTemplateCode String X 카카오 템플릿 코드

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "templateId" : "A9z0A9z0"
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
templateId String O 템플릿 등록 시, 발급된 템플릿 아이디

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 등록

POST {{endpoint}}/template/v1.0/ALIMTALK/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderKey" : "3f8a6b1c5d9e2f7a0b4c8d3e6f1a9b2c5d7e0f4a8b3c",
    "senderProfileType" : "NORMAL"
  },
  "content" : {
    "templateMessageType" : "BA",
    "templateEmphasizeType" : "NONE",
    "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
    "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
    "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
    "templateTitle" : "123,450원",
    "templateSubtitle" : "승인 내역",
    "templateHeader" : "주문이 체결되었습니다.",
    "templateItem" : {
      "list" : [ {
        "title" : "아이템 타이틀",
        "description" : "아이템 설명"
      } ],
      "summary" : {
        "title" : "요약 타이틀",
        "description" : "요약 설명"
      }
    },
    "templateItemHighlight" : {
      "title" : "하이라이트 타이틀",
      "description" : "하이라이트 설명",
      "attachmentId" : "YaX2DA4Weab2",
      "imageUrl" : "https://example.com/thumbnail.jpg"
    },
    "templateRepresentLink" : {
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android"
    },
    "attachmentId" : "YaX2DA4Weab2",
    "templateImageName" : "image.png",
    "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
    "securityFlag" : false,
    "categoryCode" : "999999",
    "buttons" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "버튼 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ],
    "quickReplies" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "바로연결 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ]
  },
  "additionalProperty" : {
    "templateCode" : "templateCode",
    "kakaoTemplateCode" : "kakaoTemplateCode"
  }
}
cURL
curl -X POST "${endpoint}/template/v1.0/ALIMTALK/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderKey" : "3f8a6b1c5d9e2f7a0b4c8d3e6f1a9b2c5d7e0f4a8b3c",
    "senderProfileType" : "NORMAL"
  },
  "content" : {
    "templateMessageType" : "BA",
    "templateEmphasizeType" : "NONE",
    "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
    "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
    "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
    "templateTitle" : "123,450원",
    "templateSubtitle" : "승인 내역",
    "templateHeader" : "주문이 체결되었습니다.",
    "templateItem" : {
      "list" : [ {
        "title" : "아이템 타이틀",
        "description" : "아이템 설명"
      } ],
      "summary" : {
        "title" : "요약 타이틀",
        "description" : "요약 설명"
      }
    },
    "templateItemHighlight" : {
      "title" : "하이라이트 타이틀",
      "description" : "하이라이트 설명",
      "attachmentId" : "YaX2DA4Weab2",
      "imageUrl" : "https://example.com/thumbnail.jpg"
    },
    "templateRepresentLink" : {
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android"
    },
    "attachmentId" : "YaX2DA4Weab2",
    "templateImageName" : "image.png",
    "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
    "securityFlag" : false,
    "categoryCode" : "999999",
    "buttons" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "버튼 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ],
    "quickReplies" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "바로연결 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ]
  },
  "additionalProperty" : {
    "templateCode" : "templateCode",
    "kakaoTemplateCode" : "kakaoTemplateCode"
  }
}'

알림톡 템플릿 리스트 조회

템플릿 리스트를 조회합니다.

요청

GET /template/v1.0/ALIMTALK/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateName Query String X 템플릿 이름(LIKE 검색)
senderKey Query String X 발신키
templateStatus Query String X 템플릿 상태
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "templateId" : "A9z0A9z0",
    "templateName" : "배송 완료",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
templates[].templateName String O 템플릿명
templates[].categoryId String O 카테고리 아이디
templates[].messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
templates[].messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templates[].messagePurposes Array O
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 리스트 조회

GET {{endpoint}}/template/v1.0/ALIMTALK/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/ALIMTALK/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

알림톡 발신자와 관계된 템플릿 리스트 조회

발신자와 관계된 템플릿 리스트를 조회합니다.(발신자 또는 발신자가 포함된 그룹의 템플릿)

요청

GET /template/v1.0/ALIMTALK/senders/{senderKey}/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
senderKey Path String O 발신키
templateName Query String X 템플릿 이름(LIKE 검색)
templateStatus Query String X 템플릿 상태
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "templateId" : "A9z0A9z0",
    "templateName" : "배송 완료",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
templates[].templateName String O 템플릿명
templates[].categoryId String O 카테고리 아이디
templates[].messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
templates[].messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templates[].messagePurposes Array O
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### 알림톡 발신자와 관계된 템플릿 리스트 조회

GET {{endpoint}}/template/v1.0/ALIMTALK/senders/{{senderKey}}/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/ALIMTALK/senders/${senderKey}/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

알림톡 템플릿 상세 조회

템플릿을 상세 조회합니다.

요청

GET /template/v1.0/ALIMTALK/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "template" : {
    "templateId" : "A9z0A9z0",
    "templateName" : "템플릿 이름",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "templateLanguage" : "PLAIN_TEXT",
    "sender" : {
      "senderKey" : "3f8a6b1c5d9e2f7a0b4c8d3e6f1a9b2c5d7e0f4a8b3c",
      "senderProfileId" : "@nhnCloud",
      "senderProfileType" : "GROUP"
    },
    "additionalProperty" : {
      "kakaoTemplateCode" : "templateCode",
      "templateCode" : "templateCode",
      "comments" : [ {
        "id" : 1,
        "content" : "문의 내용 예시",
        "userName" : "사용자 이름",
        "createdAt" : "2024-10-29T06:00:01.000+09:00",
        "attachments" : [ {
          "originalFileName" : "파일명 예시",
          "filePath" : "/path/to/file"
        } ],
        "status" : "REQ"
      } ],
      "status" : "APPROVED",
      "block" : false,
      "dormant" : false
    },
    "content" : {
      "templateMessageType" : "BA",
      "templateEmphasizeType" : "NONE",
      "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
      "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
      "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
      "templateTitle" : "123,450원",
      "templateSubtitle" : "승인 내역",
      "templateHeader" : "주문이 체결되었습니다.",
      "templateItem" : {
        "list" : [ {
          "title" : "아이템 타이틀",
          "description" : "아이템 설명"
        } ],
        "summary" : {
          "title" : "요약 타이틀",
          "description" : "요약 설명"
        }
      },
      "templateItemHighlight" : {
        "title" : "하이라이트 타이틀",
        "description" : "하이라이트 설명",
        "attachmentId" : "YaX2DA4Weab2",
        "imageUrl" : "https://example.com/thumbnail.jpg"
      },
      "templateRepresentLink" : {
        "linkMo" : "https://m.example.com",
        "linkPc" : "https://www.example.com",
        "schemeIos" : "example://ios",
        "schemeAndroid" : "example://android"
      },
      "attachmentId" : "YaX2DA4Weab2",
      "templateImageName" : "image.png",
      "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
      "securityFlag" : false,
      "categoryCode" : "999999",
      "buttons" : [ {
        "ordering" : 1,
        "type" : "WL",
        "name" : "버튼 이름",
        "linkMo" : "https://m.example.com",
        "linkPc" : "https://www.example.com",
        "schemeIos" : "example://ios",
        "schemeAndroid" : "example://android",
        "bizFormId" : 12345
      } ],
      "quickReplies" : [ {
        "ordering" : 1,
        "type" : "WL",
        "name" : "바로연결 이름",
        "linkMo" : "https://m.example.com",
        "linkPc" : "https://www.example.com",
        "schemeIos" : "example://ios",
        "schemeAndroid" : "example://android",
        "bizFormId" : 12345
      } ]
    },
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
template Object O
template.templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
template.templateName String O 템플릿 이름
template.categoryId String O 카테고리 아이디
template.messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
template.messagePurpose String O 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
template.messagePurposes Array O
template.templateLanguage String O 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
template.sender Object O
template.sender.senderKey String O 발신 프로필 발신키
template.sender.senderProfileId String O 카카오톡 채널명
template.sender.senderProfileType String O 발신 프로필 타입
[GROUP, NORMAL]
template.additionalProperty Object O
template.additionalProperty.kakaoTemplateCode String O 카카오 템플릿 코드
template.additionalProperty.templateCode String O 템플릿 코드(영문, 숫자, -, _)
template.additionalProperty.comments Array O 템플릿 문의 리스트
template.additionalProperty.comments[].id Integer O 문의 아이디
template.additionalProperty.comments[].content String X 문의 내용
template.additionalProperty.comments[].userName String O 작성자
template.additionalProperty.comments[].createdAt String O 문의 생성 시각
template.additionalProperty.comments[].attachments Array O 문의 첨부 파일
template.additionalProperty.comments[].attachments[].originalFileName String O 첨부 파일명
template.additionalProperty.comments[].attachments[].filePath String O 첨부 파일 경로
template.additionalProperty.comments[].status String O 문의 상태(REQ: 요청, INQ:문의, APR:승인, REJ:반려, REP: 답변)
[REQ, INQ, APR, REJ, REP]
template.additionalProperty.status String X REGISTERED:요청, REQUESTED:검수 중, APPROVED:승인, REJECTED: 반려
[REGISTERED, REQUESTED, APPROVED, REJECTED]
template.additionalProperty.block Boolean O 템플릿 차단 여부
기본값: false
template.additionalProperty.dormant Boolean O 템플릿 휴면 여부
기본값: false
template.content Object O
template.content.templateMessageType String X 템플릿 메시지 유형(BA: 기본형, EX: 부가 정보형, AD: 채널 추가형, MI: 복합형, default: BA)
template.content.templateEmphasizeType String O 템플릿 강조 표시 유형
[NONE(강조 없음), TEXT(텍스트 강조), IMAGE(이미지 강조), ITEM_LIST(아이템 리스트 강조)]
template.content.templateContent String X 템플릿 본문
template.content.templateAd String X 채널 추가 안내 메시지(템플릿 메시지 유형: 채널 추가형, 복합형일 경우 고정값)
template.content.templateExtra String X 템플릿 부가 정보(템플릿 메시지 유형이 [부가 정보형/복합형]일 경우 필수), 치환 변수 사용 불가, URL 포함 가능
template.content.templateTitle String X 템플릿 제목(최대 50자, Android: 2줄, 23자 이상 말줄임 처리, iOS : 2줄, 27자 이상 말줄임 처리)
template.content.templateSubtitle String X 템플릿 보조 문구(최대 50자, Android: 18자 이상 말줄임 처리, iOS : 21자 이상 말줄임 처리)
template.content.templateHeader String X 템플릿 헤더, 변수 입력 가능
template.content.templateItem Object X
template.content.templateItem.list Array O
template.content.templateItem.list[].title String O 아이템 타이틀
template.content.templateItem.list[].description String O 아이템 설명
template.content.templateItem.summary Object X
template.content.templateItem.summary.title String O 요약 타이틀
template.content.templateItem.summary.description String O 요약 설명(변수 및 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능)
template.content.templateItemHighlight Object X
template.content.templateItemHighlight.title String O 아이템 하이라이트 타이틀(최대 30자, 섬네일 이미지가 있을 경우, 21자)
template.content.templateItemHighlight.description String O 아이템 하이라이트 설명(최대 19자, 섬네일 이미지가 있을 경우, 13자)
template.content.templateItemHighlight.attachmentId String X 템플릿 첨부 파일 ID
template.content.templateItemHighlight.imageUrl String X 섬네일 이미지 주소
template.content.templateRepresentLink Object X
template.content.templateRepresentLink.linkMo String X 대표 링크 모바일 웹 링크
template.content.templateRepresentLink.linkPc String X 대표 링크 PC 웹 링크
template.content.templateRepresentLink.schemeIos String X 대표 링크 iOS 앱 링크
template.content.templateRepresentLink.schemeAndroid String X 대표 링크 안드로이드 앱 링크
template.content.attachmentId String X 템플릿 첨부 파일 ID
template.content.templateImageName String X 템플릿 이미지 이름
template.content.templateImageUrl String X 템플릿 이미지 링크
template.content.securityFlag Boolean X 템플릿 보안 여부(default: false)
template.content.categoryCode String X 템플릿 카테고리 코드(템플릿 카테고리 조회 API 참고, default: 999999)
template.content.buttons Array X 템플릿 버튼
template.content.buttons[].ordering Integer O 템플릿 버튼 순서
template.content.buttons[].type String O 템플릿 버튼 유형
[WL(웹 링크), AL(앱 링크), DS(배송 조회), BK(봇 키워드), MD(메시지 전달), BC(상담톡 전환), BT(봇 전환), AC(채널 추가), BF(비즈니스 폼), P1(이미지 보안 전송 플러그인), P2(개인정보 이용 플러그인), P3(원클릭 결제 플러그인), TN(전화하기)]
template.content.buttons[].name String O 템플릿 버튼 이름
template.content.buttons[].linkMo String X 템플릿 버튼 모바일 웹 링크
template.content.buttons[].linkPc String X 템플릿 버튼 PC 웹 링크
template.content.buttons[].schemeIos String X 템플릿 버튼 iOS 앱 링크
template.content.buttons[].schemeAndroid String X 템플릿 버튼 안드로이드 앱 링크
template.content.buttons[].bizFormId Integer X 템플릿 버튼 비즈니스폼 ID(BF 타입일 경우, 필수)
template.content.quickReplies Array X 템플릿 바로 연결
template.content.quickReplies[].ordering Integer O 템플릿 바로연결 순서
template.content.quickReplies[].type String O 템플릿 바로연결 유형
[WL(웹 링크), AL(앱 링크), BK(봇 키워드), BC(상담톡 전환), BT(봇 전환), BF(비즈니스 폼)]
template.content.quickReplies[].name String O 템플릿 바로연결 이름
template.content.quickReplies[].linkMo String X 템플릿 바로연결 모바일 웹 링크
template.content.quickReplies[].linkPc String X 템플릿 바로연결 PC 웹 링크
template.content.quickReplies[].schemeIos String X 템플릿 바로연결 iOS 앱 링크
template.content.quickReplies[].schemeAndroid String X 템플릿 바로연결 안드로이드 앱 링크
template.content.quickReplies[].bizFormId Integer X 템플릿 바로연결 비즈니스폼 ID(BF 타입일 경우, 필수)
template.createdDateTime String O 템플릿 생성 시각
template.updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 상세 조회

GET {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

알림톡 템플릿 수정

템플릿을 수정합니다.

요청

PUT /template/v1.0/ALIMTALK/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "content" : {
    "templateMessageType" : "BA",
    "templateEmphasizeType" : "NONE",
    "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
    "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
    "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
    "templateTitle" : "123,450원",
    "templateSubtitle" : "승인 내역",
    "templateHeader" : "주문이 체결되었습니다.",
    "templateItem" : {
      "list" : [ {
        "title" : "아이템 타이틀",
        "description" : "아이템 설명"
      } ],
      "summary" : {
        "title" : "요약 타이틀",
        "description" : "요약 설명"
      }
    },
    "templateItemHighlight" : {
      "title" : "하이라이트 타이틀",
      "description" : "하이라이트 설명",
      "attachmentId" : "YaX2DA4Weab2",
      "imageUrl" : "https://example.com/thumbnail.jpg"
    },
    "templateRepresentLink" : {
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android"
    },
    "attachmentId" : "YaX2DA4Weab2",
    "templateImageName" : "image.png",
    "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
    "securityFlag" : false,
    "categoryCode" : "999999",
    "buttons" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "버튼 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ],
    "quickReplies" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "바로연결 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ]
  },
  "additionalProperty" : {
    "kakaoTemplateCode" : "kakaoTemplateCode"
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
messagePurpose String O 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
content Object O
content.templateMessageType String X 템플릿 메시지 유형(BA: 기본형, EX: 부가 정보형, AD: 채널 추가형, MI: 복합형, default: BA)
content.templateEmphasizeType String O 템플릿 강조 표시 유형
[NONE(강조 없음), TEXT(텍스트 강조), IMAGE(이미지 강조), ITEM_LIST(아이템 리스트 강조)]
content.templateContent String X 템플릿 본문
content.templateAd String X 채널 추가 안내 메시지(템플릿 메시지 유형: 채널 추가형, 복합형일 경우 고정값)
content.templateExtra String X 템플릿 부가 정보(템플릿 메시지 유형이 [부가 정보형/복합형]일 경우 필수), 치환 변수 사용 불가, URL 포함 가능
content.templateTitle String X 템플릿 제목(최대 50자, Android: 2줄, 23자 이상 말줄임 처리, iOS : 2줄, 27자 이상 말줄임 처리)
content.templateSubtitle String X 템플릿 보조 문구(최대 50자, Android: 18자 이상 말줄임 처리, iOS : 21자 이상 말줄임 처리)
content.templateHeader String X 템플릿 헤더, 변수 입력 가능
content.templateItem Object X
content.templateItem.list Array O
content.templateItem.list[].title String O 아이템 타이틀
content.templateItem.list[].description String O 아이템 설명
content.templateItem.summary Object X
content.templateItem.summary.title String O 요약 타이틀
content.templateItem.summary.description String O 요약 설명(변수 및 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능)
content.templateItemHighlight Object X
content.templateItemHighlight.title String O 아이템 하이라이트 타이틀(최대 30자, 섬네일 이미지가 있을 경우, 21자)
content.templateItemHighlight.description String O 아이템 하이라이트 설명(최대 19자, 섬네일 이미지가 있을 경우, 13자)
content.templateItemHighlight.attachmentId String X 템플릿 첨부 파일 ID
content.templateItemHighlight.imageUrl String X 섬네일 이미지 주소
content.templateRepresentLink Object X
content.templateRepresentLink.linkMo String X 대표 링크 모바일 웹 링크
content.templateRepresentLink.linkPc String X 대표 링크 PC 웹 링크
content.templateRepresentLink.schemeIos String X 대표 링크 iOS 앱 링크
content.templateRepresentLink.schemeAndroid String X 대표 링크 안드로이드 앱 링크
content.attachmentId String X 템플릿 첨부 파일 ID
content.templateImageName String X 템플릿 이미지 이름
content.templateImageUrl String X 템플릿 이미지 링크
content.securityFlag Boolean X 템플릿 보안 여부(default: false)
content.categoryCode String X 템플릿 카테고리 코드(템플릿 카테고리 조회 API 참고, default: 999999)
content.buttons Array X 템플릿 버튼
content.buttons[].ordering Integer O 템플릿 버튼 순서
content.buttons[].type String O 템플릿 버튼 유형
[WL(웹 링크), AL(앱 링크), DS(배송 조회), BK(봇 키워드), MD(메시지 전달), BC(상담톡 전환), BT(봇 전환), AC(채널 추가), BF(비즈니스 폼), P1(이미지 보안 전송 플러그인), P2(개인정보 이용 플러그인), P3(원클릭 결제 플러그인), TN(전화하기)]
content.buttons[].name String O 템플릿 버튼 이름
content.buttons[].linkMo String X 템플릿 버튼 모바일 웹 링크
content.buttons[].linkPc String X 템플릿 버튼 PC 웹 링크
content.buttons[].schemeIos String X 템플릿 버튼 iOS 앱 링크
content.buttons[].schemeAndroid String X 템플릿 버튼 안드로이드 앱 링크
content.buttons[].bizFormId Integer X 템플릿 버튼 비즈니스폼 ID(BF 타입일 경우, 필수)
content.quickReplies Array X 템플릿 바로 연결
content.quickReplies[].ordering Integer O 템플릿 바로연결 순서
content.quickReplies[].type String O 템플릿 바로연결 유형
[WL(웹 링크), AL(앱 링크), BK(봇 키워드), BC(상담톡 전환), BT(봇 전환), BF(비즈니스 폼)]
content.quickReplies[].name String O 템플릿 바로연결 이름
content.quickReplies[].linkMo String X 템플릿 바로연결 모바일 웹 링크
content.quickReplies[].linkPc String X 템플릿 바로연결 PC 웹 링크
content.quickReplies[].schemeIos String X 템플릿 바로연결 iOS 앱 링크
content.quickReplies[].schemeAndroid String X 템플릿 바로연결 안드로이드 앱 링크
content.quickReplies[].bizFormId Integer X 템플릿 바로연결 비즈니스폼 ID(BF 타입일 경우, 필수)
additionalProperty Object O
additionalProperty.kakaoTemplateCode String O 카카오 템플릿 코드(영문, 숫자, -, _)

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 수정

PUT {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "content" : {
    "templateMessageType" : "BA",
    "templateEmphasizeType" : "NONE",
    "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
    "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
    "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
    "templateTitle" : "123,450원",
    "templateSubtitle" : "승인 내역",
    "templateHeader" : "주문이 체결되었습니다.",
    "templateItem" : {
      "list" : [ {
        "title" : "아이템 타이틀",
        "description" : "아이템 설명"
      } ],
      "summary" : {
        "title" : "요약 타이틀",
        "description" : "요약 설명"
      }
    },
    "templateItemHighlight" : {
      "title" : "하이라이트 타이틀",
      "description" : "하이라이트 설명",
      "attachmentId" : "YaX2DA4Weab2",
      "imageUrl" : "https://example.com/thumbnail.jpg"
    },
    "templateRepresentLink" : {
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android"
    },
    "attachmentId" : "YaX2DA4Weab2",
    "templateImageName" : "image.png",
    "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
    "securityFlag" : false,
    "categoryCode" : "999999",
    "buttons" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "버튼 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ],
    "quickReplies" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "바로연결 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ]
  },
  "additionalProperty" : {
    "kakaoTemplateCode" : "kakaoTemplateCode"
  }
}
cURL
curl -X PUT "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "content" : {
    "templateMessageType" : "BA",
    "templateEmphasizeType" : "NONE",
    "templateContent" : "#{이름}님의 주문이 완료되었습니다.",
    "templateAd" : "채널 추가하고 이 채널의 마케팅 메시지 등을 카카오톡으로 받기",
    "templateExtra" : "* 실시간 예약 특성상 중복 예약이 발생할 수 있으며, 입실이 불가할 경우 예약이 취소될 수 있습니다.\\n* 문의전화: 1234-1234",
    "templateTitle" : "123,450원",
    "templateSubtitle" : "승인 내역",
    "templateHeader" : "주문이 체결되었습니다.",
    "templateItem" : {
      "list" : [ {
        "title" : "아이템 타이틀",
        "description" : "아이템 설명"
      } ],
      "summary" : {
        "title" : "요약 타이틀",
        "description" : "요약 설명"
      }
    },
    "templateItemHighlight" : {
      "title" : "하이라이트 타이틀",
      "description" : "하이라이트 설명",
      "attachmentId" : "YaX2DA4Weab2",
      "imageUrl" : "https://example.com/thumbnail.jpg"
    },
    "templateRepresentLink" : {
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android"
    },
    "attachmentId" : "YaX2DA4Weab2",
    "templateImageName" : "image.png",
    "templateImageUrl" : "https://mud-kage.kakao.com/dn/hAtIc/btshc5wAvF0/sA8gjabh4J34IMqCk0hkBK/img_l.jpg",
    "securityFlag" : false,
    "categoryCode" : "999999",
    "buttons" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "버튼 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ],
    "quickReplies" : [ {
      "ordering" : 1,
      "type" : "WL",
      "name" : "바로연결 이름",
      "linkMo" : "https://m.example.com",
      "linkPc" : "https://www.example.com",
      "schemeIos" : "example://ios",
      "schemeAndroid" : "example://android",
      "bizFormId" : 12345
    } ]
  },
  "additionalProperty" : {
    "kakaoTemplateCode" : "kakaoTemplateCode"
  }
}'

알림톡 템플릿 삭제

템플릿을 삭제합니다.

요청

DELETE /template/v1.0/ALIMTALK/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 삭제

DELETE {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X DELETE "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

알림톡 템플릿 문의하기 - Deprecated

!!! danger 더 이상 지원하지 않는 API입니다. * 카카오 알림톡 템플릿 문의하기 를 참고하세요.

알림톡 템플릿을 문의합니다.

요청

POST /template/v1.0/ALIMTALK/templates/{templateId}/inquiries
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

{
  "comment" : "문의 내용 예시"
}
경로 타입 필수 설명
comment String O 문의 내용

응답 본문

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 문의하기 - Deprecated

POST {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}/inquiries
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "comment" : "문의 내용 예시"
}
cURL
curl -X POST "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}/inquiries" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "comment" : "문의 내용 예시"
}'

알림톡 템플릿 문의하기(파일 첨부) - Deprecated

!!! danger 더 이상 지원하지 않는 API입니다. * 카카오 알림톡 템플릿 문의하기 를 참고하세요.

알림톡 템플릿을 문의할 때 파일을 첨부해 문의합니다.

요청

POST /template/v1.0/ALIMTALK/templates/{templateId}/inquiries/do-with-file
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

경로 타입 필수 설명
file Array O 문의 파일
comment String O 문의 내용

응답 본문

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 문의하기(파일 첨부) - Deprecated

POST {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}/inquiries/do-with-file
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
comment=comment_example
file=@/path/to/file.txt
cURL
curl -X POST "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}/inquiries/do-with-file" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-F "comment=comment_example" \
-F "file=@/path/to/file.txt"

알림톡 템플릿 수정 리스트 조회

알림톡 템플릿 수정 리스트를 조회합니다.

요청

GET /template/v1.0/ALIMTALK/templates/{templateId}/modifications
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디
limit Query Number X limit 설정하지 않으면 default 50(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 수정 리스트 조회

GET {{endpoint}}/template/v1.0/ALIMTALK/templates/{{templateId}}/modifications
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/ALIMTALK/templates/${templateId}/modifications" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

알림톡 템플릿 카테고리 리스트 조회

알림톡 템플릿 카테고리 리스트를 조회합니다.

요청

GET /template/v1.0/ALIMTALK/template-categories
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "categories" : [ {
    "name" : "구매",
    "subCategories" : [ {
      "code" : "002001",
      "name" : "구매완료",
      "groupName" : "구매",
      "inclusion" : "주문완료, 구매완료 템플릿이 대상입니다.",
      "exclusion" : "일정관련 되어 예약, 예약번호가 있는 템플릿의 경우 구매완료에서 제외하고 예약으로 분류합니다."
    } ]
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
categories Array O
categories[].name String O 대분류 카테고리 이름
categories[].subCategories Array X 서브 카테고리
categories[].subCategories[].code String O 카테고리 코드
categories[].subCategories[].name String O 중분류 카테고리 이름
categories[].subCategories[].groupName String O 대분류 카테고리 이름
categories[].subCategories[].inclusion String O 카테고리 대상 설명
categories[].subCategories[].exclusion String O 카테고리 제외 설명

요청 예시

IntelliJ HTTP
### 알림톡 템플릿 카테고리 리스트 조회

GET {{endpoint}}/template/v1.0/ALIMTALK/template-categories
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/ALIMTALK/template-categories" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

Email 템플릿 등록

템플릿을 등록합니다.

요청

POST /template/v1.0/EMAIL/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰

요청 본문

{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderMailAddress" : "abcde@nhn.com"
  },
  "content" : {
    "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
categoryId String X 카테고리 아이디
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object O
sender.senderMailAddress String O 발신 메일 주소
content Object O
content.title String X 템플릿 메일 제목
content.body String X 템플릿 메일 본문
content.attachmentIds Array X 템플릿 첨부 파일 ID

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "templateId" : "A9z0A9z0"
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
templateId String O 템플릿 등록 시, 발급된 템플릿 아이디

요청 예시

IntelliJ HTTP
### Email 템플릿 등록

POST {{endpoint}}/template/v1.0/EMAIL/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderMailAddress" : "abcde@nhn.com"
  },
  "content" : {
    "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
  }
}
cURL
curl -X POST "${endpoint}/template/v1.0/EMAIL/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderMailAddress" : "abcde@nhn.com"
  },
  "content" : {
    "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
  }
}'

Email 템플릿 상세 조회

템플릿을 상세 조회합니다.

요청

GET /template/v1.0/EMAIL/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "template" : {
    "templateId" : "A9z0A9z0",
    "templateName" : "템플릿 이름",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "templateLanguage" : "PLAIN_TEXT",
    "sender" : {
      "senderMailAddress" : "abcde@nhn.com"
    },
    "content" : {
      "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
      "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
      "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
    },
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  }
}
경로 타입 Not Null 설명
header Object X
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
template Object X
template.templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
template.templateName String X 템플릿 이름
template.categoryId String X 카테고리 아이디
template.messageChannel String X 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
template.messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
template.messagePurposes Array X
template.templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
template.sender Object X
template.sender.senderMailAddress String O 발신 메일 주소
template.content Object X
template.content.title String X 템플릿 메일 제목
template.content.body String X 템플릿 메일 본문
template.content.attachmentIds Array X 템플릿 첨부 파일 ID
template.createdDateTime String X 템플릿 생성 시각
template.updatedDateTime String X 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### Email 템플릿 상세 조회

GET {{endpoint}}/template/v1.0/EMAIL/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/EMAIL/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

Email 템플릿 리스트 조회

템플릿 리스트를 조회합니다.

요청

GET /template/v1.0/EMAIL/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateName Query String X 템플릿 이름(LIKE 검색)
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "templateId" : "A9z0A9z0",
    "templateName" : "배송 완료",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
templates[].templateName String O 템플릿명
templates[].categoryId String O 카테고리 아이디
templates[].messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
templates[].messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templates[].messagePurposes Array O
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### Email 템플릿 리스트 조회

GET {{endpoint}}/template/v1.0/EMAIL/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/EMAIL/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

Email 템플릿 수정

템플릿을 수정합니다.

요청

PUT /template/v1.0/EMAIL/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderMailAddress" : "abcde@nhn.com"
  },
  "content" : {
    "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object O
sender.senderMailAddress String O 발신 메일 주소
content Object O
content.title String X 템플릿 메일 제목
content.body String X 템플릿 메일 본문
content.attachmentIds Array X 템플릿 첨부 파일 ID

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### Email 템플릿 수정

PUT {{endpoint}}/template/v1.0/EMAIL/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderMailAddress" : "abcde@nhn.com"
  },
  "content" : {
    "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
  }
}
cURL
curl -X PUT "${endpoint}/template/v1.0/EMAIL/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "senderMailAddress" : "abcde@nhn.com"
  },
  "content" : {
    "title" : "[NHN Cloud Email][##env##] 모니터링 알림",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다.",
    "attachmentIds" : [ "YaX2DA4Weab2", "YaX2DA4Weab1" ]
  }
}'

Email 템플릿 삭제

템플릿을 삭제합니다.

요청

DELETE /template/v1.0/EMAIL/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### Email 템플릿 삭제

DELETE {{endpoint}}/template/v1.0/EMAIL/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X DELETE "${endpoint}/template/v1.0/EMAIL/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

RCS 템플릿 등록

템플릿을 등록합니다.

요청

POST /template/v1.0/RCS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰

요청 본문

{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "brandId" : "AR.lj0eOjEI7Y",
    "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "smsType" : "STANDALONE",
    "lmsType" : "HORIZONTAL",
    "mmsType" : "HORIZONTAL",
    "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
    "unsubscribePhoneNumber" : "08012341234",
    "cards" : [ {
      "title" : "제목",
      "description" : "본문",
      "attachmentId" : "20240814125609swLmoZTsGr0",
      "mTitle" : "메인 타이틀",
      "mTitleMedia" : "LT-messagebase.common-2k8ydI",
      "title1" : "제목 1",
      "title2" : "제목 2",
      "title3" : "제목 3",
      "description1" : "본문 1",
      "description2" : "본문 2",
      "description3" : "본문 3",
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    } ],
    "buttons" : [ {
      "buttonType" : "CALENDAR",
      "buttonJson" : {
        "action" : {
          "displayText" : "일정 등록하기",
          "calendarAction" : {
            "createCalendarEvent" : {
              "startTime" : "2024-01-01T00:00:00.000+09:00",
              "endTime" : "2024-01-01T00:00:00.000+09:00",
              "title" : "일정 제목",
              "description" : "일정 설명"
            }
          }
        }
      }
    } ]
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
categoryId String X 카테고리 아이디
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object O
sender.brandId String O 브랜드 아이디
sender.chatbotId String O 대화방(챗봇) 아이디
content Object O
content.messageType String X RCS 발송 메시지 유형
[SMS(단문 메시지), LMS(장문 메시지), MMS(멀티미디어 메시지), RBC_TEMPLATE(RCS Biz Center 템플릿)]
content.title String X (Deprecated, content.cards[].title 사용) 메시지 제목
content.body String X (Deprecated, content.cards[].description 사용) 메시지 본문
content.smsType String X SMS 타입
[STANDALONE(독립형), UNIFIED_STANDALONE(통합 독립형)]
content.lmsType String X LMS 타입
[STANDALONE(독립형), FORMAT_BASIC(기본 형식), FORMAT_TITLE_HIGHLIGHT(제목 강조 형식), FORMAT_PARAGRAPH(문단 형식), UNIFIED_STANDALONE(통합 독립형)]
content.mmsType String X MMS 타입(MMS 발송일 경우 필수)
[HORIZONTAL(가로형), VERTICAL(세로형), CAROUSEL_MEDIUM(캐러셀 중간형), CAROUSEL_SMALL(캐러셀 소형), UNIFIED_HORIZONTAL(통합 가로형), UNIFIED_VERTICAL(통합 세로형)]
content.messagebaseId String X RCS Biz Center 템플릿 아이디
content.unsubscribePhoneNumber String X 수신 거부 번호(광고 발송일 경우 필수)
content.cards Array X RCS 카드
content.cards[].title String X 제목
content.cards[].description String X 본문
content.cards[].attachmentId String X 첨부 파일 아이디
※ 통합 MMS 카드에서 GIF 이미지를 첨부하면 iOS 기기에서는 수신이 불가능합니다.
content.cards[].mTitle String X 메인 타이틀
content.cards[].mTitleMedia String X 메인 타이틀 로고 파일 ID
content.cards[].title1 String X 제목 1
content.cards[].title2 String X 제목 2
content.cards[].title3 String X 제목 3
content.cards[].description1 String X 본문 1
content.cards[].description2 String X 본문 2
content.cards[].description3 String X 본문 3
content.cards[].buttons Array X RCS 버튼 리스트
content.cards[].buttons[].buttonType String X COMPOSE(대화방 열기), CLIPBOARD(복사하기), DIALER(전화 걸기), MAP_SHOW(지도 보여주기), MAP_QUERY(지도 검색하기), MAP_SHARE(현재 위치 공유하기), URL(URL 연결하기), CALENDAR(일정 등록하기)
※ 통합 메시지 유형에 CLIPBOARD(복사하기) 버튼을 사용하면 iOS 기기에서는 수신이 불가능합니다.

[COMPOSE, CLIPBOARD, DIALER, MAP_SHOW, MAP_QUERY, MAP_SHARE, URL, CALENDAR]
content.cards[].buttons[].buttonJson Object X
content.cards[].buttons[].buttonJson.action Object X 버튼 액션
content.buttons Array X (Deprecated, content.cards[].buttons 사용) RCS 버튼 리스트
content.buttons[].buttonType String X COMPOSE(대화방 열기), CLIPBOARD(복사하기), DIALER(전화 걸기), MAP_SHOW(지도 보여주기), MAP_QUERY(지도 검색하기), MAP_SHARE(현재 위치 공유하기), URL(URL 연결하기), CALENDAR(일정 등록하기)
※ 통합 메시지 유형에 CLIPBOARD(복사하기) 버튼을 사용하면 iOS 기기에서는 수신이 불가능합니다.

[COMPOSE, CLIPBOARD, DIALER, MAP_SHOW, MAP_QUERY, MAP_SHARE, URL, CALENDAR]
content.buttons[].buttonJson Object X
content.buttons[].buttonJson.action Object X 버튼 액션

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "templateId" : "A9z0A9z0"
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
templateId String O 템플릿 등록 시, 발급된 템플릿 아이디

요청 예시

IntelliJ HTTP
### RCS 템플릿 등록

POST {{endpoint}}/template/v1.0/RCS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "brandId" : "AR.lj0eOjEI7Y",
    "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "smsType" : "STANDALONE",
    "lmsType" : "HORIZONTAL",
    "mmsType" : "HORIZONTAL",
    "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
    "unsubscribePhoneNumber" : "08012341234",
    "cards" : [ {
      "title" : "제목",
      "description" : "본문",
      "attachmentId" : "20240814125609swLmoZTsGr0",
      "mTitle" : "메인 타이틀",
      "mTitleMedia" : "LT-messagebase.common-2k8ydI",
      "title1" : "제목 1",
      "title2" : "제목 2",
      "title3" : "제목 3",
      "description1" : "본문 1",
      "description2" : "본문 2",
      "description3" : "본문 3",
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    } ],
    "buttons" : [ {
      "buttonType" : "CALENDAR",
      "buttonJson" : {
        "action" : {
          "displayText" : "일정 등록하기",
          "calendarAction" : {
            "createCalendarEvent" : {
              "startTime" : "2024-01-01T00:00:00.000+09:00",
              "endTime" : "2024-01-01T00:00:00.000+09:00",
              "title" : "일정 제목",
              "description" : "일정 설명"
            }
          }
        }
      }
    } ]
  }
}
cURL
curl -X POST "${endpoint}/template/v1.0/RCS/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "brandId" : "AR.lj0eOjEI7Y",
    "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "smsType" : "STANDALONE",
    "lmsType" : "HORIZONTAL",
    "mmsType" : "HORIZONTAL",
    "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
    "unsubscribePhoneNumber" : "08012341234",
    "cards" : [ {
      "title" : "제목",
      "description" : "본문",
      "attachmentId" : "20240814125609swLmoZTsGr0",
      "mTitle" : "메인 타이틀",
      "mTitleMedia" : "LT-messagebase.common-2k8ydI",
      "title1" : "제목 1",
      "title2" : "제목 2",
      "title3" : "제목 3",
      "description1" : "본문 1",
      "description2" : "본문 2",
      "description3" : "본문 3",
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    } ],
    "buttons" : [ {
      "buttonType" : "CALENDAR",
      "buttonJson" : {
        "action" : {
          "displayText" : "일정 등록하기",
          "calendarAction" : {
            "createCalendarEvent" : {
              "startTime" : "2024-01-01T00:00:00.000+09:00",
              "endTime" : "2024-01-01T00:00:00.000+09:00",
              "title" : "일정 제목",
              "description" : "일정 설명"
            }
          }
        }
      }
    } ]
  }
}'

RCS 템플릿 리스트 조회

템플릿 리스트를 조회합니다.

요청

GET /template/v1.0/RCS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateName Query String X 템플릿 이름(LIKE 검색)
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "templateId" : "A9z0A9z0",
    "templateName" : "배송 완료",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
templates[].templateName String O 템플릿명
templates[].categoryId String O 카테고리 아이디
templates[].messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
templates[].messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templates[].messagePurposes Array O
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### RCS 템플릿 리스트 조회

GET {{endpoint}}/template/v1.0/RCS/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/RCS/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

RCS 템플릿 상세 조회

템플릿을 상세 조회합니다.

요청

GET /template/v1.0/RCS/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "template" : {
    "templateId" : "A9z0A9z0",
    "templateName" : "템플릿 이름",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "templateLanguage" : "PLAIN_TEXT",
    "sender" : {
      "brandId" : "AR.lj0eOjEI7Y",
      "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
    },
    "content" : {
      "messageType" : "SMS",
      "title" : "명절 운영시간 공지",
      "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
      "smsType" : "STANDALONE",
      "lmsType" : "HORIZONTAL",
      "mmsType" : "HORIZONTAL",
      "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
      "messagebaseformId" : "SS000000",
      "unsubscribePhoneNumber" : "08012341234",
      "cards" : [ {
        "title" : "제목",
        "description" : "본문",
        "attachmentId" : "20240814125609swLmoZTsGr0",
        "mTitle" : "메인 타이틀",
        "mTitleMedia" : "LT-messagebase.common-2k8ydI",
        "title1" : "제목 1",
        "title2" : "제목 2",
        "title3" : "제목 3",
        "description1" : "본문 1",
        "description2" : "본문 2",
        "description3" : "본문 3",
        "buttons" : [ {
          "buttonType" : "CALENDAR",
          "buttonJson" : {
            "action" : {
              "displayText" : "일정 등록하기",
              "calendarAction" : {
                "createCalendarEvent" : {
                  "startTime" : "2024-01-01T00:00:00.000+09:00",
                  "endTime" : "2024-01-01T00:00:00.000+09:00",
                  "title" : "일정 제목",
                  "description" : "일정 설명"
                }
              }
            }
          }
        } ]
      } ],
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    },
    "additionalProperty" : {
      "status" : "SUCCESS",
      "approvedDateTime" : "2024-10-29T06:00:01.000+09:00"
    },
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  }
}
경로 타입 Not Null 설명
header Object X
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
template Object X
template.templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
template.templateName String X 템플릿 이름
template.categoryId String X 카테고리 아이디
template.messageChannel String X 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
template.messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
template.messagePurposes Array X
template.templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
template.sender Object X
template.sender.brandId String O 브랜드 아이디
template.sender.chatbotId String O 대화방(챗봇) 아이디
template.content Object X
template.content.messageType String X RCS 발송 메시지 유형
[SMS(단문 메시지), LMS(장문 메시지), MMS(멀티미디어 메시지), RBC_TEMPLATE(RCS Biz Center 템플릿)]
template.content.title String X 메시지 제목
template.content.body String X 메시지 본문
template.content.smsType String X SMS 타입
[STANDALONE(독립형), UNIFIED_STANDALONE(통합 독립형)]
template.content.lmsType String X LMS 타입
[STANDALONE(독립형), FORMAT_BASIC(기본 형식), FORMAT_TITLE_HIGHLIGHT(제목 강조 형식), FORMAT_PARAGRAPH(문단 형식), UNIFIED_STANDALONE(통합 독립형)]
template.content.mmsType String X MMS 타입(MMS 발송일 경우 필수)
[HORIZONTAL(가로형), VERTICAL(세로형), CAROUSEL_MEDIUM(캐러셀 중간형), CAROUSEL_SMALL(캐러셀 소형), UNIFIED_HORIZONTAL(통합 가로형), UNIFIED_VERTICAL(통합 세로형)]
template.content.messagebaseId String X RCS Biz Center 템플릿 아이디
template.content.messagebaseformId String X RCS Biz Center 에서 지정한 messageBase 양식
- SS000000(SMS 기본형)
- SL000000(LMS 기본형)
- OL00000001(LMS Format 기본형)
- OL00000002(LMS Format 타이틀 강조형)
- OL00000003(LMS Format 문단형)
- SMwThT00(MMS 세로형)
- SMwThM00(MMS 가로형)
- CMwMhM0200(MMS 슬라이드 중간형(2))
- CMwMhM0300(MMS 슬라이드 중간형(3))
- CMwMhM0400(MMS 슬라이드 중간형(4))
- CMwMhM0500(MMS 슬라이드 중간형(5))
- CMwMhM0600(MMS 슬라이드 중간형(6))
- CMwShS0200(MMS 슬라이드 작은형(2))
- CMwShS0300(MMS 슬라이드 작은형(3))
- CMwShS0400(MMS 슬라이드 작은형(4))
- CMwShS0500(MMS 슬라이드 작은형(5))
- CMwShS0600(MMS 슬라이드 작은형(6))
- CLI00001(아이템 상세형)
- CLI00002(이미지 강조형 (1:1))
- CLI00003(이미지 강조형 (3:4))
- CLI00004(이미지 & 타이틀 강조형 (1:1))
- CLI00005(이미지 & 타이틀 강조형 (3:4))
- CLI00006(썸네일형 (가로))
- CLI00007(썸네일형 (세로))
- CLI00008(SNS형 (하단버튼))
- CLI00009(SNS형 (중간버튼))
- ITTBNV(썸네일형(세로))
- ITTBNH(썸네일형(가로))
- ITHIMS(이미지 강조형(1:1))
- ITHIMV(이미지 강조형(3:4))
- ITSNSS(SNS형)
- ITSNSH(SNS형(중간버튼))
- ITHITS(이미지 & 타이틀 강조형(1:1))
- ITHITV(이미지 & 타이틀 강조형(3:4))
- ITCRM2(슬라이드 형(2))
- ITCRM3(슬라이드 형(3))
- ITCRM4(슬라이드 형(4))
- ITCRM5(슬라이드 형(5))
- ITCRM6(슬라이드 형(6))
- CLT00001(아이템 강조형 DESC)
- CLT00002(아이템 강조형 TABLE)
- TATA001F(타이틀 자유형 FREE)
- TATA001C(타이틀 자유형 CELL)
- TATA001D(타이틀 자유형 DESC)
- GG000F(타이틀 선택형 FREE)
- FF005C(명세서 CELL)
- FF005D(명세서 DESC)
- FF004C(취소 CELL)
- FF004D(취소 DESC)
- GG003C(안내 CELL)
- GG003D(안내 DESC)
- GG002C(인증 CELL)
- GG002D(인증 DESC)
- GG001C(회원 가입 CELL)
- GG001D(회원 가입 DESC)
- EE001C(예약 CELL)
- EE001D(예약 DESC)
- CC003C(배송 CELL)
- CC003D(배송 DESC)
- FF002C(입금 CELL)
- FF002D(입금 DESC)
- FF001C(승인 CELL)
- FF001D(승인 DESC)
- CC002C(주문 CELL)
- CC002D(주문 DESC)
- CC001C(출고 CELL)
- CC001D(출고 DESC)
- FF003C(출금 CELL)
- FF003D(출금 DESC)
- CLL00001(LMS 명세서 A)
- CLL00002(LMS 문단형)
- CLL00003(LMS 타이들 강조형)
- CLL00004(LMS 기본형)
- CLL00005(LMS 명세서 B)
- CLL00006(LMS 명세서 C)
- RPSSAXX001(통합 SMS 카드)
- RPLSAXX001(통합 LMS 카드)
- RPMSMMX001(통합 MMS 카드 M)
- RPMSMTX001(통합 MMS 카드 T)
- RPISMMX001(통합 이미지 템플릿 M)
- RPISMTX001(통합 이미지 템플릿 T)
- RPTDXXX001(통합 정보성 템플릿)
- RPTFXXX001(통합 프리 템플릿)

[SS000000, SL000000, OL00000001, OL00000002, OL00000003, SMwThT00, SMwThM00, CMwMhM0200, CMwMhM0300, CMwMhM0400, CMwMhM0500, CMwMhM0600, CMwShS0200, CMwShS0300, CMwShS0400, CMwShS0500, CMwShS0600, CLI00001, CLI00002, CLI00003, CLI00004, CLI00005, CLI00006, CLI00007, CLI00008, CLI00009, ITTBNV, ITTBNH, ITHIMS, ITHIMV, ITSNSS, ITSNSH, ITHITS, ITHITV, ITCRM2, ITCRM3, ITCRM4, ITCRM5, ITCRM6, CLT00001, CLT00002, TATA001C, TATA001D, TATA001F, FF005C, FF005D, FF004C, FF004D, GG003C, GG003D, GG002C, GG002D, GG001C, GG001D, GG000F, EE001C, EE001D, CC003C, CC003D, FF002C, FF002D, FF001C, FF001D, CC002C, CC002D, CC001C, CC001D, FF003C, FF003D, CLL00001, CLL00002, CLL00003, CLL00004, CLL00005, CLL00006, RPSSAXX001, RPLSAXX001, RPMSMMX001, RPMSMTX001, RPISMMX001, RPISMTX001, RPTDXXX001, RPTFXXX001]
template.content.unsubscribePhoneNumber String X 수신 거부 번호(광고 발송일 경우 필수)
template.content.cards Array X RCS 카드
template.content.cards[].title String X 제목
template.content.cards[].description String X 본문
template.content.cards[].attachmentId String X 첨부 파일 아이디
※ 통합 MMS 카드에서 GIF 이미지를 첨부하면 iOS 기기에서는 수신이 불가능합니다.
template.content.cards[].mTitle String X 메인 타이틀
template.content.cards[].mTitleMedia String X 메인 타이틀 로고 파일 ID
template.content.cards[].title1 String X 제목 1
template.content.cards[].title2 String X 제목 2
template.content.cards[].title3 String X 제목 3
template.content.cards[].description1 String X 본문 1
template.content.cards[].description2 String X 본문 2
template.content.cards[].description3 String X 본문 3
template.content.cards[].buttons Array X RCS 버튼 리스트
template.content.cards[].buttons[].buttonType String X COMPOSE(대화방 열기), CLIPBOARD(복사하기), DIALER(전화 걸기), MAP_SHOW(지도 보여주기), MAP_QUERY(지도 검색하기), MAP_SHARE(현재 위치 공유하기), URL(URL 연결하기), CALENDAR(일정 등록하기)
※ 통합 메시지 유형에 CLIPBOARD(복사하기) 버튼을 사용하면 iOS 기기에서는 수신이 불가능합니다.

[COMPOSE, CLIPBOARD, DIALER, MAP_SHOW, MAP_QUERY, MAP_SHARE, URL, CALENDAR]
template.content.cards[].buttons[].buttonJson Object X
template.content.cards[].buttons[].buttonJson.action Object X 버튼 액션
template.content.buttons Array X RCS 버튼 리스트
template.content.buttons[].buttonType String X COMPOSE(대화방 열기), CLIPBOARD(복사하기), DIALER(전화 걸기), MAP_SHOW(지도 보여주기), MAP_QUERY(지도 검색하기), MAP_SHARE(현재 위치 공유하기), URL(URL 연결하기), CALENDAR(일정 등록하기)
※ 통합 메시지 유형에 CLIPBOARD(복사하기) 버튼을 사용하면 iOS 기기에서는 수신이 불가능합니다.

[COMPOSE, CLIPBOARD, DIALER, MAP_SHOW, MAP_QUERY, MAP_SHARE, URL, CALENDAR]
template.content.buttons[].buttonJson Object X
template.content.buttons[].buttonJson.action Object X 버튼 액션
template.additionalProperty Object X
template.additionalProperty.status String X 템플릿 상태
- SAVE: 저장
- APPROVE_WAIT: 승인 대기
- INSPECTION_START: 검수 시작
- INSPECTION_FINISH: 검수 완료
- APPROVE: 승인
- REJECT: 거부
- MODIFY_APPROVE_WAIT: 수정 승인 대기
- MODIFY_INSPECTION_START: 수정 검수 시작
- MODIFY_INSPECTION_FINISH: 수정 검수 완료
- MODIFY_REJECT: 수정 거부

[SAVE, APPROVE_WAIT, INSPECTION_START, INSPECTION_FINISH, APPROVE, REJECT, MODIFY_APPROVE_WAIT, MODIFY_INSPECTION_START, MODIFY_INSPECTION_FINISH, MODIFY_REJECT]
template.additionalProperty.approvedDateTime String X 템플릿 승인 시각
template.createdDateTime String X 템플릿 생성 시각
template.updatedDateTime String X 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### RCS 템플릿 상세 조회

GET {{endpoint}}/template/v1.0/RCS/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/RCS/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

RCS 템플릿 수정

템플릿을 수정합니다.

요청

PUT /template/v1.0/RCS/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "brandId" : "AR.lj0eOjEI7Y",
    "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "smsType" : "STANDALONE",
    "lmsType" : "HORIZONTAL",
    "mmsType" : "HORIZONTAL",
    "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
    "unsubscribePhoneNumber" : "08012341234",
    "cards" : [ {
      "title" : "제목",
      "description" : "본문",
      "attachmentId" : "20240814125609swLmoZTsGr0",
      "mTitle" : "메인 타이틀",
      "mTitleMedia" : "LT-messagebase.common-2k8ydI",
      "title1" : "제목 1",
      "title2" : "제목 2",
      "title3" : "제목 3",
      "description1" : "본문 1",
      "description2" : "본문 2",
      "description3" : "본문 3",
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    } ],
    "buttons" : [ {
      "buttonType" : "CALENDAR",
      "buttonJson" : {
        "action" : {
          "displayText" : "일정 등록하기",
          "calendarAction" : {
            "createCalendarEvent" : {
              "startTime" : "2024-01-01T00:00:00.000+09:00",
              "endTime" : "2024-01-01T00:00:00.000+09:00",
              "title" : "일정 제목",
              "description" : "일정 설명"
            }
          }
        }
      }
    } ]
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
sender Object X
sender.brandId String O 브랜드 아이디
sender.chatbotId String O 대화방(챗봇) 아이디
content Object O
content.messageType String X RCS 발송 메시지 유형
[SMS(단문 메시지), LMS(장문 메시지), MMS(멀티미디어 메시지), RBC_TEMPLATE(RCS Biz Center 템플릿)]
content.title String X (Deprecated, content.cards[].title 사용) 메시지 제목
content.body String X (Deprecated, content.cards[].description 사용) 메시지 본문
content.smsType String X SMS 타입
[STANDALONE(독립형), UNIFIED_STANDALONE(통합 독립형)]
content.lmsType String X LMS 타입
[STANDALONE(독립형), FORMAT_BASIC(기본 형식), FORMAT_TITLE_HIGHLIGHT(제목 강조 형식), FORMAT_PARAGRAPH(문단 형식), UNIFIED_STANDALONE(통합 독립형)]
content.mmsType String X MMS 타입(MMS 발송일 경우 필수)
[HORIZONTAL(가로형), VERTICAL(세로형), CAROUSEL_MEDIUM(캐러셀 중간형), CAROUSEL_SMALL(캐러셀 소형), UNIFIED_HORIZONTAL(통합 가로형), UNIFIED_VERTICAL(통합 세로형)]
content.messagebaseId String X RCS Biz Center 템플릿 아이디
content.unsubscribePhoneNumber String X 수신 거부 번호(광고 발송일 경우 필수)
content.cards Array X RCS 카드
content.cards[].title String X 제목
content.cards[].description String X 본문
content.cards[].attachmentId String X 첨부 파일 아이디
※ 통합 MMS 카드에서 GIF 이미지를 첨부하면 iOS 기기에서는 수신이 불가능합니다.
content.cards[].mTitle String X 메인 타이틀
content.cards[].mTitleMedia String X 메인 타이틀 로고 파일 ID
content.cards[].title1 String X 제목 1
content.cards[].title2 String X 제목 2
content.cards[].title3 String X 제목 3
content.cards[].description1 String X 본문 1
content.cards[].description2 String X 본문 2
content.cards[].description3 String X 본문 3
content.cards[].buttons Array X RCS 버튼 리스트
content.cards[].buttons[].buttonType String X COMPOSE(대화방 열기), CLIPBOARD(복사하기), DIALER(전화 걸기), MAP_SHOW(지도 보여주기), MAP_QUERY(지도 검색하기), MAP_SHARE(현재 위치 공유하기), URL(URL 연결하기), CALENDAR(일정 등록하기)
※ 통합 메시지 유형에 CLIPBOARD(복사하기) 버튼을 사용하면 iOS 기기에서는 수신이 불가능합니다.

[COMPOSE, CLIPBOARD, DIALER, MAP_SHOW, MAP_QUERY, MAP_SHARE, URL, CALENDAR]
content.cards[].buttons[].buttonJson Object X
content.cards[].buttons[].buttonJson.action Object X 버튼 액션
content.buttons Array X (Deprecated, content.cards[].buttons 사용) RCS 버튼 리스트
content.buttons[].buttonType String X COMPOSE(대화방 열기), CLIPBOARD(복사하기), DIALER(전화 걸기), MAP_SHOW(지도 보여주기), MAP_QUERY(지도 검색하기), MAP_SHARE(현재 위치 공유하기), URL(URL 연결하기), CALENDAR(일정 등록하기)
※ 통합 메시지 유형에 CLIPBOARD(복사하기) 버튼을 사용하면 iOS 기기에서는 수신이 불가능합니다.

[COMPOSE, CLIPBOARD, DIALER, MAP_SHOW, MAP_QUERY, MAP_SHARE, URL, CALENDAR]
content.buttons[].buttonJson Object X
content.buttons[].buttonJson.action Object X 버튼 액션

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### RCS 템플릿 수정

PUT {{endpoint}}/template/v1.0/RCS/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "brandId" : "AR.lj0eOjEI7Y",
    "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "smsType" : "STANDALONE",
    "lmsType" : "HORIZONTAL",
    "mmsType" : "HORIZONTAL",
    "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
    "unsubscribePhoneNumber" : "08012341234",
    "cards" : [ {
      "title" : "제목",
      "description" : "본문",
      "attachmentId" : "20240814125609swLmoZTsGr0",
      "mTitle" : "메인 타이틀",
      "mTitleMedia" : "LT-messagebase.common-2k8ydI",
      "title1" : "제목 1",
      "title2" : "제목 2",
      "title3" : "제목 3",
      "description1" : "본문 1",
      "description2" : "본문 2",
      "description3" : "본문 3",
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    } ],
    "buttons" : [ {
      "buttonType" : "CALENDAR",
      "buttonJson" : {
        "action" : {
          "displayText" : "일정 등록하기",
          "calendarAction" : {
            "createCalendarEvent" : {
              "startTime" : "2024-01-01T00:00:00.000+09:00",
              "endTime" : "2024-01-01T00:00:00.000+09:00",
              "title" : "일정 제목",
              "description" : "일정 설명"
            }
          }
        }
      }
    } ]
  }
}
cURL
curl -X PUT "${endpoint}/template/v1.0/RCS/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "sender" : {
    "brandId" : "AR.lj0eOjEI7Y",
    "chatbotId" : "44o4SUjpqnjDuUcH+uHvPg=="
  },
  "content" : {
    "messageType" : "SMS",
    "title" : "명절 운영시간 공지",
    "body" : "안녕하세요. 금일 고객님 상품 입고되었습니다. 방문해 주세요.",
    "smsType" : "STANDALONE",
    "lmsType" : "HORIZONTAL",
    "mmsType" : "HORIZONTAL",
    "messagebaseId" : "44o4SUjpqnjDuUcH+uHvPg==",
    "unsubscribePhoneNumber" : "08012341234",
    "cards" : [ {
      "title" : "제목",
      "description" : "본문",
      "attachmentId" : "20240814125609swLmoZTsGr0",
      "mTitle" : "메인 타이틀",
      "mTitleMedia" : "LT-messagebase.common-2k8ydI",
      "title1" : "제목 1",
      "title2" : "제목 2",
      "title3" : "제목 3",
      "description1" : "본문 1",
      "description2" : "본문 2",
      "description3" : "본문 3",
      "buttons" : [ {
        "buttonType" : "CALENDAR",
        "buttonJson" : {
          "action" : {
            "displayText" : "일정 등록하기",
            "calendarAction" : {
              "createCalendarEvent" : {
                "startTime" : "2024-01-01T00:00:00.000+09:00",
                "endTime" : "2024-01-01T00:00:00.000+09:00",
                "title" : "일정 제목",
                "description" : "일정 설명"
              }
            }
          }
        }
      } ]
    } ],
    "buttons" : [ {
      "buttonType" : "CALENDAR",
      "buttonJson" : {
        "action" : {
          "displayText" : "일정 등록하기",
          "calendarAction" : {
            "createCalendarEvent" : {
              "startTime" : "2024-01-01T00:00:00.000+09:00",
              "endTime" : "2024-01-01T00:00:00.000+09:00",
              "title" : "일정 제목",
              "description" : "일정 설명"
            }
          }
        }
      }
    } ]
  }
}'

RCS 템플릿 삭제

템플릿을 삭제합니다.

요청

DELETE /template/v1.0/RCS/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### RCS 템플릿 삭제

DELETE {{endpoint}}/template/v1.0/RCS/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X DELETE "${endpoint}/template/v1.0/RCS/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

Push 템플릿 등록

템플릿을 등록합니다.

요청

POST /template/v1.0/PUSH/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰

요청 본문

{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "content" : {
    "unsubscribePhoneNumber" : "대표 번호",
    "unsubscribeGuide" : "메뉴 > 설정",
    "title" : "제목",
    "body" : "내용",
    "richMessage" : {
      "buttons" : [ {
        "name" : "버튼 이름",
        "submitName" : "전송 버튼 이름",
        "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
        "link" : "버튼을 눌렀을 때, 연결되는 링크",
        "hint" : "버튼에 대한 힌트"
      } ],
      "media" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "androidMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "iosMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "largeIcon" : {
        "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
      },
      "group" : {
        "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
        "description" : "그룹에 대한 설명"
      }
    },
    "style" : {
      "useHtmlStyle" : true
    },
    "customKey" : "customValue"
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
categoryId String X 카테고리 아이디
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
content Object O 푸시 메시지 내용

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "templateId" : "A9z0A9z0"
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
templateId String O 템플릿 등록 시, 발급된 템플릿 아이디

요청 예시

IntelliJ HTTP
### Push 템플릿 등록

POST {{endpoint}}/template/v1.0/PUSH/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "content" : {
    "unsubscribePhoneNumber" : "대표 번호",
    "unsubscribeGuide" : "메뉴 > 설정",
    "title" : "제목",
    "body" : "내용",
    "richMessage" : {
      "buttons" : [ {
        "name" : "버튼 이름",
        "submitName" : "전송 버튼 이름",
        "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
        "link" : "버튼을 눌렀을 때, 연결되는 링크",
        "hint" : "버튼에 대한 힌트"
      } ],
      "media" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "androidMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "iosMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "largeIcon" : {
        "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
      },
      "group" : {
        "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
        "description" : "그룹에 대한 설명"
      }
    },
    "style" : {
      "useHtmlStyle" : true
    },
    "customKey" : "customValue"
  }
}
cURL
curl -X POST "${endpoint}/template/v1.0/PUSH/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "categoryId" : "20230131070811m2fDe1rXx80",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "content" : {
    "unsubscribePhoneNumber" : "대표 번호",
    "unsubscribeGuide" : "메뉴 > 설정",
    "title" : "제목",
    "body" : "내용",
    "richMessage" : {
      "buttons" : [ {
        "name" : "버튼 이름",
        "submitName" : "전송 버튼 이름",
        "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
        "link" : "버튼을 눌렀을 때, 연결되는 링크",
        "hint" : "버튼에 대한 힌트"
      } ],
      "media" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "androidMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "iosMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "largeIcon" : {
        "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
      },
      "group" : {
        "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
        "description" : "그룹에 대한 설명"
      }
    },
    "style" : {
      "useHtmlStyle" : true
    },
    "customKey" : "customValue"
  }
}'

Push 템플릿 리스트 조회

템플릿 리스트를 조회합니다.

요청

GET /template/v1.0/PUSH/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateName Query String X 템플릿 이름(LIKE 검색)
limit Query Number X limit 설정하지 않으면 default 20(최대 1000)
offset Query Number X offset 설정하지 않으면 default 0

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "totalCount" : 1,
  "templates" : [ {
    "templateId" : "A9z0A9z0",
    "templateName" : "배송 완료",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  } ]
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
totalCount Integer O 총 건수
templates Array O
templates[].templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
templates[].templateName String O 템플릿명
templates[].categoryId String O 카테고리 아이디
templates[].messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
templates[].messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templates[].messagePurposes Array O
templates[].createdDateTime String O 템플릿 생성 시각
templates[].updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### Push 템플릿 리스트 조회

GET {{endpoint}}/template/v1.0/PUSH/templates
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/PUSH/templates" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

Push 템플릿 상세 조회

템플릿을 상세 조회합니다.

요청

GET /template/v1.0/PUSH/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "template" : {
    "templateId" : "A9z0A9z0",
    "templateName" : "템플릿 이름",
    "categoryId" : "20230131070811m2fDe1rXx80",
    "messageChannel" : "SMS",
    "messagePurpose" : "NORMAL",
    "messagePurposes" : [ "NORMAL" ],
    "templateLanguage" : "PLAIN_TEXT",
    "content" : {
      "unsubscribePhoneNumber" : "대표 번호",
      "unsubscribeGuide" : "메뉴 > 설정",
      "title" : "제목",
      "body" : "내용",
      "richMessage" : {
        "buttons" : [ {
          "name" : "버튼 이름",
          "submitName" : "전송 버튼 이름",
          "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
          "link" : "버튼을 눌렀을 때, 연결되는 링크",
          "hint" : "버튼에 대한 힌트"
        } ],
        "media" : {
          "sourceType" : "미디어의 위치, REMOTE, LOCAL",
          "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
          "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
          "extension" : "미디어 파일의 확장자, jpg, png",
          "expandable" : true
        },
        "androidMedia" : {
          "sourceType" : "미디어의 위치, REMOTE, LOCAL",
          "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
          "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
          "extension" : "미디어 파일의 확장자, jpg, png",
          "expandable" : true
        },
        "iosMedia" : {
          "sourceType" : "미디어의 위치, REMOTE, LOCAL",
          "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
          "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
          "extension" : "미디어 파일의 확장자, jpg, png",
          "expandable" : true
        },
        "largeIcon" : {
          "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
          "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
        },
        "group" : {
          "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
          "description" : "그룹에 대한 설명"
        }
      },
      "style" : {
        "useHtmlStyle" : true
      },
      "customKey" : "customValue"
    },
    "createdDateTime" : "2024-10-29T06:00:01.000+09:00",
    "updatedDateTime" : "2024-10-29T06:00:01.000+09:00"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
template Object O
template.templateId String O 템플릿 등록 시, 발급된 템플릿 아이디
template.templateName String O 템플릿 이름
template.categoryId String O 카테고리 아이디
template.messageChannel String O 메시지 채널
[SMS(SMS), ALIMTALK(알림톡), EMAIL(이메일), RCS(RCS), PUSH(푸시)]
template.messagePurpose String O 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
template.messagePurposes Array O
template.templateLanguage String O 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
template.content Object O 푸시 메시지 내용
template.createdDateTime String O 템플릿 생성 시각
template.updatedDateTime String O 템플릿 수정된 시각

요청 예시

IntelliJ HTTP
### Push 템플릿 상세 조회

GET {{endpoint}}/template/v1.0/PUSH/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/PUSH/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

Push 템플릿 수정

템플릿을 수정합니다.

요청

PUT /template/v1.0/PUSH/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "content" : {
    "unsubscribePhoneNumber" : "대표 번호",
    "unsubscribeGuide" : "메뉴 > 설정",
    "title" : "제목",
    "body" : "내용",
    "richMessage" : {
      "buttons" : [ {
        "name" : "버튼 이름",
        "submitName" : "전송 버튼 이름",
        "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
        "link" : "버튼을 눌렀을 때, 연결되는 링크",
        "hint" : "버튼에 대한 힌트"
      } ],
      "media" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "androidMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "iosMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "largeIcon" : {
        "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
      },
      "group" : {
        "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
        "description" : "그룹에 대한 설명"
      }
    },
    "style" : {
      "useHtmlStyle" : true
    },
    "customKey" : "customValue"
  }
}
경로 타입 필수 설명
templateName String O 템플릿 이름
messagePurpose String X 발송 내용 유형
기본값: NORMAL
[NORMAL(일반), AD(광고), AUTH(인증)]
templateLanguage String X 템플릿 언어 유형
기본값: PLAIN_TEXT
[PLAIN_TEXT(일반 텍스트), FREEMARKER(FreeMarker 템플릿)]
content Object O 푸시 메시지 내용

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### Push 템플릿 수정

PUT {{endpoint}}/template/v1.0/PUSH/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "content" : {
    "unsubscribePhoneNumber" : "대표 번호",
    "unsubscribeGuide" : "메뉴 > 설정",
    "title" : "제목",
    "body" : "내용",
    "richMessage" : {
      "buttons" : [ {
        "name" : "버튼 이름",
        "submitName" : "전송 버튼 이름",
        "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
        "link" : "버튼을 눌렀을 때, 연결되는 링크",
        "hint" : "버튼에 대한 힌트"
      } ],
      "media" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "androidMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "iosMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "largeIcon" : {
        "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
      },
      "group" : {
        "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
        "description" : "그룹에 대한 설명"
      }
    },
    "style" : {
      "useHtmlStyle" : true
    },
    "customKey" : "customValue"
  }
}
cURL
curl -X PUT "${endpoint}/template/v1.0/PUSH/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}" \
-d '{
  "templateName" : "템플릿 이름",
  "messagePurpose" : "NORMAL",
  "templateLanguage" : "PLAIN_TEXT",
  "content" : {
    "unsubscribePhoneNumber" : "대표 번호",
    "unsubscribeGuide" : "메뉴 > 설정",
    "title" : "제목",
    "body" : "내용",
    "richMessage" : {
      "buttons" : [ {
        "name" : "버튼 이름",
        "submitName" : "전송 버튼 이름",
        "buttonType" : "버튼 타입, REPLY, DEEP_LINK, OPEN_APP, OPEN_URL, DISMISS",
        "link" : "버튼을 눌렀을 때, 연결되는 링크",
        "hint" : "버튼에 대한 힌트"
      } ],
      "media" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "androidMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "iosMedia" : {
        "sourceType" : "미디어의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE",
        "mediaType" : "미디어의 타입, IMAGE, GIF, VIDEO, AUDIO. Android에서는 IMAGE만 지원",
        "extension" : "미디어 파일의 확장자, jpg, png",
        "expandable" : true
      },
      "largeIcon" : {
        "sourceType" : "큰 아이콘의 위치, REMOTE, LOCAL",
        "source" : "미디어가 위치한 곳의 주소, URL, LOCAL_RESOURCE"
      },
      "group" : {
        "key" : "그룹의 키, 여러 개의 메시지를 그룹 단위로 묶는 기능, Android에서만 지원",
        "description" : "그룹에 대한 설명"
      }
    },
    "style" : {
      "useHtmlStyle" : true
    },
    "customKey" : "customValue"
  }
}'

Push 템플릿 삭제

템플릿을 삭제합니다.

요청

DELETE /template/v1.0/PUSH/templates/{templateId}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS

요청 예시

IntelliJ HTTP
### Push 템플릿 삭제

DELETE {{endpoint}}/template/v1.0/PUSH/templates/{{templateId}}
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X DELETE "${endpoint}/template/v1.0/PUSH/templates/${templateId}" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"

템플릿 파라미터 조회

템플릿이 포함하고 있는 파라미터 목록을 조회합니다.

요청

GET /template/v1.0/{messageChannel}/templates/{templateId}/parameters
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}

요청 파라미터

이름 구분 타입 필수 설명
X-NC-APP-KEY Header String O 앱키
X-NHN-Authorization Header String O 액세스 토큰
messageChannel Path Enum O 메시지 채널입니다.
templateId Path String O 템플릿 아이디

요청 본문

이 API는 요청 본문을 요구하지 않습니다.

응답 본문

{
  "header" : {
    "isSuccessful" : true,
    "resultCode" : 0,
    "resultMessage" : "SUCCESS"
  },
  "templateParameter" : {
    "validateTimestamp" : "",
    "timestamp" : "",
    "validateFailDomainList" : [ {
      "domain" : "",
      "verifyYn" : "",
      "spfYn" : "",
      "dkimVerifyYn" : "",
      "dmarcYn" : ""
    } ]
  }
}
경로 타입 Not Null 설명
header Object O
header.isSuccessful Boolean O 요청이 성공했는지 여부를 나타냅니다.
기본값: true
header.resultCode Integer O 요청의 결과 코드입니다.
기본값: 0
header.resultMessage String O 요청의 결과 메시지입니다.
기본값: SUCCESS
templateParameter Object X 템플릿 파라미터 결과 JSON

요청 예시

IntelliJ HTTP
### 템플릿 파라미터 조회

GET {{endpoint}}/template/v1.0/{{messageChannel}}/templates/{{templateId}}/parameters
X-NC-APP-KEY: {appKey}
X-NHN-Authorization: Bearer {accessToken}
cURL
curl -X GET "${endpoint}/template/v1.0/${messageChannel}/templates/${templateId}/parameters" \
-H "X-NC-APP-KEY: {appKey}" \
-H "X-NHN-Authorization: Bearer {accessToken}"
TOP