4.1개요
알림톡 API는 비즈메시지 센터(이하, 메시지 센터)에 등록된 허브 파트너에 대해 허용된 IP로 접근할 수 있는 제한적으로 오픈된 서비스를 제공한다.
본 문서는 https 프로토콜을 통해 데이터를 json 형식으로 가공하여 GET, POST method를 사용하여 전송하고, json형식의 결과 데이터를 parsing하여 처리할 수 있음을 전제로 작성되었다.
4.2용어 정의
4.2.1허브 파트너(Hub Partner)
제휴한 카카오톡 채널 통해 전화번호로 특정되는 카카오톡 사용자에게 메시지 전송을 대행하는 사업자
4.2.2카카오톡 채널(Kakao Talk Channel)
카카오톡 계정을 기반으로 한 비즈니스용 카카오톡 아이디
카카오톡 채널 홈페이지(https://center-pf.kakao.com)를 통해 개설
4.3선결 조건
메시지 API를 사용하여 메시지 전송을 대행하기 위해 아래의 조건이 선결되어야 한다.
허브 파트너는 카카오톡 메시지 사업 담당자(이하, 카카오 담당자)를 통해 메시지 센터에 사용자를 등록하고, 접속할 수 있도록 접근 권한을 신청해야 한다.
허브 파트너는 등록한 사용자 정보로 메시지 센터에 접속하여 메시지 전송에 필요한 허브 파트너 키(Partner Key)를 조회하고, 이 키를 메시지 전송 시스템에 적용해야 한다.
허브 파트너는 등록한 사용자 정보로 메시지 센터에 접속하여 메시지 발송 주체인 카카오톡 채널을 등록하고, 발신 프로필 키(Sender Key)를 조회할 수 있다.
알림톡의 경우 메시지 발송을 위해 허브 파트너는 등록한 사용자 정보로 메시지 센터에 접속하여 전송할 메시지 유형의 템플릿과 템플릿 코드를 등록해야 한다.
4.4API 스펙
4.4.1Host
카카오 중계 서버
[개발서버] http://jedai.nexuscommunity.net:8090/
4.4.2메시지 전송 요청
- [Request]
path : /alimtalk/send
method : POST
header
Content-type: application/json
parameter (json)
- [Parameter]
키 | 타입 | 필수 | 설명 | 예제 |
---|---|---|---|---|
sender_key | text(40) | Y | 발신 프로필 키 | "sender_key":"2662e99eb7a1f21abb3955278e9955f5a9a99b62" |
phone_number | text(16) | N | 사용자 전화번호 (국가코드(82)를 포함한 전화번호) phone_number 혹은 app_user_id 둘 중 하나는 반드시 있어야 한다. | "phone_number":"821012345678" |
app_user_id | text(20) | N | 앱유저아이디 phone_number 혹은 app_user_id 둘 중 하나는 반드시 있어야 한다. phone_number와 app_user_id의 정보가 동시에 요청된 경우 phone_number로만 발송합니다. | "app_user_id":"12345" |
template_code | text(30) | Y | 템플릿 코드 (실제 발송할 메시지 유형으로 등록된 템플릿의 코드) | "template_code":"A001_01" |
message_type | text(2) | Y | (AT: 알림톡, AI: 이미지 알림톡) | "message_type":"AT" |
message | text(1000) | N | 사용자에게 전달될 메시지 (공백 포함 1000자로 제한) | "message":"고객님의 택배가 금일 (18~20)시에 배달 예정입니다." |
title | text(50) | N | 템플릿 내용 중 강조 표기할 핵심 정보 (CBT, 템플릿 검수 가이드 참고) | "title":"20분 내 도착 예정" |
header | text(16) | N | 메시지 상단에 표기할 제목 | "header":"포인트 적립 안내" |
response_method | text(8) | Y | 결과를 응답받는 방법 (realtime/push/polling, 기본값 없음) | "response_method":"realtime" |
timeout | number | N | 타임아웃(초) (성공 여부를 결정하기 위한 시간) | "timeout":30 |
attachment | json | N | 메시지에 첨부할 내용 (링크 버튼 / "target":"out" 속성 추가시 아웃링크) | "attachment":{"button":[{"name":"버튼명","type":"WL","url_pc":"http://naver.com", "url_mobile":"http://daum.net","target":"out"}]} |
supplement | json | N | 메시지에 첨부할 바로연결 (링크 버튼 / "target":"out" 속성 추가시 아웃링크) | "supplement":{"quick_reply":[{"name":"버튼명","type":"WL","url_pc":"http://naver.com", "url_mobile":"http://daum.net","target":"out"}]} |
channel_key | text(20) | N | (polling만) 채널을 지정하여 발송합니다. 이 값이 없거나 존재하지 않은 채널이면 발신프로필에 할당된 채널에서 결과를 수신할 수 있습니다. | "channel_key":"test" |
price | number | N | 모먼트 광고 전환 최적화 전용 메시지 내 포함된 가격/금액/결제금액 | "price":39900 |
currency_type | text(3) | N | 모먼트 광고 전환 최적화 전용 메시지 내 포함된 가격/금액/결제금액의 통화단위 KRW, USD, EUR 등 국제 통화 코드 사용 | "currency_type":"KRW" |
sms_type | text(3) | N | 대체 문자 발송 (LMS, SMS, 나머지는 무시) | "sms_type":"LMS" |
sender_no | text | Y/N | 발신자 전화번호 sms_type 이 LMS, SMS 일경우는 필수 | |
sms_sender_key | text | Y/N | sms 발신 프로필키(M&Wise 용) | |
sms_title | N | 대체 문자 타이틀( sms_type 이 LMS 일 경우 사용) | ||
sms_message | Y/N | 대체 문자 내용 sms_type 이 LMS, SMS 일경우는 필수 |
- [Response]
키 | 타입 | 필수 | 설명 | 예제 |
---|---|---|---|---|
code | text(4) | Y | 처리 결과 코드 (0000은 정상 / 나머지는 오류) | "code ":"0000" <5.1 오류코드 에서 확인 가능> |
received_at | text(19) | N | 메시지를 수신한 시간 (* realtime 발송 성공시에만 존재. 단, 읽은 시간은 아님) | "received_at":"2015-08-06 10:51:00" |
message | text | N | 오류 메시지 (오류시 존재하는 값) | "message ":"AckTimeoutException(1)" |
serial_number | text(39) | Y | 알림톡 발신 serial_number |
4.4.2.1Attachment
알림톡은 <4.2 메시지 전송 요청>의 요청 필드 중 attachment 값에 링크 버튼을 첨부하여 발송할 수 있다. 버튼은 목록으로(Array) 최대 5개까지 템플릿에 등록하여 발송할 수 있다.
- [Parameter]
키 | 타입 | 필수 | 설명 | ||
---|---|---|---|---|---|
button | 버튼 목록 | ||||
name | text(14) | Y | 버튼명 | ||
type | text(2) | Y | 버튼 타입 아래 button 타입에서 확인 가능 | ||
scheme_android | text | - | mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme | ||
scheme_ios | text | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme | ||
url_mobile | text | mobile 환경에서 버튼 클릭 시 이동할 url | |||
url_pc | text | - | pc 환경에서 버튼 클릭 시 이동할 url | ||
chat_extra | text(50) | - | 상담톡/봇 전환 시 전달할 메타정보 | ||
chat_event | text(50) | - | 봇 전환 시 연결할 봇 이벤트명 | ||
plugin_id | text(24) | 플러그인 ID | |||
relay_id | text | 플러그인 실행시 X-Kakao-Plugin-Relay-Id 헤더를 통해 전달 받을 값 (카카오톡 비즈플러그인 안내 페이지 하단 개발 가이드 참고) | |||
oneclick_id | text | 원클릭 결제 플러그인에서 사용하는 결제 정보 (카카오톡 비즈플러그인 안내 페이지 하단 개발 가이드 참고) | |||
product_id | text | 원클릭 결제 플러그인에서 사용하는 결제 정보 (카카오톡 비즈플러그인 안내 페이지 하단 개발 가이드 참고) | |||
item_highlight | json | N | 아이템 하이라이트 | ||
title | text(30) | Y | 타이틀 (이미지가 있는 경우 최대 21자) | ||
description | text(19) | Y | 부가정보 (이미지가 있는 경우 최대 13자) | ||
item | json | N | 아이템리스트와 아이템 요약정보 | ||
list | array | Y | 아이템리스트 | ||
title | text(6) | Y | 타이틀 | ||
description | text(23) | Y | 부가정보 | ||
summary | json | N | 아이템 요약정보 | ||
title | text(6) | Y | 타이틀 | ||
description | text(14) | Y | 가격정보
|
- [Example]
"attachment":{"button":[{"name":"비즈메시지 소개","type":"WL","url_pc":"http://bizmessage.kakao.com/", "url_mobile":"http://bizmessage.kakao.com/"}]} "attachment":{"button":[{"name":"비즈메시지 소개","type":"WL","url_pc":"http://bizmessage.kakao.com/", "url_mobile":"http://bizmessage.kakao.com/"},{"name":"커스텀스킴 테스트","type":"AL","scheme_ios":"scheme://xxx.xx", "scheme_android":"scheme://xxx.xx"}]} "attachment":{"button":[{"name":"비즈메시지 소개","type":"WL","url_pc":"http://bizmessage.kakao.com/", "url_mobile":"http://bizmessage.kakao.com/"},{"name":"커스텀스킴 테스트","type":"AL","scheme_ios":"scheme://xxx.xx", "scheme_android":"scheme://xxx.xx"}], "item": { "list": [{"title": "가격", "description": "10,000원"}, {"title": "할인금액", "description": "-1원"}]}} "attachment":{"button":[{"name":"비즈메시지 소개","type":"WL","url_pc":"http://bizmessage.kakao.com/", "url_mobile":"http://bizmessage.kakao.com/"},{"name":"커스텀스킴 테스트","type":"AL","scheme_ios":"scheme://xxx.xx", "scheme_android":"scheme://xxx.xx"}], "item_highlight": {"title": "비즈메시지", "description": "알림톡"}, "item": { "list": [{"title": "가격", "description": "10,000원"}, {"title": "할인금액", "description": "-1원"}], "summary": {"title": "총 금액", "description": "9,999원"}}}
4.4.2.1.1button 타입별 속성
필수 파라메터를 모두 입력하셔야 정상적인 발송이 가능합니다.
버튼타입 | 속성 | 타입 | 필수 | 설명 |
---|---|---|---|---|
WL | url_mobile | text | Y | 버튼 클릭 시 이동할 pc/mobile환경별 web url |
url_pc | text | N | ||
AL | scheme_android | text | - | scheme_ios, scheme_android, url_mobile 중 2가지 필수 입력 mobile android 환경에서 버튼 클릭 시 실행할 application custom scheme |
scheme_ios | text | - | mobile ios 환경에서 버튼 클릭 시 실행할 application custom scheme | |
url_mobile | text | - | mobile 환경에서 버튼 클릭 시 이동할 url | |
url_pc | text | N | pc 환경에서 버튼 클릭 시 이동할 url | |
DS | 버튼 클릭 시 배송조회 페이지로 이동 | |||
BK | - | - | - | 해당 버튼 텍스트 전송 |
MD | - | - | - | 해당 버튼 텍스트 + 메시지 본문 전송 |
BC | - | - | - | 상담톡을 이용하는 카카오톡 채널만 이용가능 |
chat_extra | text | N | 상담톡 전환 시 전달할 메타정보 | |
BT | - | - | - | 카카오 I 오픈빌더의 챗봇을 사용하는 카카오톡 채널만 이용가능 |
chat_extra | text | N | 봇 전환 시 전달할 메타정보 | |
chat_event | text | N | 봇 전환 시 연결할 봇 이벤트명 | |
AC | - | - | - | 버튼 클릭 시 카카오톡 채널 추가 |
P1 | pluginId | text | 이미지 보안 전송 플러그인 ID | |
P2 | pluginId | text | 개인정보이용 플러그인 ID | |
P3 | pluginId | text | 원클릭 결제 플러그인 ID | |
BF | biz_form_id | number | 카카오 비즈니스에서 생성한 비즈니스폼 ID |
4.4.2.2Supplement
알림톡은 <4.2 메시지 전송 요청>의 요청 필드 중 supplement 값에 링크 바로연결을 첨부하여 발송할 수 있다. 바로연결은 목록으로(Array) 최대 10개까지 템플릿에 등록하여 발송할 수 있다. 단, 바로연결을 포함하여 발송 시, 버튼은 2개만 등록하여 발송할 수 있다.
키 | 타입 | 필수 | 설명 | ||
---|---|---|---|---|---|
buttons | 바로연결 목록 | ||||
name | text(14) | Y | 바로연결 제목 | ||
type | text(2) | Y | 바로연결 타입 (아래 바로연결 타입에서 확인 가능) | ||
scheme_android | text | - | mobile android 환경에서 바로연결 클릭 시 실행할 application custom scheme | ||
scheme_ios | text | - | mobile ios 환경에서 바로연결 클릭 시 실행할 application custom scheme | ||
url_mobile | text | mobile 환경에서 바로연결 클릭 시 이동할 url | |||
url_pc | text | - | pc 환경에서 바로연결 클릭 시 이동할 url | ||
chat_extra | text(50) | - | 상담톡/봇 전환 시 전달할 메타정보 | ||
chat_event | text(50) | - | 봇 전환 시 연결할 봇 이벤트명 |
- [Example]
"supplement":{"quick_reply":[{"name":"비즈메시지 소개","type":"WL","url_pc":"http://bizmessage.kakao.com/", "url_mobile":"http://bizmessage.kakao.com/"}]} "supplement":{"quick_reply":[{"name":"비즈메시지 소개","type":"WL","url_pc":"http://bizmessage.kakao.com/", "url_mobile":"http://bizmessage.kakao.com/"},{"name":"커스텀스킴 테스트","type":"AL","scheme_ios":"scheme://xxx.xx", "scheme_android":"scheme://xxx.xx"}]}
4.4.2.2.1바로연결 타입별 속성
필수 파라메터를 모두 입력하셔야 정상적인 발송이 가능합니다.
버튼타입 | 속성 | 타입 | 필수 | 설명 |
---|---|---|---|---|
WL | url_mobile | text | Y | 바로연결 클릭 시 이동할 pc/mobile환경별 web url |
url_pc | text | N | ||
AL | scheme_android | text | - | scheme_ios, scheme_android, url_mobile 중 2가지 필수 입력 mobile android 환경에서 바로연결 클릭 시 실행할 application custom scheme |
scheme_ios | text | - | mobile ios 환경에서 바로연결 클릭 시 실행할 application custom scheme | |
url_mobile | text | - | mobile 환경에서 바로연결 클릭 시 이동할 url | |
url_pc | text | N | pc 환경에서 바로연결 클릭 시 이동할 url | |
BK | - | - | - | 해당 바로연결 텍스트 전송 |
MD | - | - | - | 해당 바로연결 텍스트 + 메시지 본문 전송 |
BC | - | - | - | 상담톡을 이용하는 카카오톡 채널만 이용가능 |
chat_extra | text | N | 상담톡 전환 시 전달할 메타정보 | |
BT | - | - | - | 카카오 I 오픈빌더의 챗봇을 사용하는 카카오톡 채널만 이용가능 |
chat_extra | text | N | 봇 전환 시 전달할 메타정보 | |
chat_event | text | N | 봇 전환 시 연결할 봇 이벤트명 |
4.4.3메시지 전송 요청(변수 사용)
- [Request]
path : /alimtalk/send/auto
method : POST
header
Content-type: application/json
parameter (json)
- [Parameter]
키 | 타입 | 필수 | 설명 | 예제 |
---|---|---|---|---|
sender_key | text(40) | Y | 발신 프로필 키 | "sender_key":"2662e99eb7a1f21abb3955278e9955f5a9a99b62" |
phone_number | text(16) | N | 사용자 전화번호 (국가코드(82)를 포함한 전화번호) phone_number 혹은 app_user_id 둘 중 하나는 반드시 있어야 한다. | "phone_number":"821012345678" |
app_user_id | text(20) | N | 앱유저아이디 phone_number 혹은 app_user_id 둘 중 하나는 반드시 있어야 한다. phone_number와 app_user_id의 정보가 동시에 요청된 경우 phone_number로만 발송합니다. | "app_user_id":"12345" |
template_code | text(30) | Y | 템플릿 코드 (실제 발송할 메시지 유형으로 등록된 템플릿의 코드) | "template_code":"A001_01" |
message_type | text(2) | Y | (AT: 알림톡, AI: 이미지 알림톡) | "message_type":"AT" |
response_method | text(8) | Y | 결과를 응답받는 방법 (realtime/push/polling, 기본값 없음) | "response_method":"realtime" |
timeout | number | N | 타임아웃(초) (성공 여부를 결정하기 위한 시간) | "timeout":30 |
var_name1 | text | N | 알림톡 등록시 #{변수} 형태로 넣은 값. 알림톡 변수 명 | "var_name1" : "고객명" |
var_value1 | text | N | 알림톡 변수 값 | var_value1" : "홍길동" |
var_name2 | text | N | 알림톡 변수 명 | |
var_value2 | text | N | 알림톡 변수 값 | |
var_name3 | text | N | 알림톡 변수 명 | |
var_value3 | text | N | 알림톡 변수 값 | |
var_name4 | text | N | 알림톡 변수 명 | |
var_value4 | text | N | 알림톡 변수 값 | |
var_name5 | text | N | 알림톡 변수 명 | |
var_value5 | text | N | 알림톡 변수 값 |
- [Response]
키 | 타입 | 필수 | 설명 | 예제 |
---|---|---|---|---|
code | text(4) | Y | 처리 결과 코드 (0000은 정상 / 나머지는 오류) | "code ":"0000" <5.1 오류코드 에서 확인 가능> |
received_at | text(19) | N | 메시지를 수신한 시간 (* realtime 발송 성공시에만 존재. 단, 읽은 시간은 아님) | "received_at":"2015-08-06 10:51:00" |
message | text | N | 오류 메시지 (오류시 존재하는 값) | "message ":"AckTimeoutException(1)" |
serial_number | text(39) | Y | 알림톡 발신 serial_number |
4.4.4발송 테스트
테스트를 위하여 발신프로필과 카카오톡 채널을 추가한 경우에만 알림톡 테스트 메시지를 발송할 수 있다.
- [Example]
$ curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"sender_key":"2662e99eb7a1f21abb3955278e9955f5a9a99b62","phone_number":"821012345678","template_code":"A001_01","message":"임꺽정님이 보낸 등기 1234567_89123456를 홍길동(회사동료)님께 배달 완료 1588-1300","response_method":"push"}' https://localhost/alimtalk/send
{"code":"0000"}
4.4.5코드 정의
code | 설명 | |
---|---|---|
0000 | 정상코드 - response_method가 realtime인 경우 전송/수신 성공 - polling 인 경우 전송만 성공 - push 인 경우 전송 성공 및 과금 처리 | |
1001 | NoJsonBody | Request Body가 Json형식이 아님 |
1002 | InvalidHubPartnerKey | 허브 파트너 키가 유효하지 않음 |
1003 | InvalidSenderKey | 발신 프로필 키가 유효하지 않음 |
1004 | NoValueJsonElement | Request Body(Json)에서 name을 찾을 수 없음 |
1006 | DeletedSender | 삭제된 발신프로필. (메시지 사업 담당자에게 문의) |
1007 | StoppedSender | 차단 상태의 발신프로필. (메시지 사업 담당자에게 문의) |
1011 | ContractNotFound | 계약정보를 찾을 수 없음. (메시지 사업 담당자에게 문의) |
1012 | InvalidUserKeyException | 잘못된 형식의 유저키 요청 |
1013 | InvalidAppLink | 유효하지 않은 app연결 |
1014 | InvalidBizNum | 유효하지 않은 사업자번호 |
1015 | TalkUserIdNotFonud | 유효하지 않은 app user id 요청 |
1016 | BizNumNotEqual | 사업자등록번호 불일치 |
1012 | InvalidUserKeyException | 잘못된 형식의 유저키 요청 |
1020 | InvalidReceiveUser | 전화번호 or app user id가 유효하지 않거나 미입력 요청 |
1021 | BlockedProfile | 차단 상태의 카카오톡 채널 (카카오톡 채널 운영툴에서 확인) |
1022 | DeactivatedProfile | 닫힘 상태의 카카오톡 채널 (카카오톡 채널 운영툴에서 확인) |
1023 | DeletedProfile | 삭제된 카카오톡 채널 (카카오톡 채널 운영툴에서 확인) |
1024 | DeletingProfile | 삭제대기 상태의 카카오톡 채널 (카카오톡 채널 운영툴에서 확인) |
1025 | SpammedProfile | 메시지차단 상태의 카카오톡 채널 (카카오톡 채널 운영툴에서 확인) |
1026 | UnableUseMessageType | 해당 message_type에서 사용할 수 없는 response_method로 요청 (이미지알림톡(AI)는 realtime으로 발송 불가) |
1030 | InvalidParameterException | 잘못된 파라메터 요청 |
2003 | FailedToSendMessageByNoFriendshipException | (테스트 발송) 카카오톡 채널을 추가하지 않았음 |
2004 | FailedToMatchTemplateException | 템플릿 일치 확인시 오류 발생(내부 오류 발생) |
2006 | FailedToMatchSerialNumberPrefixPattern | <4.2 메시지 전송 요청>에 명시된 시리얼넘버 형식 불일치 |
3000 | UnexpectedException | 예기치 않은 오류 발생 |
3005 | AckTimeoutException | 메시지를 발송했으나 수신확인 안됨 (성공불확실) - 서버에는 암호화 되어 보관되며 3일 이내 수신 가능 |
3006 | FailedToSendMessageException | 내부 시스템 오류로 메시지 전송 실패 |
3008 | InvalidPhoneNumberException | 전화번호 오류 |
3010 | JsonParseException | Json 파싱 오류 |
3011 | MessageNotFoundException | 메시지가 존재하지 않음 |
3012 | SerialNumberDuplicatedException | 메시지 일련번호가 중복됨 - 메시지 일련번호는 CS처리를 위해 고유한 값이 부여되어야 함 |
3013 | MessageEmptyException | 메시지가 비어 있음 |
3014 | MessageLengthOverLimitException | 메시지 길이 제한 오류 (템플릿별 제한 길이 또는 1000자 초과) |
3015 | TemplateNotFoundException | 템플릿을 찾을 수 없음 |
3016 | NoMatchedTemplateException | 메시지 내용이 템플릿과 일치하지 않음 |
3018 | NoSendAvailableException | 메시지를 전송할 수 없음 |
3025 | ExceedMaxVariableLengthException | 변수 글자수 제한 초과 |
3026 | Button chat_extra(event)-InvalidExtra(EventName)Exception '([A-Za-z0-9_]{1,50})' | 상담/봇 전환 버튼 extra, event 글자수 제한 초과 |
3027 | NoMatchedTemplateButtonException / NoMatchedTemplateQuickReplyException | 메시지 버튼/바로연결이 템플릿과 일치하지 않음 |
3028 | NoMatchedTemplateTitleException | 메시지 강조 표기 타이틀이 템플릿과 일치하지 않음 |
3029 | ExceedMaxTitleLengthException | 메시지 강조 표기 타이틀 길이 제한 초과 (50자) |
3030 | NoMatchedTemplateWithMessageTypeException | 메시지 타입과 템플릿 강조유형이 일치하지 않음 |
3031 | NoMatchedTemplateHeaderException | 헤더가 템플릿과 일치하지 않음 |
3032 | ExceedMaxHeaderLengthException | 헤더 길이 제한 초과(16자) |
3033 | NoMatchedTemplateItemHighlightException | 아이템 하이라이트가 템플릿과 일치하지 않음 |
3034 | ExceedMaxItemHighlightTitleLengthException | 아이템 하이라이트 타이틀 길이 제한 초과(이미지 없는 경우 30자, 이미지 있는 경우 21자) |
3035 | ExceedMaxItemHighlightDescriptionLengthException | 아이템 하이라이트 디스크립션 길이 제한 초과(이미지 없는 경우 19자, 이미지 있는 경우 13자) |
3036 | NoMatchedTemplateItemListException | 아이템 리스트가 템플릿과 일치하지 않음 |
3037 | ExceedMaxItemDescriptionLengthException | 아이템 리스트의 아이템의 디스크립션 길이 제한 초과(23자) |
3038 | NoMatchedTemplateItemSummaryException | 아이템 요약정보가 템플릿과 일치하지 않음 |
3039 | ExceedMaxItemSummaryDescriptionLengthException | 아이템 요약정보의 디스크립션 길이 제한 초과(14자) |
3040 | InvalidItemSummaryDescriptionException | 아이템 요약정보의 디스크립션에 허용되지 않은 문자 포함(통화기호/코드, 숫자, 콤마, 소수점, 공백을 제외한 문자 포함) |
4000 | ResponseHistoryNotFoundException | 메시지 전송 결과를 찾을 수 없음 |
4001 | UnknownMessageStatusError | 알 수 없는 메시지 상태 |
5000 | InvalidTestUser | (테스트 발송) 관리자 혹은 일회성 인증을 받은 사용자가 아님 |
5001 | DailyTestLimitExceeded | (테스트 발송) 일일 발송량 초과 |
9998 | 현재 서비스를 제공하고 있지 않습니다. | 시스템에 문제가 발생하여 담당자가 확인하고 있는 경우 |
9999 | 시스템에서 알 수 없는 문제가 발생하였습니다. | 시스템에 문제가 발생하여 담당자가 확인하고 있는 경우 |
4.5발송 결과 조회
4.5.1발송 결과 조회
polling 방식으로 전송후 발송 결과를 확인 할수 있다.
- [Request]
POST /alimtalk/result
- [Parameter]
키 | 타입 | 필수 | 설명 |
---|---|---|---|
senderKey | text | Y | 발신 프로필 키 |
serial_number | text | Y | 알림톡 발신 serial_number |
- [Response]
키 | 타입 | 설명 |
---|---|---|
code | text | 결과코드 |
serial_number | text(39) | 알림톡 발신 serial_number |
status | text(4) | 요청 응답 코드 (0000: 성공) |
received_at | text(19) | 메시지를 받은 시간 |
result_status | text(4) | 메시지 상태 코드(MS03: 성공, ME09:사용자에게 메시지를 발송했으나 수신여부 불투명 (성공불확실 / 비과금 ) |
responsed_at | text(19) | 결과를 응답한 시간 |
response_message | text | 오류메시지(오류시 존재하는 값) |
- [Example]
url -H "Accept: application/json" -H "Content-type: application/json" \ -X POST -d \ '{"sender_key":"940e873beb5fa749065277ca73b5485536e41548", "serial_number":"20210901-0001-612ECDA2" }' \ http://118.219.54.237:8090/alimtalk/result
4.5.2발송 결과 조회(여러개)
polling 방식으로 전송후 발송 결과를 확인 할수 있다.
최대 30개만 가능합니다.
- [Request]
POST /alimtalk/results
- [Parameter]
키 | 타입 | 필수 | 설명 | |
---|---|---|---|---|
senderKey | text | Y | 발신 프로필 키 | |
serial_numbers | array | |||
serial_numbers | text | Y | 알림톡 발신 serial_number |
- [Response]
키 | 타입 | 설명 | |
---|---|---|---|
code | text | 결과코드 | |
data | array | ||
serial_number | text(39) | 알림톡 발신 serial_number | |
status | text(4) | 요청 응답 코드 (0000: 성공) | |
received_at | text(19) | 메시지를 받은 시간 | |
result_status | text(4) | 메시지 상태 코드(MS03: 성공, ME09:사용자에게 메시지를 발송했으나 수신여부 불투명 (성공불확실 / 비과금 ) | |
responsed_at | text(19) | 결과를 응답한 시간 | |
response_message | text | 오류메시지(오류시 존재하는 값) |
- [Example]
curl -H "Accept: application/json" -H "Content-type: application/json" \ -X POST -d \ '{"sender_key":"940e873beb5fa749065277ca73b5485536e41548", "serial_numbers":[{"serial_number":"20210826-0009-61275F70"} , {"serial_number":"20210826-0000-6127420B"} ] }' \ http://127.0.0.1:8080/alimtalk/results
- [Example(response)]
{ "code": "200", "data": [ { "serial_number": "20210826-0000-6127420B", "status": "0000", "received_at": "2021-08-26 16:26:06", "result_status": "MS03", "responsed_at": "2021-08-26 16:26:12" }, { "serial_number": "20210826-0009-61275F70", "status": "0000", "received_at": "2021-08-26 18:31:30", "result_status": "MS03", "responsed_at": "2021-08-26 18:31:40" } ] }