서비스소개

연동형 API

고객센터

알림톡 발송 RESTful API

별도의 신청절차 없이 플러스친구 계정 연동만 하면 바로 사용하실 수 있습니다.

지금바로 서버 연동하기
제공중인 알림톡연동 API
API 스펙보기
다양한 개발 환경에 연동지원
예제 다운로드
API 호출을 위한 토큰 생성

API 호출을 위해서는 반드시 API 호출 토큰 스트링을 생성해야 합니다. 생성된 토큰 문자열은 호출한 API 스트링의 소유자 및 유효시간 정보를 포함하고 있습니다.

[ Request ]

    POST /akv10/token/create/30/s/ HTTP/1.1
	Host: kakaoapi.aligo.in
	Service Port: 443

https 프로토콜을 사용하여 POST로 요청합니다. API호출 URL의 유효시간을 결정하며 URL 의 구성중 "30"은
요청의 유효시간을 의미하며, "s"는 y(년), m(월), d(일), h(시), i(분), s(초) 중 하나이며 설정한 시간내에서만 토큰이 유효합니다.
운영중이신 보안정책에 따라 토큰의 유효시간을 특정 기간만큼 지정할 경우 매번 호출할 필요없이 해당 유효시간내에 재사용 가능합니다.
주의하실 점은 서버를 여러대 운영하실 경우 토큰은 서버정보를 포함하므로 각 서버에서 생성된 토큰 문자열을 사용하셔야 하며
토큰 문자열을 공유해서 사용하실 수 없습니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String

예를 들면,

curl -X POST "https://kakaoapi.aligo.in/akv10/token/create/30/s/" \
	--data-urlencode "apikey=xxxxx" \
	--data-urlencode "userid=xxxxx"

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 성공시 0, 실패시 -99 Integer
message code 값에 해당하는 결과 메시지 입니다. String
token 생성된 TOKEN 스트링이 리턴됩니다. String
urlencode 생성된 TOKEN 스트링에 URL 인코드를 적용하여 리턴합니다. String

토큰생성이 정상적으로 성공하였을 경우를 예로들면,

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 생성하였습니다."
                    "token": z8eb77c428c46d04cf7db29U5vakS6dZB7bfAP+vBjX+RfWjtfNcQ==
                    "urlencode": z8eb77c428c46d04cf7db29U5vakS6dZB7bfAP%2BvBjX%2BRfWjtfNcQ%3D%3D
                }
            

토큰생성 요청이 실패한 경우를 예로들면,

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": -99
                    "message": "계정 아이디(=userid) 파라메더 정보가 전달되지 않았습니다."
                }
            

 

플러스 친구관리 - 인증요청

알림톡 및 친구톡을 전송하기 위해서는 반드시 플러스 친구를 인증한 후 진행해야 합니다. 보유한 플러스 친구 계정이 없을경우 ( https://center-pf.kakao.com ) 에서 등록하신 후 진행 가능합니다.

[ Request ]

              POST /akv10/profile/auth/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다. 카카오톡을 통하여 인증메세지가 전송됩니다..

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
plusid 플러스친구 아이디(@포함) O String
phonenumber 플러스친구 알림받는 관리자 핸드폰 번호 O String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/profile/auth/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "plusid=@테스트" \
                --data-urlencode "phonenumber=01011111111"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String

인증요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 호출하였습니다."
                }
            

인증요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 509
                    "message": "요청한 번호가 플러스친구 관리자 알림 설정 되어있는지 확인해주세요."
                }
            
            

 

플러스 친구관리 - 카테고리 조회

알림톡 발신프로필 심사요청시 사용가능한 카테고리 정보 입니다. "thirdBusinessType" 의 code 를 기입하시면 됩니다.

[ Request ]

              POST /akv10/category/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/category/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
data 조회된 카테고리 코드 String

인증요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 호출하였습니다."
                    "data": {
                            firstBusinessType: [{"parentCode": "", "code":"001", "name":"건강"}...],
                            secondBusinessType: [{"parentCode": "001", "code":"001001", "name":"병원"}...],
                            thirdBusinessType: [{"parentCode": "0010001", "code":"00100010001", "name":"종합병원"}...]
                    }
                }
            

인증요청이 실패하였을 경우

            HTTP/1.1 -99 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 509
                    "message": "계정 아이디(=userid) 파라메더 정보가 전달되지 않았습니다."
                }
            
            

 

플러스 친구관리 - 친구등록 심사 요청

알림톡 및 친구톡을 전송하기 위해서는 플러스 친구를 심사요청 후 진행해야 하며 다음-카카오측의 심사요청 결과에 따라 거부되어 재심사 요청이 발생할 수 있습니다.

[ Request ]

              POST /akv10/profile/add/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다. 카카오톡을 통하여 인증메세지가 전송됩니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
plusid 플러스친구 아이디(@포함) O String
authnum 발신프로필 인증번호
("플러스 친구관리 - 인증요청 API" 로 생성)
O String
phonenumber 플러스친구 알림받는 관리자 핸드폰 번호 O String
categorycode 발신프로필의 카테고리 코드
("플러스 친구관리 - 카테고리 조회" 로 확인)
O String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/profile/add/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "plusid=@테스트" \
                --data-urlencode "authnum=12345" \
                --data-urlencode "phonenumber=01000000000"
                --data-urlencode "categorycode=00000000000"

                
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
data 생성된 발신 프로필 키 String

인증요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 호출하였습니다."
                    "data": "XXXXXXXXXXXXXXXXX."
                }
            

인증요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 509
                    "message": "요청한 번호가 플러스친구 관리자 알림 설정 되어있는지 확인해주세요."
                }
            
            

 

플러스 친구관리 - 등록된 플러스친구 리스트

등록된 플러스 친구 목록을 조회합니다.

[ Request ]

              POST /akv10/profile/list/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
plusid 플러스친구 아이디(@포함) X String
senderkey 발신프로필 키 X String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/profile/list/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
list 등록된 발신프로필 목록 array
senderKey 발신프로필키 String
catCode 카테고리 코드 String
name 발신 프로필명 String
profileStat 플러스친구 상태
(A:activated, C:deactivated, B:block, E:deleting, D:deleted)
String
status 상태(A:정상, S:차단, D:삭제) String
cdate 등록일 Text
udate 최종 수정일 Text

정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 호출하였습니다."
                    "list": [{
                        "senderKey": "000000000000000000000000000000000000",
                        "license": "http://mud-kage.kakao.com/dn/0000/0000/00000000000000000/img.png",
                        "catCode": "00000000000",
                        "alimUseYn": false,
                        "cdate": "2019-10-18 22:52:11",
                        "name": "테스트",
                        "profileStat": "A",
                        "licenseNum": "테스트",
                        "udate": "2019-10-18 22:52:11",
                        "uuid": "@test",
                        "status": "A"
                    }]
                }
            

인증요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": -99
                    "message": "토큰(=token) 파라메더가 전달되지 않았습니다."
                }
            
            

 

템플릿 관리 - 등록된 템플릿 리스트

등록된 템플릿 목록을 조회합니다. 템플릿 코드가 D 나 P 로 시작하는 경우 공유 템플릿이므로 삭제 불가능 합니다.

[ Request ]

              POST /akv10/template/list/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
senderkey 발신프로필 키 O String
tpl_code 템플릿 코드 X String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/template/list/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
list 등록된 발신프로필 목록 array
templtContent 등록된 템플릿 콘텐츠 String
templtName 템플릿 명 String
status 상태 (S: 중단, A: 정상, R: 대기) String
inspStatus 승인상태 (REG: 등록, REQ: 심사요청, APR: 승인, REJ: 반려) String
senderKey 발신프로필키 String
buttons 템플릿에 사용된 버튼 정보 Array
ordering 버튼 순서 (1 ~ 5) String
name 버튼명 String
linkType 버튼타입 (DS: 배송조회, WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달) String
linkTypeName 버튼타입명 String
linkMo 모바일 웹링크 (WL일때) String
linkPc PC 웹링크 (WL일때) String
linkIos IOS 앱링크 (AL일때) String
linkAnd 안드로이드 앱링크 (AL일때) String
cdate 템플릿 생성일 String
templtCode 템플릿 코드 Text
comments 템플릿 코멘트 Text

정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 호출하였습니다."
                    "list": [{
                        "templtContent": "#{고객명}님께서 주문하신 물품이\r\n배송완료 되었습니다.\r\n구매확정 부탁드립니다.",
                        "templtName": "배송완료 안내",
                        "status": "R",
                        "inspStatus": "APR",
                        "senderKey": "000000000000000000000000000000000000",
                        "buttons": [
                            {
                                "ordering": "1",
                                "name": "구매확정바로가기",
                                "linkType": "WL",
                                "linkTypeName": "웹링크",
                                "linkMo": "http://#{구매확정바로가기}",
                                "linkPc": "http://#{구매확정바로가기}",
                                "linkIos": "",
                                "linkAnd": ""
                            }
                        ],
                        "cdate": "2018-12-28 17:21:40",
                        "templtCode": "P000004",
                        "comments": []
                    }],
                    "info": {
                        "REG": 0,
                        "REQ": 0,
                        "APR": 1,
                        "REJ": 0
                    }
                }
            

 

템플릿 관리 - 신규 템플릿 생성

알림톡을 전송하기 위해서는 템플릿을 작성해야 하며, 작성된 템플릿은 다음-카카오측의 4-5일간의 검수후 결과에 따라 거부되어 재작성 요청이 발생할 수 있습니다.

[ Request ]

              POST /akv10/template/add/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다. 등록한 템플릿에 대한 검수는 API로 요청을 하셔야 합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
senderkey 발신프로파일 키 O String
tpl_name 템플릿 이름 O String
tpl_content 템플릿 내용 O String
tpl_button 템플릿 버튼 X JSON

tpl_button 상세

변수 설명 필수 타입
name 버튼명 O String
linkType 버튼의 링크타입
(DS: 배송조회, WL: 웹링크, AL: 앱링크, BK: 봇키워드, MD: 메시지전달)
O String
linkM 모바일 웹링크주소
(http:// 또는 https:// 필수)
WL 일때 필수 String
linkP PC 웹링크주소
(http:// 또는 https:// 필수)
WL 일때 필수 String
linkI IOS 앱링크주소 AL 일때 필수 String
linkA Android 앱링크주소 AL 일때 필수 String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/template/add/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "senderkey=xxxxxxxxxx" \
                --data-urlencode "tpl_name=테스트이름" \
                --data-urlencode "tpl_content=테스트내용"
                --data-urlencode "tpl_button={"button":[{"name":"웹링크","linkType":"WL","linkM":"http:\/\/#{버튼변수}",
                "linkP":"http:\/\/#{버튼변수}"}]}"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
data 생성한 템플릿 정보 String

템플릿생성 요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 템플릿을 생성하였습니다."
                    "data": {
                        "senderKey": "XXXXXXXXXXXXXX",
                        "templtContent": "등록한 템플릿 컨텐츠",
                        "templtName": "등록한 템플릿 명",
                        "cdate": "2019-10-18 22:52:11",
                        "comments": [],
                        "buttons": [
                            {
                                "ordering": "1",
                                "name": "웹링크",
                                "linkType": "WL",
                                "linkTypeName": "웹링크",
                                "linkMo": "http://#{버튼변수}",
                                "linkPc": "http://#{버튼변수}",
                                "linkIos": "",
                                "linkAnd": ""
                            }
                        ],
                        "templtCode": XXXXXXXX
                        "udate": 
                        "inspStatus": REG
                        "status": R
                    }
                }
            

템플릿생성 요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": -99
                    "message": "발신 프로파일 키(=senderkey)파라메더 정보가 전달되지 않았습니다."
                }
            
            

 

템플릿 관리 - 템플릿 수정

작성 또는 반려된 템플릿을 수정하는 기능이며, 템플릿상태가 대기(R)이고 템플릿 검수상태가 등록(REG) 또는 반려(REJ)인 경우에만
수정 가능합니다.

[ Request ]

              POST /akv10/template/modify/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다. 등록한 템플릿에 대한 검수는 API로 요청을 하셔야 합니다. .

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
senderkey 발신프로파일 키 O String
tpl_code 템플릿 코드 O String
tpl_name 템플릿 이름 O String
tpl_content 템플릿 내용 O String
tpl_button 템플릿 버튼 X JSON

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/template/modify/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "senderkey=xxxxxxxxxx" \
                --data-urlencode "tpl_name=템플릿코드" \
                --data-urlencode "tpl_name=수정된템플릿명" \
                --data-urlencode "tpl_content=수정된템플릿내용"
                --data-urlencode "tpl_button={"button":[{"name":"웹링크","linkType":"WL","linkM":"http:\/\/#{버튼변수}",
                "linkP":"http:\/\/#{버튼변수}"}]}"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
data 생성한 템플릿 정보 String

템플릿수정 요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 템플릿을 수정하였습니다."
                    "data": {
                        "senderKey": "XXXXXXXXXXXXXX",
                        "templtContent": "수정한 템플릿 컨텐츠",
                        "templtName": "수정한 템플릿 명",
                        "cdate": "2019-10-18 22:52:11",
                        "comments": [],
                        "buttons": [
                            {
                                "ordering": "1",
                                "name": "웹링크",
                                "linkType": "WL",
                                "linkTypeName": "웹링크",
                                "linkMo": "http://#{버튼변수}",
                                "linkPc": "http://#{버튼변수}",
                                "linkIos": "",
                                "linkAnd": ""
                            }
                        ],
                        "templtCode": XXXXXXXX
                        "udate": 
                        "inspStatus": REG
                        "status": R
                    }
                }
            

템플릿수정 요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 509
                    "message": "수정 가능 상태가 아닙니다."
                }
            
            

 

템플릿 관리 - 템플릿 삭제 요청

승인이 이루어지지 않은 템플릿에 대하여 삭제요청 합니다. 삭제는 즉시 이루어 지나 이미 승인이 완료된 템플릿은 삭제불가 합니다.

[ Request ]

              POST /akv10/template/del/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
senderkey 발신프로파일 키 O String
tpl_code 템플릿 코드 O String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/template/del/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "senderkey=xxxxxxxxxx" \
                --data-urlencode "tpl_code=TXXXXXXXX"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String

템플릿삭제 요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "정상적으로 템플릿을 삭제 하였습니다."
                }
            

템플릿삭제 요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": -99
                    "message": "발신 프로파일 키(=senderkey)파라메더 정보가 전달되지 않았습니다."
                }
            
            

 

템플릿 관리 - 템플릿 검수 요청

작성이 완료된 템플릿에 대하여 검수요청을 합니다. 검수 결과에 따라 재작성 요청이 발생 할 수 있습니다.

[ Request ]

              POST /akv10/template/request/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다. 검수기간은 4-5일 정도가 소요되며 결과에 따라 재작성 요청이 발생 할 수있습니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
senderkey 발신프로파일 키 O String
tpl_code 템플릿 코드 O String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/template/request/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "senderkey=xxxxxxxxxx" \
                --data-urlencode "tpl_code=TXXXXXXXX"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String

템플릿검수 요청이 정상적으로 성공했을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "검수요청을 하였습니다."
                }
            

템플릿검수 요청이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": -99
                    "message": "발신 프로파일 키(=senderkey)파라메더 정보가 전달되지 않았습니다."
                }
            
            

 

알림톡 전송

알림톡 전송을 요청합니다. 템플릿 서식과 일치하지 않을경우 전송되지 않습니다.

[ Request ]

              POST /akv10/alimtalk/send/ HTTP/1.1
                    Host: kakaoapi.aligo.in
                    Service Port: 443
            
            

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
senderkey 발신프로파일 키 O String
tpl_code 템플릿 코드 O String
sender 발신자 연락처 O String
senddate 예약일 X datetime
receiver_1 (1 ~ 500) 수신자 연락처 O String
recvname_1 (1 ~ 500) 수신자 이름 X String
subject_1 (1 ~ 500) 알림톡 제목 O String
message_1 (1 ~ 500) 알림톡 내용 O String
button_1 (1 ~ 500) 버튼 정보 X JSON
failover 실패시 대체문자 전송기능 X Y or N
fsubject_1 (1 ~ 500) 실패시 대체문자 제목 X String
fmessage_1 (1 ~ 500) 실패시 대체문자 내용 X String

예를 들면,

            curl -X POST "https://kakaoapi.aligo.in/akv10/alimtalk/send/" \
                --data-urlencode "apikey=xxxxx" \
                --data-urlencode "userid=xxxxx" \
                --data-urlencode "token=xxxxxxxxxxxxxxxxxxx" \
                --data-urlencode "senderkey=xxxxxxxxxx" \
                --data-urlencode "tpl_code=TXXXXXXXX" \
                --data-urlencode "sender=xxxxxxxxx" \
                --data-urlencode "datetime=20191018230200" \
                --data-urlencode "receiver_1=010xxxxxxxx" \
                --data-urlencode "recvname_1=홍길동1" \
                --data-urlencode "subject_1=제목1" \
                --data-urlencode "message_1=내용1" \
                --data-urlencode 'button_1={"button":[{"name":"배송조회(DS)","linkType":"DS"}]}' \
                --data-urlencode "failover=Y" \
                --data-urlencode "fsubject_1=문자제목1" \
                --data-urlencode "fmessage_1=문자내용1"
            
            

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message API 호출에 대한 결과 메세지 String
info 알림톡 전송후 잔액 및 소비단가 정보 List
info 변수 설명
변수 설명 타입
type AT String
mid 메세지 ID Integer
current 잔여하트 Float
unit 개별전송단가 Float
total 전체전송단가 Float

알림톡 전송이 성공하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": 0
                    "message": "성공적으로 전송요청 하였습니다."
                    "info" : [{
                            "type": "AT",
                             "mid": "XXXXXXXX",
                            "current": 0,
                            "unit": 0,
                            "total": 0
                            }]
                }
            

알림톡 전송이 실패하였을 경우

            HTTP/1.1 200 OK
                Content-Type: application/json;charset=UTF-8
                {
                    "code": -99
                    "message": "보유한 하트가 부족합니다."
                }
            
            

 

전송내역조회

최근 요청및 처리된 전송내역을 조회하실 수 있습니다. 사이트내 전송결과조회 페이지와 동일한 내역이 조회되며, 날짜기준으로 조회가 가능합니다. 발신번호별 조회기능은 제공이 되지 않습니다. 조회시작일을 지정하실 수 있으며, 시작일 이전 몇일까지 조회할지 설정이 가능합니다. 조회시 최근발송내역 순서로 소팅됩니다.

[ Request ]

POST /akv10/history/list/ HTTP/1.1
	Host: kakaoapi.aligo.in
	Service Port: 443

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 토큰 O String
page 페이지번호 X(기본 1) Integer
limit 페이지당 출력갯수 X(기본 50) 50~500 Integer
startdate 조회시작일자 X(기본 최근일자) YYYYMMDD
enddate 조회마감일자 X Integer

오늘기준 7일전 전송내역 조회를 예로 들면,

curl -X POST "https://kakaoapi.aligo.in/akv10/history/list/" \
	--data-urlencode "apikey=xxxxx" \
	--data-urlencode "userid=xxxxx" \
	--data-urlencode "token=xxxxx" \
	--data-urlencode "page=1" \
	--data-urlencode "limit=50" \
	--data-urlencode "startdate=20190918" \
	--data-urlencode "enddate=20191018"

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message 결과 메세지( code 가 0 이 아닌경우 실패사유 표기) String
list 목록 배열 Array
currentPage 현재 페이지 Integer
totalPage 전체 페이지 Integer
totalCount 전체 메세지 갯수 Integer
list 배열
변수 설명 타입
mid 메세지ID Integer
type 문자구분(유형) String
sender 발신번호 String
msg_count 전송요청수 Integer
mbody 메세지내용 String
reserve_date 메세지 예약일 String
reserve_state 메세지 상태 String
regdate 등록일 String

최근 발송된 건을 조회한 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
	    "code": 0
	    "message": "정상적으로 호출하였습니다."
	    "list": [{
			"mid": "123456788"
			"type": "AT"
			"sender": "025114560"
			"msg_count": "1"
			"reserve_date": "20191018225211"
			"reserve_state": "예약대기중"
			"mbody": "API 전송테스트 입니다."
			"reg_date": "2019-10-18 22:17:11"
			}]
	    "currentPage": "1"
        "totalPage": "1"
        "totalCount": "1"
	}

전송요청이 실패한 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
	"code": -99
	"message": "인증오류입니다."
	}

 

전송결과조회(상세)

API에서 조회되는 mid를 사용하여 수신번호별 상태를 조회하실 수 있습니다. 수신전화번호별 전송상태를 조회하실 수 있으며 목록에 없거나 전송중인 문자는 만24시간동안 전송시도중인것입니다. 최종 24시간이 경과 후 조회하셔야 완료된 내역을 확인하실 수 있습니다.

[ Request ]

POST /akv10/history/detail/ HTTP/1.1
	Host: kakaoapi.aligo.in
	Service Port: 443

https 프로토콜을 사용하여 POST로 요청합니다. 통신사에 전달 후 전송결과가 통보되지 않은 경우에는 목록에 나오지 않거나, 전송중으로 나올 수 있습니다. 24시간 후 최종 결과를 확인하시기 바랍니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
mid 메세지 고유ID O Integer
page 페이지번호 X(기본 1) Integer
limit 페이지당 출력갯수 X(기본 50) 50~500 Integer
start_date 조회시작일자 X(기본 최근일자) YYYYMMDD
enddate 조회마감일자 X Integer

mid 123456789 의 전송결과 상세 조회를 예로 들면,

curl -X POST "https://kakaoapi.aligo.in/akv10/history/detail/" \
	--data-urlencode "userid=xxxxx" \
	--data-urlencode "apikey=xxxxx" \
	--data-urlencode "token=xxxxx" \
	--data-urlencode "mid=123456678" \
	--data-urlencode "page=1" \
	--data-urlencode "limit=50"

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message 결과 메세지( code 가 0 이 아닌경우 실패사유 표기) String
list 목록 배열 Array
currentPage 현재 페이지 Integer
totalPage 전체 페이지 Integer
totalCount 전체 메세지 갯수 Integer
list 배열
변수 설명 타입
msgid 메세지 상세ID (전송중인 경우 앞에 "Q" 가 붙음) String
type 문자구분(유형) String
sender 발신번호 String
phone 수신번호 String
status 메세지 상태
(2 : 카카오 인식불가 번호포맷, 3 : 카카오 인식가능 번호포맷)
Integer
reqdate 요청일 YYYY-MM-DD HH:ii:ss
sentdate 전송일 YYYY-MM-DD HH:ii:ss
rsltdate 응답일 YYYY-MM-DD HH:ii:ss
reportdate 결과값갱신일 YYYY-MM-DD HH:ii:ss
rslt 상태 String
rslt_message 사유 String
message 전송한 내용 String
button_json 버튼내용 String
tpl_code 템플릿 코드 String
senderKey 프로파일키 String
smid 대체문자 전송시 mid Integer

최근 발송된 메세지를 조회한 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
	    "code": 0
	    "message": "정상적으로 호출하였습니다."
	    "list": [{
			"msgid": "123456788",
			"type": "AT",
			"sender": "025114560",
			"phone": "010XXXXXXXX",
			"status": "3",
			"reqdate": "2019-10-18 22:52:11",
			"sentdate": "2019-10-18 22:52:11",
			"rsltdate": "2019-10-18 22:52:11",
			"reportdate": "2019-10-18 22:52:11",
			"rslt": "U",
			"rslt_message": "메시지가 템플릿과 일치하지않음",
			"message": "API 전송테스트 입니다.",
			"button_json": "{}",
			"tpl_code": "XXXXXXX",
			"senderKey": "XXXXXXX",
			"smid": "0"
			}]
	    "currentPage": "1",
	    "totalPage": "1",
	    "totalCount": "1"
	}

전송요청이 실패한 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
	"code": -101
	"message": "인증오류입니다."
	}

 

발송가능건수

보유한 충전금 잔액으로 발송가능한 잔여건수를 문자구분(유형)별로 조회하실 수 있습니다. SMS, LMS, MMS, ALT 로 발송시 가능한 잔여건수이며 남은 충전금을 문자유형별로 보냈을 경우 가능한 잔여건입니다. 예를들어 SMS_CNT : 11 , ALT_CNT : 15 인 경우 단문전송시 11건이 가능하고, 알림톡으로 전송시 15건이 가능합니다.

[ Request ]

POST /akv10/heartinfo/ HTTP/1.1
	Host: kakaoapi.aligo.in
	Service Port: 443

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 토큰 O String

예를 들면,

curl -X POST "https://kakaoapi.aligo.in/akv10/heartinfo/" \
	--data-urlencode "userid=xxxxx" \
	--data-urlencode "apikey=xxxxx" \
	--data-urlencode "token=xxxxx"

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
result_code 결과코드(API 수신유무) Integer
message 결과 메세지( result_code 가 0 보다 작은경우 실패사유 표기) String
SMS_CNT 단문전송시 발송가능한건수 Integer
LMS_CNT 단문전송시 발송가능한건수 Integer
MMS_CNT 그림(사진)전송시 발송가능한건수 Integer
ALT_CNT 알림톡 전송시 발송가능한건수 Integer

조회에 성공한 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
	    "code": 1
	    "message": ""
        "list" : {
            "SMS_CNT": 5555
            "LMS_CNT": 1930
            "MMS_CNT": 833
        }
	}

전송요청이 실패한 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
	    "code": -99
	    "message": "인증오류입니다."
	}

 

예약문자 취소

API를 통해 예약한 내역을 전송취소할 수 있습니다. 예약취소는 발송전 5분이전의 문자만 가능합니다.

[ Request ]

POST /akv10/cancel/ HTTP/1.1
	Host: kakaoapi.aligo.in
	Service Port: 443

https 프로토콜을 사용하여 POST로 요청합니다.

변수 설명 필수 타입
apikey 인증용 API Key O String
userid 사용자id O String
token 생성한 토큰 O String
mid 메세지ID O Integer

예를 들면,

curl -X POST "https://kakaoapi.aligo.in/akv10/cancel/" \
	--data-urlencode "userid=xxxxx" \
	--data-urlencode "apikey=xxxxx" \
	--data-urlencode "token=xxxxx" \
	--data-urlencode "mid=123456789"

[Response]

응답 바디는 JSON 객체로 구성됩니다.

JSON
변수 설명 타입
code 결과코드(API 수신유무) Integer
message 결과 메세지( result_code 가 0 이 아닌 경우 실패사유 표기) String

정상취소가 완료된 경우를 예로들면,

HTTP/1.1 200 OK
	Content-Type: application/json;charset=UTF-8
	{
		    "code": 1
		    "message": ""
	}

전송요청이 실패한 경우를 예로들면,

        HTTP/1.1 200 OK
            Content-Type: application/json;charset=UTF-8
            {
                "code": -99
                "message": "발송 5분전까지만 취소가 가능합니다."
            }
        

연동형 API로 처리 실패시 message 항목의 안내문구를 참고하여 주시기 바랍니다.

API 예제 다운로드 하기

PHP용 예제 다운로드 Node.js용 예제 다운로드

Example

curl_token.html 토큰키 생성 예제 : API 호출을 위한 토큰키 생성 예제. 지정한 시간만큼 유효함.
curl_auth_plusid.html 플러스 친구 등록을 위한 인증 요청 예제
curl_category.html 플러스 친구 카테고리 목록
curl_add_plusid.html 플러스 아이디 등록요청 예제
curl_add_template.html 템플릿 등록요청 예제
curl_list_template.html 등록된 템플릿 조회요청 예제
curl_send_alimtalk.html 알림톡 전송요청 예제 : 1명~500명까지 가능