5.1공통
센터 API는 http/https 프로토콜을 사용하며, GET, POST method를 사용합니다. response는 JSON형태 로 전달됩니다.
센터 API 는 카카오톡 비즈메시지(상당톡) 센터 API 를 이용해서 카카오톡 채널을 관리 할수 있습니다.
연동 이전에 허브 파트너키가 필요합니다.
5.1.1Host
- [서버] 넥서스 알림톡 서버
5.1.2RESPONSE SAMPLE
[성공]
{ "code": "200", ... // 요청한 데이터 }
[잘못된 요청 또는 에러]
{ "code": "500", "message": "상세 내용" }
5.1.3코드 정의
code | 설명 |
---|---|
200 | 요청 성공 |
400 | 요청 실패(카카오톡 서버 접속 실패) |
403 | 권한 없음 |
405 | 파라미터 오류 |
504 | 템플릿 코드 중복 |
505 | 템플릿 이름 중복 |
506 | 템플릿 내용이 1000자 초과 |
507 | 유효하지 않은 발신 프로필 |
508 | 요청한 데이터가 없음, 삭제 상태의 데이터 요청 시 응답 |
509 | 요청을 처리할수 있는 상태가 아님 (ex: 템플릿 검수 요청이 가능한 상태가 아닙니다.) |
510 | 템플릿의 버튼/바로연결 형식이 유효하지 않음 |
525 | 템플릿의 카테고리가 유효하지 않음 |
512 | 허브파트너는 발신프로필 추가 및 그룹내 발신프로필 추가가 제한된 상태 |
513 | 메시지 결과 수신 채널이 올바르지 않음 |
514 | 비즈니스 인증이 필요한 카카오톡 채널 |
530 | 유효하지 않은 플러그인 |
600 | 이미지 업로드 실패 |
610 | 파일 업로드 실패 |
611 | 첨부파일의 크기가 50MB를 초과 |
612 | 첨부파일 형식이 유효하지 않음 |
613 | 첨부파일의 개수가 10개를 초과 |
614 | 첨부파일이 존재 하지 않음 |
801~805 | 발신프로필 등록이 차단된 상태 |
811 | 발신프로필 등록이 차단된 허브파트너 |
5.2발신프로필 관리
5.2.1카카오톡 채널 인증 토큰 요청
발신프로필 등록을 위한 카카오톡 채널 인증 토큰을 요청하는 API 입니다.
입력한 전화번호에 연결된 카카오톡으로 인증 토큰이 발송되며, 발송된 토큰은 발신프로필 등록시 사용됩니 다.
인증받은 토큰은 7일동안 비즈메시지 센터 서버에 보관됩니다.
- [Request]
GET /sender/token
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
yellowId | text | Y | 카카오톡 채널 (예: @에릭커피) |
phoneNumber | text | Y | 카카오톡 채널 알림받는 관리자 핸드폰 번호 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
5.2.2발신프로필 카테고리 전체 조회
발신프로필 등록시 사용할 카테고리 목록 전체를 조회합니다.
- [Request]
GET /category/all
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
name | text | 카테고리이름 |
5.2.3발신프로필 카테고리 조회
카테고리 코드에 해당하는 특정 카테고리를 조회합니다.
- [Request]
GET /category
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
categoryCode | text(11) | Y | 카테고리 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text(11) | 카테고리 코드 |
name | text | 카테고리 이름 |
5.2.4발신프로필 등록
발신프로필을 신규 등록합니다.
사전에 카카오톡 채널이 생성되어 있어야 하며, 카카오톡 채널 관리자센터에서 비즈니스 인증을 받아야 합니 다.
카카오톡 채널은 프로필 activated 상태이고 운영자에 의해 차단되지 않은 정상 상태여야 등록 가능합니다. 카카오톡 채널로 관리자 인증 토큰(2.1. 카카오톡 채널 인증 토큰 요청) 을 등록전 받아야 하며, 토큰을 요청한 전화번호로만 발신프로필로 등록 가능합니다.
2.2. 카테고리 전체 목록 조회 API를 사용하여 입력할 카테고리 코드 목록을 조회할 수 있으며, 카테고리 정보 를 함께 등록할 수 있습니다.
- [Request]
POST /sender/create
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
token | text | Y | 2.1에서 카카오톡으로 받은 토큰값 |
phoneNumber | text | Y | 2.1에서 토큰 요청시 입력한 핸드폰 번호 |
yellowId | text | Y | 등록할 카카오톡 채널 (예: @에릭커피) |
categoryCode | text(11) | Y | 카테고리 코드 (11자리 숫자) |
channelKey | text(20) | N | 메시지 전송 결과 수신 채널키 |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과코드 | |
data | senderKey | text | 발신프로필키 |
uuid | text | 카카오톡 채널 | |
name | text | 카카오톡 채널 프로필명 | |
status | text | 상태(A:정상, S:차단, D:삭제) | |
profileStatus | text | 카카오톡 채널 상태 (A:activated, C:deactivated, B:block, E: deleting, D:deleted) | |
createdAt | text | 등록일 | |
modifiedAt | text | 최종수정일 | |
categoryCode | text | 카테고리 코드 | |
bizchat | boolean | 상담톡 사용 여부 | |
committalCompan yName | text | 위탁사 이름 (상담톡 관련) | |
channelKey | text(20) | 메시지 전송 결과 수신 채널키 |
- [Example]
{ "code": "200", "data": { "senderKey": "2662e99eb7a1f21abb3955278e9955f5a9a99b62", "uuid": "@dkfflaxhrxptmxm", "name": "bzmtest", "status": "A", "block": false, "dormant":false, "profileStatus": "A", "createdAt": "2015-08-21 17:58:24", "modifiedAt": "", "categoryCode": "99999999999", "channelKey": "test" } }
5.2.5발신프로필 조회
발신프로필 정보를 조회합니다.
- [Request]
GET /sender
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과코드 | |
data | senderKey | text | 발신프로필키 |
uuid | text | 카카오톡 채널 | |
name | text | 카카오톡 채널 프로필명 | |
status | text | 상태(A:정상, S:차단, D:삭제) | |
profileStatus | text | 카카오톡 채널 상태 (A:activated, C:deactivated, B:block, E: deleting, D:deleted) | |
createdAt | text | 등록일 | |
modifiedAt | text | 최종수정일 | |
categoryCode | text | 카테고리 코드 | |
alimtalk | boolean | 알림톡 사용 여부 | |
bizchat | boolean | 상담톡 사용 여부 | |
committalCompan yName | text | 위탁사 이름 (상담톡 관련) | |
channelKey | text | 메시지 전송 결과 수신 채널키 |
- [Example]
{ "code": "200", "data": { "senderKey": "2662e99eb7a1f21abb3955278e9955f5a9a99b62", "uuid": "@dkfflaxhrxptmxm", "name": "bzmtest", "status": "A", "block": false, "dormant":false, "profileStatus": "A", "createdAt": "2015-08-21 17:58:24", "modifiedAt": "", "categoryCode": "99999999999", "channelKey": "test" } }
5.2.6삭제
발신프로필을 삭제합니다. 삭제 후에는 복구가 불가능하니 꼭 필요한 경우에만 사용해주세요.
- [Request]
POST /sender/delete
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
- [Example]
{ "code": "200", "data": { "senderKey": "2662e99eb7a1f21abb3955278e9955f5a9a99b62", "uuid": "@dkfflaxhrxptmxm", "name": "bzmtest", "status": "A", "profileStatus": "A", "createdAt": "2015-08-21 17:58:24", "modifiedAt": "", "alimtalk":false, "bizchat":true, "categoryCode": "99999999999", "committalCompanyName": "bzmtest", "channelKey": "base" } }
5.2.7미사용 프로필 차단 해제
장기 미사용으로 인해 차단 상태인 발신 프로필을 차단 해제합니다.
- [Request]
POST /sender/recover
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 등록된 발신프로필의 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
5.3템플릿 관리
5.3.1템플릿 등록
5.3.1.1템플릿 등록
템플릿을 신규 등록합니다. 사전에 발신프로필 또는 발신 프로필 그룹이 등록 되어있어야 합니다.
3.9.1. 템플릿 카테고리 전체 조회 API를 사용하여 입력할 카테고리 코드 목록을 조회할 수 있으며, 카테고리 정보를 함께 등록할 수 있습니다.
- [Request]
POST /alimtalk/template/create
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 발신 프로필 키(senderKeyType이 G인경우발신 프로필그룹키) |
senderKeyType | N | 발신 프로필 키 타입 (G:그룹 , S:발신프로필(default)) | |
templateCode | Y | 템플릿 코드 | |
templateName | Y | 템플릿 이름 | |
templateMessageType | Y | 템플릿 메시지 유형 (BA: 기본형, EX: 부가 정보형, AD: 광고 추가형, MI: 복합형) - EX : templateExtra 필드 필수 - AD : templateAd 필드 필수, 그룹 템플릿 사용 불가 - MI : templateExtra, templateAd 필드 필수, 그룹 템플릿 사용 불가 | |
templateEmphasizeType | Y | 템플릿 강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형) - TEXT: templateTitle, templateSubtitle 필드 필수 - ITEM_LIST: templateItem.list 필드 필수, (templateImage(Name, Url), templateHeader, templateItemHighlight) 필드 중 1개 이상 필수 , templateItem.summary 필드 사용 가능 -IMAGE: templateImageName, templateImageUrl 필드 필수 | |
templateContent | text | Y | 템플릿 내용 |
templateExtra | text | N | 부가 정보 (템플릿 검수 가이드 참고) |
templateAd | text | N | 템플릿 내 수신 동의 요청 또는 간단 광고 문구 (템플릿 검수 가이드 참고) |
templateImageName | text | N | 템플릿 이미지 파일명 (템플릿 검수 가이드 참고, 업로드 API 참고) |
templateImageUrl | text | N | 템플릿 이미지 링크 (템플릿 검수 가이드 참고, 업로드 API 참고) |
templateTitle | text | N | 템플릿 내용 중 강조 표기할 핵심 정보 (템플릿 검수 가이드 참고) |
templateSubtitle | text | N | 강조 표기 보조 문구 (템플릿 검수 가이드 참고) |
templateHeader | text(16) | N | 헤더 (템플릿 검수 가이드 참고) |
templateItemHighlight | object | N | 아이템 하이라이트 (템플릿 검수 가이드 참고, 상세) |
templateItem | object | N | 아이템 리스트 (템플릿 검수 가이드 참고, 상세) |
categoryCode | text | N | 템플릿 카테고리 코드 (3.9.1. 템플릿 카테고리 전체 조회 API 참고) |
securityFlag | boolean | N | 보안 템플릿 여부, OTP등 보안 메시지 일 경우 설정 발신 당시의 메인 디바이스를 제외한 모든 디바이스에 메시지 텍스트 미노출 (디폴트: 미설정) |
buttons | list | N | 버튼 정보 (최대 5개 등록 가능 (단, 바로연결과 함께 사용 시 2개로 제한됨), 상세) |
quickReplies | list | N | 바로연결 정보 (최대 10개 등록 가능, 상세) |
5.3.1.1.1templateItemHighlight 상세 요청 파라미터
키 | 타입 | 필수 | 설명 | |
---|---|---|---|---|
templateItemHighlight | 아이템 하이라이트 (템플릿 검수 가이드 참고) | |||
title | text(30) | Y | 타이틀 (썸네일 이미지가 있을 땐 21자) | |
description | text(19) | Y | 디스크립션 (썸네일 이미지가 있을 땐 13자) | |
imageUrl | text(500) | N | 썸네일 이미지 주소 (업로드 API 참고) |
5.3.1.1.2templateItem 상세 요청 파라미터
키 | 타입 | 필수 | 설명 | ||
---|---|---|---|---|---|
templateItem | object | 아이템 리스트 (템플릿 검수 가이드 참고) | |||
list | array | Y | 아이템 리스트 (최소 2개, 최대 10개) | ||
title | text(6) | Y | 타이틀 | ||
description | text(23) | Y | 디스크립션 | ||
summary | object | N | 아이템 요약 정보 | ||
title | text(6) | Y | 타이틀 | ||
description | text(14) | Y | 디스크립션 (변수 및 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능) | ||
5.3.1.1.3buttons 상세 요청 파라미터
키 | 타입 | 필수 | 설명 | |
---|---|---|---|---|
buttons | 버튼 목록 | |||
name | text(14) | Y | 버튼명 | |
linkType | text(2) | Y | 버튼 타입 아래 button 타입별 속성에서 확인 가능 | |
ordering | number | N | 버튼 노출 순서 | |
linkMo | text(500) | - | mobile 환경에서 버튼 클릭 시 이동할 url | |
linkPc | text(500) | pc 환경에서 버튼 클릭 시 이동할 url | ||
linkAnd | text(500) | - | mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme | |
linkIos | text(500) | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme | |
pluginId | text(24) | - | 플러그인 ID | |
button 타입별 속성
버튼타입 | 속성 | 타입 | 필수 | 설명 |
---|---|---|---|---|
WL | linkMo | text | Y | 버튼 클릭 시 이동할 pc/mobile환경별 web url |
linkPc | text | N | ||
AL | linkAnd | text | - | linkIos, linkAnd, linkMo 중 2가지 필수 입력 mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme |
linkIos | text | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme | |
linkMo | text | - | mobile 환경에서 버튼 클릭 시 이동할 url | |
linkPc | text | N | pc 환경에서 버튼 클릭 시 이동할 url | |
BK | - | - | - | 해당 버튼 텍스트 전송 |
MD | - | - | - | 해당 버튼 텍스트 + 메시지 본문 전송 |
BC | - | - | - | 상담톡 전환 |
BT | - | - | - | 봇 전환 |
DS | - | - | - | 배송 조회 |
AC | - | - | - | 채널 추가 (템플릿 메시지 유형이 AD, MI인 경우에만 사용 가능) |
P1 | pluginId | text | 이미지 보안 전송 플러그인 ID | |
P2 | pluginId | text | 개인정보이용 플러그인 ID | |
P3 | pluginId | text | 원클릭 결제 플러그인 ID |
5.3.1.1.4quickReplies 상세 요청 파라미터
키 | 타입 | 필수 | 설명 | |
---|---|---|---|---|
quickReplies | array | - | 바로연결 목록 | |
name | text(14) | Y | 바로연결명 | |
linkType | text(2) | Y | 바로연결 타입 아래 quickReplies 타입별 속성에서 확인 가능 | |
linkMo | text(500) | - | mobile 환경에서 버튼 클릭 시 이동할 url | |
linkPc | text(500) | pc 환경에서 버튼 클릭 시 이동할 url | ||
linkAnd | text(500) | - | mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme | |
linkIos | text(500) | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme |
quickReplies 타입별 속성
버튼타입 | 속성 | 타입 | 필수 | 설명 |
---|---|---|---|---|
WL | linkMo | text | Y | 버튼 클릭 시 이동할 pc/mobile환경별 web url |
linkPc | text | N | ||
AL | linkAnd | text | - | linkIos, linkAnd, linkMo 중 2가지 필수 입력 mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme |
linkIos | text | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme | |
linkMo | text | - | mobile 환경에서 버튼 클릭 시 이동할 url | |
linkPc | text | N | pc 환경에서 버튼 클릭 시 이동할 url | |
BK | - | - | - | 해당 버튼 텍스트 전송 |
MD | - | - | - | 해당 버튼 텍스트 + 메시지 본문 전송 |
BC | - | - | - | 상담톡 전환 |
BT | - | - | - | 봇 전환 |
- [Example]
curl -v -X POST -d 'senderKey={senderKey}' -d 'senderKeyType=S' -d 'templateCode=center_api_test_02' -d 'templateName=상품발송안내02' -d 'templateMessageType=BA' -d 'templateEmphasizeType=NONE' -d 'templateContent=#{홍길동}님 주문하신 #{가습기} 금 일 배송 출발 하였습니다.' -d 'buttons[0].ordering=1' -d 'buttons[0].linkType=DS' -d 'buttons[0].name=택배조회' -d 'buttons[1].ordering=2' -d 'buttons[1].linkType=WL' -d 'buttons[1].name=바로가기' -d 'buttons[1].linkMo=http://daum.net' -d 'quickReplies[0].linkType=BK' -d 'quickReplies[0].name=봇키워드' -d 'quickReplies[1].linkType=WL' -d 'quickReplies[1].name=바로가기' -d 'quickReplies[1].linkMo=http://daum.net' https://cbt-ext-bzm-center.kakao.com/api/v2/{partnerkey}/alimtalk/template/create
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
data | object | 템플릿 상세 참고 |
5.3.1.2이미지 포함 템플릿 등록
제한 사이즈 - 가로 500px 미만 또는 가로:세로 비율이 2:1 이 아닌 경우 업로드 불가
파일형식 및 크기 : jpg, png / 최대 500KB
- [Request]
POST /alimtalk/template/create_with_image
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 발신 프로필 키(senderKeyType이 G인경우발신 프로필그룹키) |
senderKeyType | text(1) | N | 발신 프로필 키 타입 (G:그룹 , S:발신프로필(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
templateName | text(40) | Y | 템플릿 이름 |
templateMessageType | text | Y | 템플릿 메시지 유형 (BA: 기본형, EX: 부가 정보형, AD: 광고 추가형, MI: 복합형) - EX : templateExtra 필드 필수 - AD : templateAd 필드 필수, 그룹 템플릿 사용 불가 - MI : templateExtra, templateAd 필드 필수, 그룹 템플릿 사용 불가 |
templateEmphasizeType | text | Y | 템플릿 강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형) - TEXT: templateTitle, templateSubtitle 필드 필수 - ITEM_LIST: templateItem.list 필드 필수, (templateImage(Name, Url), templateHeader, templateItemHighlight) 필드 중 1개 이상 필수 , templateItem.summary 필드 사용 가능 -IMAGE: templateImageName, templateImageUrl 필드 필수 |
templateContent | text | Y | 템플릿 내용 |
templateExtra | text | N | 부가 정보 (템플릿 검수 가이드 참고) |
templateAd | text | N | 템플릿 내 수신 동의 요청 또는 간단 광고 문구 (템플릿 검수 가이드 참고) |
image | file | Y | 템플릿 내용 중 강조 표기할 문구가 담긴 이미지 혹은 썸네일에 표시될 이미지 |
categoryCode | text | N | 템플릿 카테고리 코드 (3.9.1. 템플릿 카테고리 전체 조회 API 참고) |
securityFlag | boolean | N | 보안 템플릿 여부, OTP등 보안 메시지 일 경우 설정 발신 당시의 메인 디바이스를 제외한 모든 디바이스에 메시지 텍스트 미노출 (디폴트: 미설정) |
buttons | list | N | 버튼 정보 (최대 5개 등록 가능 (단, 바로연결과 함께 사용 시 2개로 제한됨), 상세) |
quickReplies | list | N | 바로연결 정보 (최대 10개 등록 가능, 상세) |
- [Example]
curl -X POST \
-H 'content-type: multipart/form-data' \
-F 'senderKey={발신프로필키}' \
-F 'templateCode={템플릿코드}' \
-F 'templateName={템플릿명}' \
-F 'templateContent={템플릿내용}' \
-F 'templateMessageType=EX' \
-F 'templateExtra={부가정보}' \
-F 'image=@{이미지 절대 경로}' \
-F 'buttons[0].name=배송조회' \
-F 'buttons[0].linkType=DS' \
-F 'buttons[0].ordering=1'
https://cbt-ext-bzm-center.kakao.com/api/v2/{hub_partner_key}/alimtalk/template/create_with_image
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
data | object | 템플릿 상세 참고 |
5.3.2조회
템플릿을 조회합니다.
- [Request]
GET /alimtalk/template
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30 | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
data | list | 결과 목록 (* 아래 data 상세 참고) |
{ "code": "200", "data": { "senderKey": "{senderKey}", "senderKeyType": "S", "templateCode": "center_api_test_02", "templateName": "상품발송안내02", "templateMessageType": "BA", "templateEmphasizeType": "IMAGE", "templateContent": "#{홍길동}님 주문하신 #{가습기} 금 일 배송 출발 하였습니다.", "templateImageName": "image.jpg", "templateImageUrl": "http://kage.kakao.com/dn/xxxxx/xxxxxxxxx/xxxxxxxxxxxxxx/xxxxx.jpg", "inspectionStatus": "REG", "createdAt": "2017-01-25 11:13:40", "modifiedAt": "", "status": "R", "block": false, "dormant":false, "categoryCode": "002001", "securityFlag": true, "comments": [ { "id": 1, "content": "승인되었습니다.", "userName": "홍길동", "createdAt": "2017-01-26 11:46:14", "status": "APR", "attachment": [ { "originalFileName": "sample.jpg", "filePath": "http://kage.kakao.com/dn/xxxxx/xxxxxxxxx/xxxxxxxxxxxxxx/xxxxx.jpg" } ] } ], "buttons": [{ "ordering": 1, "name": "택배조회", "linkType": "DS", "linkTypeName": "배송조회", "linkMo": null, "linkPc": null, "linkIos": null, "linkAnd": null }, { "ordering": 2, "name": "바로가기", "linkType": "WL", "linkTypeName": "웹링크", "linkMo": "http://daum.net", "linkPc": null, "linkIos": null, "linkAnd": null }] } }
5.3.2.1템플릿 상세 결과
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | ||
data | senderKey | text(40) | 발신 프로필 키 |
senderKeyType | text(1) | 발신 프로필 키 타입 (G:그룹 , S:발신프로필(default)) | |
templateCode | text(30) | 템플릿 코드 | |
templateName | text(200) | 템플릿 이름 | |
templateMessageType | text | 템플릿 메시지 유형 (BA: 기본형, EX: 부가 정보형, AD: 광고 추가형, MI: 복합형) | |
templateEmphasizeType | text | 템플릿 강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형) | |
templateContent | text | 템플릿 내용 | |
templateExtra | text | 부가 정보 (템플릿 검수 가이드 참고, optional) | |
templateAd | text | 템플릿 내 수신 동의 요청 또는 간단 광고 문구 (템플릿 검수 가이드 참고, optional) | |
templateImageName | text | 템플릿 이미지 파일명 (템플릿 검수 가이드 참고, 업로드 API 참고, optional) | |
templateImageUrl | text | 템플릿 이미지 링크 (템플릿 검수 가이드 참고, 업로드 API 참고, optional) | |
templateTitle | text | 템플릿 내용 중 강조 표기할 핵심 정보 (템플릿 검수 가이드 참고, optional) | |
templateSubtitle | text | 강조 표기 보조 문구 (템플릿 검수 가이드 참고, optional) | |
templateHeader | text(16) | 헤더 (템플릿 검수 가이드 참고, optional) | |
templateItemHighlight | object | 아이템 하이라이트 (템플릿 검수 가이드 참고, 상세, optional) | |
templateItem | object | 아이템 리스트 (템플릿 검수 가이드 참고, 상세, optional) | |
inspectionStatus | text | 검수 상태(REG:등록, REQ:심사요청, APR:승인, REJ: 반려) | |
createdAt | text(19) | 등록일 | |
modifiedAt | text(19) | 수정일 | |
status | text(1) | 템플릿 상태(S:중지, A:정상, R:대기(발송전)) | |
block | boolean | 템플릿 차단 여부(true:차단, false:해제) | |
dormant | boolean | 템플릿 휴면 여부 | |
categoryCode | text | 템플릿 카테고리 코드 | |
securityFlag | boolean | 보안 템플릿 여부 (true:설정, false:미설정) | |
comments | list | 검수결과 댓글리스트 (아래 comments 상세표 참고,) | |
buttons | list | 버튼 정보 | |
quickReplies | list | 바로연결 정보 |
5.3.2.1.1templateItemHighlight 상세 결과
키 | 타입 | 필수 | 설명 |
---|---|---|---|
title | text(30) | Y | 타이틀 (썸네일 이미지가 있을 땐 21자) |
description | text(19) | Y | 디스크립션 (썸네일 이미지가 있을 땐 13자) |
imageUrl | text(500) | N | 썸네일 이미지 주소 |
5.3.2.1.2templateItem 상세 결과
키 | 타입 | 필수 | 설명 | |
---|---|---|---|---|
list | array | Y | 아이템 리스트 | |
title | text(6) | Y | 타이틀 | |
description | text(23) | Y | 디스크립션 | |
summary | object | N | 아이템 요약 정보 | |
title | text(6) | Y | 타이틀 | |
description | text(14) | Y | 디스크립션 |
5.3.2.1.3comments 상세 결과
키 | - | 타입 | 설명 |
---|---|---|---|
id | int | 댓글 아이디 | |
content | text | 댓글 내용 | |
userName | text | 작성자 | |
createdAt | text | 등록일 | |
status | text | 댓글 상태(INQ:문의, APR:승인, REJ:반려, REP:답변) | |
attachment | list | 첨부파일 | |
originalFileName | text | 업로드 당시 기존 파일명 | |
filePath | text | 파일 다운로드 경로 | |
5.3.2.1.4buttons 상세 결과
키 | 타입 | 설명 |
---|---|---|
ordering | number | 버튼 노출 순서 |
name | text | 버튼명 |
linkType | text | 버튼의 링크타입 (DS: 배송조회, WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, BC: 상담톡전환, BT: 봇전환, AC: 채널 추가, P1: 이미지 보안 전송 플러그인, P2:개인정보이용 플러그인, P3: 원클릭 결제 플러그인) |
linkTypeName | text | 버튼의 링크타입이름 (배송조회, 웹링크, 앱링크, 봇키워드, 메시지전달, 상담톡전환, 봇전환, 채널 추가) |
linkMo | text | 모바일 웹링크주소 |
linkPc | list | PC 웹링크주소 |
linkIos | text | IOS 앱링크주소 |
linkAnd | text | Android 앱링크주소 |
pluginId | text | 플러그인 ID |
5.3.2.1.5quickReplies 상세 결과
키 | 타입 | 설명 |
---|---|---|
name | text | 바로연결명 |
linkType | text | 바로연결의 링크타입 (WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달, BC: 상담톡전환, BT: 봇전환) |
linkTypeName | text | 버튼의 링크타입이름 (웹링크, 앱링크, 봇키워드, 메시지전달, 상담톡전환, 봇전환) |
linkMo | text | 모바일 웹링크주소 |
linkPc | list | PC 웹링크주소 |
linkIos | text | IOS 앱링크주소 |
linkAnd | text | Android 앱링크주소 |
5.3.3검수 요청/취소 및 승인 취소
등록된 템플릿을 검수 요청/검수 요청 취소를 할수있고, 승인후 발송되지 않은 대기(R)상태의 템플릿을 재검수를 위해 승인취소 할수 있습니다.
5.3.3.1검수요청
등록된 템플릿을 검수 요청 합니다. 템플릿상태가 대기(R)이고 템플릿 검수상태가 등록(REG)인 경우에만 요청 가능합니다.
검수요청시 의견 또는 문의를 선택적으로 입력할수 있습니다.
- [Request]
POST /alimtalk/template/request
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
comment | text(500) | N | 의견 또는 문의 사항 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.3.2검수요청 취소
등록된 템플릿을 검수 요청 합니다. 템플릿상태가 대기(R)이고 템플릿 검수상태가 검수요청(REQ)인 경우에만 요청 가능합니다.
- [Request]
POST /alimtalk/template/cancel_request
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.3.3승인 취소
승인된 템플릿이 대기(R) 상태 일때 승인 취소할 수 있습니다. 승인취소시 등록(REG)상태로 변경되며 재 검수 요청 가능합니다.
- [Request]
POST /alimtalk/template/cancel_approval
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.4수정
5.3.4.1템플릿 수정
등록된 템플릿을 수정합니다. 템플릿상태가 대기(R)이고 템플릿 검수상태가 등록(REG) 또는 반려(REJ)인 경우에만 수정 가능합니다.
- [Request]
POST /alimtalk/template/update
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 발신 프로필 키(senderKeyType이 G인경우발신 프로필그룹키) |
senderKeyType | text(1) | N | 발신 프로필 키 타입 (G:그룹 , S:발신프로필(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
newSenderKey | text(40) | Y | 발신 프로필 키 (senderKeyType이 G인경우발신 프로필그룹키) |
newSenderKeyType | text(1) | N | 발신 프로필 키 타입 (G:그룹 , S:발신프로필(default)) |
newTemplateCode | text(30) | Y | 템플릿 코드 |
newTemplateName | text(40) | Y | 템플릿 이름 |
newTemplateMessageType | text | Y | 템플릿 메시지 유형 (BA: 기본형, EX: 부가 정보형, AD: 광고 추가형, MI: 복합형) - EX : templateExtra 필드 필수 - AD : templateAd 필드 필수, 그룹 템플릿 사용 불가 - MI : templateExtra, templateAd 필드 필수, 그룹 템플릿 사용 불가 |
newTemplateEmphasizeType | text | Y | 템플릿 강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형) - TEXT: templateTitle, templateSubtitle 필드 필수 - ITEM_LIST: templateItem.list 필드 필수, (templateImage(Name, Url), templateHeader, templateItemHighlight) 필드 중 1개 이상 필수 , templateItem.summary 필드 사용 가능 -IMAGE: templateImageName, templateImageUrl 필드 필수 |
newTemplateContent | text | Y | 템플릿 내용 |
newTemplateExtra | text | N | 부가 정보 (템플릿 검수 가이드 참고) |
newTemplateAd | text | N | 템플릿 내 수신 동의 요청 또는 간단 광고 문구 (템플릿 검수 가이드 참고) |
newTemplateImageName | text | N | 템플릿 이미지 파일명 (템플릿 검수 가이드 참고, 업로드 API 참고) |
newTemplateImageUrl | text | N | 템플릿 이미지 링크 (템플릿 검수 가이드 참고, 업로드 API 참고) |
newTemplateTitle | text | N | 템플릿 내용 중 강조 표기할 핵심 정보 (템플릿 검수 가이드 참고) |
newTemplateSubtitle | text | N | 강조 표기 보조 문구 (템플릿 검수 가이드 참고) |
newTemplateHeader | text(16) | N | 헤더 (템플릿 검수 가이드 참고) |
newTemplateItemHighlight | object | N | 아이템 하이라이트 (템플릿 검수 가이드 참고, 상세) |
newTemplateItem | object | N | 아이템 리스트 (템플릿 검수 가이드 참고, 상세) |
newCategoryCode | text | N | 템플릿 카테고리 코드 (3.9.1. 템플릿 카테고리 전체 조회 API 참고) |
securityFlag | boolean | N | 보안 템플릿 여부, OTP등 보안 메시지 일 경우 설정 발신 당시의 메인 디바이스를 제외한 모든 디바이스에 메시지 텍스트 미노출 (디폴트: 미설정) |
buttons | list | N | 버튼 정보 (최대 5개 등록 가능 (단, 바로연결과 함께 사용 시 2개로 제한됨), 상세) |
quickReplies | list | N | 바로연결 정보 (최대 10개 등록 가능, 상세) |
- [Example]
curl -v -X POST -d 'senderKey={senderKey}' -d 'senderKeyType=S' -d 'templateCode=center_api_test_02' -d 'newSenderKey={senderKey}' -d 'newSenderKeyType=S' -d 'newTemplateCode=center_api_test_02' -d 'newTemplateName=상품발송안내02' -d 'newTemplateMessageType=BA' -d 'newTemplateEmphasizeType=NONE' -d 'newTemplateContent=#{홍길동}님 주문하신 #{가습기} 금 일 배송 출발 하였습니다.' -d 'buttons[0].ordering=1' -d 'buttons[0].linkType=DS' -d 'buttons[0].name=택배조회' -d 'buttons[1].ordering=2' -d 'buttons[1].linkType=WL' -d 'buttons[1].name=바로가기' -d 'buttons[1].linkMo=http://daum.net' -d 'quickReplies[0].linkType=BK' -d 'quickReplies[0].name=봇키워드' -d 'quickReplies[1].linkType=WL' -d 'quickReplies[1].name=바로가기' -d 'quickReplies[1].linkMo=http://daum.net' https://cbt-ext-bzm-center.kakao.com/api/v2/{partnerkey}/alimtalk/template/update
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
data | object | 템플릿 상세 참고 |
5.3.5템플릿 사용 중지/해제
5.3.5.1중지
등록된 템플릿을 중지 상태로 변경합니다. 템플릿상태가 대기(R) 또는 정상(A)이고 템플릿 검수상태가 승인(APR)인 경우에만 요청 가능합니다.
- [Request]
POST /alimtalk/template/stop
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.5.2중지해제
등록된 템플릿을 정상 상태로 되돌립니다. 템플릿상태가 중지(S)이고 템플릿 검수상태가 승인(APR)인 경우에만 요청 가능합니다.
- [Request]
POST /alimtalk/template/reuse
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.6삭제
등록된 템플릿을 삭제 합니다.
템플릿상태가 대기(R)이고 템플릿 검수상태가 등록(REG) 또는 반려(REJ)인 경우에만 삭제 가능합니다.
- [Request]
POST /alimtalk/template/delete
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.7최근 변경 템플릿 조회
등록한 템플릿 중 변경된 건을 조회합니다. 변경된 템플릿은 템플릿 조회 를 통해 확인 가능합니다.
- [Request]
POST /alimtalk/template/last_modified
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | N | 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
since | text(14) | N | yyyyMMddHHmmss (default는 요청한 시간부터 1시간전) |
page | number | N | 페이지 (default : 1) |
count | number | N | 한 페이지에 조회할 건수(default: 1000) |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과 코드 | |
hasNext | boolean | ||
list | array | ||
senderKey | text(40) | 발신 프로필 키 | |
senderKeyType | text(1) | 발신프로필타입 (G:그룹, S:기본(default)) | |
templateCode | text(30) | 템플릿코드 |
5.3.8문의하기
등록된 템플릿 관련 문의를 등록합니다.
검수상태가 검수요청(REQ), 반려(REJ), 승인(APR)이면서 템플릿상태가 대기(R)인 경우만 등록이 가능합니다.
파일 형식은 png, jpg, jpeg, gif, pdf, hwp, doc, docx만 가능하며 개당 50MB까지 첨부할 수 있습니다.
- [Request]
POST /alimtalk/template/comment_file
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
comment | text | Y | 댓글 |
attachment | binary | N | 업로드 할 파일의 절대 경로. 다수 파일 업로드 가능 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
- [Example]
curl -X POST \
-H 'content-type: multipart/form-data' \
-F 'attachment=@{업로드할 첫번째 파일의 절대 경로}' \
-F 'attachment=@{업로드할 두번째 파일의 절대 경로}' \
-F 'senderKey={발신 프로필 키}' \
-F 'templateCode={템플릿 코드}' \
-F 'senderKeyType={발신 프로필 타입}' \
-F 'comment={댓글}'
https://cbt-ext-bzm-center.kakao.com/api/v2/{partnerkey}/alimtalk/template/comment_file
5.3.9승인/반려 (테스트용 - 개발용 허브파트너에서만 가능)
5.3.9.1승인
등록된 템플릿을 승인 합니다.
- [Request]
POST /alimtalk/template/test_approve
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
comment | text | Y | 댓글 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.9.2반려
등록된 템플릿을 반려 합니다.
- [Request]
POST /alimtalk/template/test_reject
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
comment | text | Y | 댓글 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.10템플릿 카테고리
5.3.10.1템플릿 카테고리 전체 조회
템플릿 등록시 사용할 카테고리 목록 전체를 조회합니다.
- [Request]
GET /alimtalk/template/category/all
- [Response]
키 | 타입 | 설명 | |
---|---|---|---|
code | text | 결과 코드 | |
data | array | 처리 시간 | |
code | text | 카테고리 코드 | |
name | text(15) | 카테고리 이름 | |
groupName | text(15) | 카테고리 그룹 이름 | |
inclusion | text(500) | 카테고리 적용 대상 템플릿 설명 | |
exclusion | text(500) | 카테고리 제외 대상 템플릿 설명 |
5.3.10.2템플릿 카테고리 조회
카테고리 코드에 해당하는 특정 템플릿 카테고리를 조회합니다.
- [Request]
GET /alimtalk/template/category
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
categoryCode | text | Y | 카테고리 코드 |
- [Response]
키 | 타입 | 설명 | |
---|---|---|---|
code | text | 결과 코드 | |
data | array | ||
code | text | 카테고리 코드 | |
name | text(15) | 카테고리 이름 | |
groupName | text(15) | 카테고리 그룹 이름 | |
inclusion | text(500) | 카테고리 적용 대상 템플릿 설명 | |
exclusion | text(500) | 카테고리 제외 대상 템플릿 설명 |
{
"code": "200",
"data": {
"code": "001001",
"name": "예시 카테고리",
"groupName": "예시 카테고리 그룹",
"inclusion": "이런 템플릿을 이 카테고리에 적용하세요",
"exclusion": "이런 템플릿은 이 카테고리에 적용하지 마세요"
}
}
5.3.10.3템플릿 카테고리 변경
템플릿의 카테고리를 변경합니다.
- [Request]
POST /alimtalk/template/category/update
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
categoryCode | text | Y | 카테고리 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.3.11템플릿 휴면 해제
장기간 미사용으로 휴면된 템플릿을 해제합니다. 해제후 30일간 사용하지 않는경우 재 휴면처리 됩니다.
- [Request]
POST /alimtalk/template/dormant/release
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text(40) | Y | 등록된 발신프로필의 키 |
senderKeyType | text(1) | N | 발신프로필타입 (G:그룹, S:기본(default)) |
templateCode | text(30) | Y | 템플릿 코드 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.4발신 프로필 그룹 관리
발신프로필 여러개를 그룹으로 관리 가능합니다. 동일 그룹에 속한 발신프로필은 발신 프로필 그룹으로 등록된 템플릿을 공유하여 사용 할 수 있습니다.
발신 프로필 그룹 신규 등록은 센터에서 가능합니다.
5.4.1조회
발신 프로필 그룹 리스트를 조회합니다.
- [Request]
GET /group
- [Response]
키 | 타입 | 설명 | |
---|---|---|---|
code | text | 결과 코드 | |
data | array | ||
groupKey | text(100) | 발신 프로필 그룹키 | |
name | text(40) | 이름 | |
createdAt | text(19) | 등록일 |
5.4.2그룹에 포함된 발신 프로필 조회
발신 프로필 그룹에 포함된 발신 프로필 목록을 조회합니다.
- [Request]
GET /group/sender
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
groupKey | text(100) | Y | 발신 프로필 그룹키 |
- [Response]
키 | - | 타입 | 설명 |
---|---|---|---|
code | text | 결과 코드 | |
data | senderKey | text(40) | 발신프로필키 |
uuid | text(20) | 카카오톡 채널 | |
name | text(20) | 카카오톡 채널 프로필명 | |
status | text(1) | 상태 (A:정상, S:차단, D:삭제) | |
block | boolean | 발신프로필 차단 여부 (true: 차단, false: 해제) | |
dormant | boolean | 발신프로필 휴면 여부 | |
profileStatus | text(1) | 카카오톡 채널 상태 (A:activated, C:deactivated, B:block, E:deleting, D:deleted) | |
createdAt | text(19) | 등록일 | |
modifiedAt | text(19) | 최종수정일 | |
categoryCode | text(11) | 카테고리 코드 |
5.4.3그룹에 발신 프로필 추가
발신 프로필 그룹에 발신 프로필을 추가 합니다.
- [Request]
POST /group/sender/add
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
groupKey | text(100) | Y | 발신 프로필 그룹키 |
senderKey | text(40) | Y | 발신 프로필 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |
5.4.4그룹에 발신 프로필 삭제
발신 프로필 그룹에 발신 프로필을 삭제 합니다.
- [Request]
POST /group/sender/remove
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
groupKey | text(100) | Y | 발신 프로필 그룹키 |
senderKey | text(40) | Y | 발신 프로필 키 |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과 코드 |