알림톡 서비스 API 규격서
IWINV 알림톡 REST API 규격서 입니다.
기본정보
HEADERS
| 
 Content-Type AUTH  | 
 application/json;charset=UTF-8 base64_encode ( API Key )  | 
알림톡 발송
알림톡의 발송 가능 문자수는 한/영 구분 없이 1,000자까지 발송 가능합니다.
반드시 변수 포함 1,000자 이내로 작성해주셔야 합니다.
발신번호는 '발신번호 관리'에서 등록된 번호여야 합니다.
URL
| POST | https://biz.service.iwinv.kr/api/send/ | 
BODY
| 
 { "templateCode": "10030", "reserve": "Y", "sendDate": "2021-07-20 05:00:00", "reSend": "Y", "resendCallback": "01000000000", "resendType": "Y", "resendTitle": "smstitle", "resendContent": "smscontent", "list": [ { "phone": "01012341234", "templateParam": ["11","2","3"] }, { "phone": "01012341235", "templateParam": ["1","2","3"] }, { "phone": "01012341236", "templateParam": ["1","2","3"] } ] }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| templateCode | String | O | 사용 가능한 템플릿 코드 | 10001 | 
| reserve | String | X (기본 N) | 예약발송 여부(N:즉시발송, Y:예약발송) | Y , N | 
| sendDate | String | X | 발송 시각(예약 발송인 경우 필수, 예약 발송은 현재 시간 15분 이후 한달 이전까지만 가능합니다.) | yyyy-MM-dd HH:mm:ss | 
| reSend | String | X (기본 N) | 알림톡 발송 실패 시 대체 문자 전송 기능(Y:대체 발송, N:대체 발송 없음) | Y , N | 
| resendCallback | String | X | 발신번호 | 010-0000-0000 혹은 01000000000 | 
| resendType | String | X (기본 Y) | 대체 발송 내용 타입 (Y:알림톡 내용, N:직접 입력) | Y , N | 
| resendTitle | String | X | 실패 시 LMS 대체 문자 제목 | - | 
| resendContent | String | X | 실패 시 대체 문자 내용(대체 발송 내용 타입 직접 입력 시 필수) | SMS(90Bytes 이하) / LMS(91~2000 Bytes) | 
| list | Array | O | 수신자 리스트(최대 1000명) | - | 
| - phone | Array | O | 수신번호 | 010-0000-0000 혹은 01000000000 | 
| - templateParam | Array | X | 템플릿 변수(템플릿 내용 중 치환할 항목(변수) 포함 시 필수) | [["항목1","항목2","항목3"],["항목1","항목2","항목3"]] | 
응답
| 
 { "code": 200, "message": "메시지가 발송되었습니다", "success": 3, "fail": 1 }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드 | 
| message | String | 응답 코드 결과 메시지 | 
| success | Integer | 정상적으로 전송 요청된 연락처 개수 | 
| fail | Integer | 전송 요청되지 않은 연락처 개수 | 
기본정보
HEADERS
| 
 Content-Type AUTH  | 
 application/json;charset=UTF-8 base64_encode ( API Key )  | 
템플릿 리스트
등록된 템플릿 목록을 조회합니다.
URL
| POST | https://biz.service.iwinv.kr/api/template/ | 
BODY
| 
 { "pageNum": "1", "pageSize": "15", "templateCode": "10030", "templateName": "test1", "templateStatus": "R" }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| pageNum | Integer | X | 페이지 번호(기본:1) | 1 | 
| pageSize | Integer | X | 조회 건수(기본:15, 최대:1000) | 10 | 
| templateCode | String | X | 템플릿 코드 | 10001 | 
| templateName | String | X | 템플릿 이름 | 템플릿 이름 | 
| templateStatus | String | X | 템플릿 상태 코드(Y:사용가능, I:검수중, R:부결(반려)) | Y | 
응답
| 
 { "code": 200, "message": "정상적으로 호출하였습니다.", "totalCount": 2, "list": [ { "templateCode": "10036", "templateName": "알림", "templateContent": "#{이름} 고객님 우리 회사와 거래하여주셔서 감사합니다.", "status": "Y", "createDate": "2021-06-21 10:01:31", "buttons": [ { "ordering": null, "name": "iwinv", "linkType": "WL", "linkTypeName": "웹링크", "linkMo": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}", "linkPc": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}", "linkIos": null, "linkAnd": null } ] } ] }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드 | 
| message | String | 응답 코드 결과 메시지 | 
| totalCount | Integer | 등록된 템플릿 총 개수 | 
| list | JSON | 템플릿 리스트 | 
| - templateCode | String | 템플릿 코드 | 
| - templateName | String | 등록된 템플릿 명 | 
| - templateContent | String | 등록된 템플릿 내용 | 
| - status | String | 상태(Y:사용가능, I:검수중, R:부결(반려)) | 
| - createDate | String | 사용 가능 일시 | 
| - buttons | Array | 템플릿 버튼 정보 | 
| -- ordering | String | 버튼 순서(1~5) | 
| -- name | String | 버튼명 | 
| -- linkType | String | 버튼 타입(WL:웹링크, AL:앱링크, DS:배송조회, BK:봇키워드, MD:메시지전달) | 
| -- linkTypeName | String | 버튼 타입명 | 
| -- linkMo | String | 모바일 웹 링크(WL) | 
| -- linkPc | String | PC 웹 링크(WL) | 
| -- linkIos | String | IOS 앱링크(AL) | 
| -- linkAnd | String | 안드로이드 앱링크(AL) | 
템플릿 생성
알림톡은 미리 지정한 템플릿만 사용 가능합니다.
한/영 구분 없이 띄어쓰기 포함 1,000자까지 발송 가능합니다.
템플릿 검수 기간은 2~3 영업일 소요되며, 신청한 내용에 따라 더 걸릴 수 있습니다.
URL
| POST | https://biz.service.iwinv.kr/api/template/add/ | 
BODY
| 
 { "templateName": "템플릿명", "templateContent": "템플릿 내용", "buttons": [ { "type": "WL", "name": "웹링크", "linkMo": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}", "linkPc": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}" }, { "type": "AL", "name": "앱링크", "linkIos": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}", "linkAnd": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}" }, { "type": "DB", "name": "배송조회" }, { "type": "BK", "name": "봇 키워드" }, { "type": "MD", "name": "메시지 전달" } ] }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| templateName | String | O | 템플릿명(최대 15자) | 템플릿명 | 
| templateContent | String | O | 템플릿 내용(최대1000자) | 가변 항목은 #{항목} 형태로 최대 10개까지 등록이 가능합니다. | 
| buttons | JSON | X | 템플릿 버튼(최대 5개) | - | 
| - type | String | X | 버튼 타입 | WL:웹링크, AL:앱링크, DB:배송조회, BK:봇 키워드, MD:메시지 전달 | 
| - name | String | X | 버튼 이름(버튼이 있는 경우 필수, 최대 15자) | - | 
| - linkMo | String | X | 모바일 웹 링크(WL 타입일 경우 필수, 최대200자) | http:// 또는 Https:// | 
| - linkPc | String | X | PC 웹 링크(WL 타입일 경우 필수, 최대200자) | http:// 또는 Https:// | 
| - linkIos | String | X | IOS 앱 링크(AL 타입일 경우 필수, 최대200자) | - | 
| - linkAnd | String | X | Android 앱 링크(AL 타입일 경우 필수, 최대200자) | - | 
응답
| 
 { "code": 200, "message": "정상적으로 템플릿을 생성하였습니다." }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드 | 
| message | String | 응답 코드 결과 메시지 | 
템플릿 수정
템플릿 상태가 부결인 경우, 템플릿 내용을 수정해서 재 검수 요청을 하실 수 있습니다.
URL
| POST | https://biz.service.iwinv.kr/api/template/modify/ | 
BODY
| 
 { "templateCode": "10031", "templateName": "템플릿명", "templateContent": "템플릿 내용", "buttons": [ { "type": "WL", "name": "웹링크", "linkMo": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}", "linkPc": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}" }, { "type": "AL", "name": "앱링크", "linkIos": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}", "linkAnd": "https://www.iwinv.kr/board/notice/read.html?branch=NEWS&idx=#{idx}" }, { "type": "DB", "name": "배송조회" }, { "type": "BK", "name": "봇 키워드" }, { "type": "MD", "name": "메시지 전달" }, ] }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| templateCode | String | O | 템플릿 코드 | - | 
| templateName | String | O | 템플릿명(최대15자) | - | 
| templateContent | String | O | 템플릿 내용(최대 1000자) | - | 
| buttons | JSON | X | 템플릿 버튼(최대 5개) | - | 
| - type | String | X | 버튼 타입 | WL:웹링크, AL:앱링크, DB:배송조회, BK:봇 키워드, MD:메시지 전달 | 
| - name | String | X | 버튼 이름(버튼이 있는 경우 필수, 최대 15자) | - | 
| - linkMo | String | X | 모바일 웹 링크(WL 타입일 경우 필수, 최대200자) | http:// 또는 Https:// | 
| - linkPc | String | X | PC 웹 링크(WL 타입일 경우 필수, 최대200자) | http:// 또는 Https:// | 
| - linkIos | String | X | IOS 앱 링크(AL 타입일 경우 필수, 최대200자) | - | 
| - linkAnd | String | X | Android 앱 링크(AL 타입일 경우 필수, 최대200자) | - | 
응답
| 
 { "code": 200, "message": "정상적으로 템플릿을 생성하였습니다." }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드 | 
| message | String | 응답 코드 결과 메시지 | 
템플릿 삭제
불필요한 템플릿을 삭제해도 완전히 삭제된 것이 아닌 카카오 서버에 데이터가 남아있습니다.
템플릿 삭제 후 삭제된 동일한 템플릿명은 사용이 불가합니다.
URL
| POST | https://biz.service.iwinv.kr/api/template/delete/ | 
BODY
| 
 { "templateCode": "10036" }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| templateCode | String | O | 템플릿 코드 | - | 
응답
| 
 { "code": 200, "messgae": "선택하신 템플릿이 삭제되었습니다." }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드 | 
| message | String | 응답 코드 결과 메시지 | 
기본정보
HEADER
| 
 Content-Type AUTH  | 
 application/json;charset=UTF-8 base64_encode ( API Key )  | 
전송 내역 조회
조회 시작일을 지정하여 조회하실 수 있습니다.
시작일 입력하지 않은 경우 오늘 기준 7일 전 전송 내역이 조회됩니다.
URL
| URL | https://biz.service.iwinv.kr/api/history/ | 
BODY
| 
 { "pageNum": "1", "pageSize": "15", "reserve": "N", "startDate": "2021-04-05", "endDate": "2021-06-23", "seqNo": "17", "phone": "010-0123-0123" }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| pageNum | Integer | X | 페이지 번호(기본:1) | 1 | 
| pageSize | Integer | X | 조회 건수(기본:15, 최대:1000) | 10 | 
| reserve | String | X | 예약발송 여부(N:즉시발송, Y:예약발송) | Y , N | 
| startDate | String | X | 발송 요청 시작일자(yyyy-MM-dd HH:mm:ss) | 2021-01-01 13:00:00 | 
| endDate | String | X | 발송 요청 마감일자(yyyy-MM-dd HH:mm:ss) | 2021-01-01 13:00:00 | 
| seqNo | Integer | X | 메시지 ID | - | 
| phone | String | X | 수신번호 | 010-0000-0000 혹은 01000000000 | 
응답
| 
 { "code": 200, "totalCount": 1, "message": "데이터가 조회되었습니다.", "list": [ { "seqNo": 17, "phone": "01000000000", "callback": "16884879", "templateCode": "10034", "sendMessage": "홍길동 운영 중인 사이트에 문제가 발생하였습니다", "reserve": "N", "requestDate": "2021-06-23 15:22:39", "sendDate": "2021-06-23 15:22:40", "receiveDate": "2021-06-23 15:22:50", "statusCode": "OK", "statusCodeName": "성공", "resendStatus": null, "resendStatusName": null, "buttons": { "link1": null, "link2": null, "link3": null, "link4": null, "link5": null } } ] }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드(200:조회 성공) | 
| totalCount | Integer | 전송 메시지 총 개수 | 
| message | String | 응답 코드 결과 메시지 | 
| list | Array | 전송 목록 | 
| - seqNo | String | 메시지 ID | 
| - phone | String | 수신번호 | 
| - callback | String | 발신번호 | 
| - templateCode | String | 템플릿 코드 | 
| - sendMessage | String | 전송한 메시지 | 
| - reserve | String | 예약발송 여부(N:즉시발송, Y:예약발송) | 
| - requestDate | String | 요청일 | 
| - sendDate | String | 전송일 | 
| - receiveDate | String | 수신일 | 
| - statusCode | String | 알림톡 발송 요청 상태 코드 | 
| - statusCodeName | String | 알림톡 발송 요청 상태 코드명 | 
| - resendStatus | String | 대체 발송 상태 코드 | 
| - resendStatusName | String | 대체 발송 상태 코드명 | 
| - buttons | Array | 버튼 내용 | 
예약 문자 취소
예약 취소는 발송 예정시간 15분 이전의 문자만 가능합니다.
URL
| URL | https://biz.service.iwinv.kr/api/cancel/ | 
BODY
| 
 { "seqNo": "17" }  | 
| 값 | 타입 | 필수 | 설명 | 예시 | 
|---|---|---|---|---|
| seqNo | Array | O | 메시지ID | - | 
응답
| 
 { "code": 200, "message": "알림톡 예약 발송이 삭제되었습니다." }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드 | 
| message | String | 응답 코드 결과 메시지 | 
| 
 Content-Type AUTH  | 
 application/json;charset=UTF-8 base64_encode ( API Key )  | 
잔액 조회
자동 결제(충전)된 요금에서 메시지 발송 후 남은 금액과 메시지 발송 실패 시 반환된 금액의 합계입니다.
- URL
 
| URL | https://biz.service.iwinv.kr/api/charge/ | 
| 
 { "code": 200, "message": "데이터가 조회되었습니다.", "charge": 10000.0 }  | 
| 값 | 타입 | 설명 | 
|---|---|---|
| code | Integer | 응답 코드(200:조회 성공) | 
| message | String | 응답 코드 결과 메시지 | 
| charge | Float | 잔액 |