Request
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
diff --git a/src/main/webapp/WEB-INF/jsp/web/api/apiSpec.jsp b/src/main/webapp/WEB-INF/jsp/web/api/apiSpec.jsp index c3916eae..9c1d4124 100644 --- a/src/main/webapp/WEB-INF/jsp/web/api/apiSpec.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/api/apiSpec.jsp @@ -42,10 +42,12 @@ $(document).ready(function(){
| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+※ 문자 텍스트 용량(byte) : 한글 1자당 2byte, 영문/숫자 1자당 1byte
+{
++ "mberId":"홍길동" +
++ ,"accessKey":"XXXXXXXXXXXXXX414050694b953" +
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부 ("0" 이면 성공, 그 외는 실패) | +String | +
| data | +응답 결과 객체 (성공 시 배열, 실패 시 메시지) | +Array<Object> | +
| data[].userId | +사용자 ID | +String | +
| data[].senderKey | +발신자 키 | +String | +
| data[].phoneNumber | +수신자 전화번호 | +String | +
| data[].yellowId | +카카오톡 채널 ID | +String | +
| data[].firstRegistPnttm | +최초 등록 시각 (yyyy‑MM‑dd HH:mm:ss) | +String | +
| data[].firstRegisterId | +최초 등록자 ID | +String | +
※ JSON 객체로 응답합니다.
+{
++ "resultCode":"0" +
++ ,"data"{ +
++ ,"senderKey":"6691434xxxxxxxxxxxxxxxxxxxxxxxxx" +
++ ,"phoneNumber":"010xxxxxxxx" +
++ ,"yellowId":"@ID" +
++ ,"firstRegistPnttm":"2025-10-05 18:08:58" +
++ ,"firstRegisterId":"userId" +
+}
+}
+{
++ "resultCode":"401" +
++ ,"message":"Unauthorized" +
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
| senderKey | +발신 프로필 Key | +String | +O | +
※ 문자 텍스트 용량(byte) : 한글 1자당 2byte, 영문/숫자 1자당 1byte
+{
+"mberId":"홍길동"
+,"accessKey":"414050694b953XXXXXXXXXXXXXX"
+,"senderKey":"669143473b1af459628b8bdXXXXXXXXXXXXXX"
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +템플릿 정보 리스트 | +Array | +
| [data].senderKey | +발신 프로필 키 | +String | +
| [data].templateCode | +템플릿 코드 | +String | +
| [data].templateName | +템플릿 이름 | +String | +
| [data].createdAt | +생성일시 | +String | +
| [data].modifiedAt | +수정일시 | +String | +
| [data].serviceStatus | +템플릿 상태 (REG: 등록, REQ: 검수요청, REJ: 반려, +STP: 차단, RDY: 발송전, ACT: 정상, DMT: 휴면, BLK: +차단) |
+ String | +
※ JSON 객체로 응답합니다.
+{
++ "resultCode":"0" +
++ ,"data"{ +
++ ,"senderKey":"669143473b1af459628xxxxxxxxxxxxxxxxxxxxx" +
++ ,"templateCode":"bizp_20250527112232xxxxxxxxxxxxx" +
++ ,"templateName":"템플릿 명" +
++ ,"createdAt":"2025-05-27 11:22:33" +
++ ,"modifiedAt":"2025-05-27 11:22:33" +
++ ,"serviceStatus":"REG(등록완료)" +
+}
+,{
++ ,"senderKey":"669143473b1af459628xxxxxxxxxxxxxxxxxxxxx" +
++ ,"templateCode":"bizp_20250527112232xxxxxxxxxxxxx" +
++ ,"templateName":"템플릿 명2" +
++ ,"createdAt":"2025-05-27 11:22:33" +
++ ,"modifiedAt":"2025-05-27 11:22:33" +
++ ,"serviceStatus":"RDY(대기)" +
+}
+}
+{
+"resultCode":"4099"
+,"msg":"기타 시스템 오류"
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
| senderKey | +발신 프로필 Key | +String | +O | +
| templateCode | +템플릿 코드 | +String | +O | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+{
+"mberId":"홍길동"
+,"accessKey":"414050694b953XXXXXXXXXXXXXX"
+,"senderKey":"669143473b1af459628b8bdXXXXXXXXXXXXXX"
+,"templateCode":"bizp_202503141052XXXXXXXXXXXXXX"
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +템플릿 정보 리스트 | +Array | +
| [data].templateCode | 템플릿 코드 | String |
| [data].templateName | 템플릿 이름 | String |
| [data].templateMessageType | 템플릿 메시지 유형 (BA:기본형(default), EX:부가정보형, AD:광고추가형, MI:복합형) | String |
| [data].templateEmphasizeType | 템플릿 강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형) | String |
| [data].templateContent | 템플릿 내용 | String |
| [data].templateExtra | 부가정보 | String |
| [data].templateAd | 광고성 메시지 | String |
| [data].templateImageName | 템플릿 이미지 파일명 | String |
| [data].templateImageUrl | 템플릿 이미지 링크 | String |
| [data].templateTitle | 템플릿 내용 중 강조 표기할 핵심 정보 | String |
| [data].templateSubtitle | 강조 표기 보조 문구 | String |
| [data].templateHeader | 헤더 | String |
| [data].categoryCode | 템플릿 카테고리 코드 | String |
| [data].securityFlag | 보안 템플릿 여부 (true:설정) | Boolean |
| [data].inspectionStatus | 검수 상태 (REG: 등록, REQ: 검수요청, REJ: 반려, APR: 승인) | String |
| [data].createdAt | 생성일 | String |
| [data].modifiedAt | 수정일 | String |
| [data].status | 템플릿 상태(D:중지, A:정상, R:대기(발송전)) | String |
| [data].block | 템플릿 차단 여부 (true:차단, false: 해제) | Boolean |
| [data].dormant | 템플릿 휴면 여부 (true:휴면, false: 해제) | Boolean |
| [data].templateItemHighlight | 아이템 하이라이트 | Object |
| [data].templateItemHighlight.title | 타이틀 | String |
| [data].templateItemHighlight.description | 상세 설명 | String |
| [data].templateItemHighlight.imageUrl | 썸네일 이미지 주소 | String |
| [data].templateItem | 아이템 정보 | Object |
| [data].templateItem.list[] | 아이템 리스트 | Array |
| [data].templateItem.list[].title | 타이틀 | String |
| [data].templateItem.list[].description | 디스크립션 | String |
| [data].templateItem.summary | 아이템 요약 정보 | Object |
| [data].templateItem.summary.title | 타이틀 | String |
| [data].templateItem.summary.description | 디스크립션 | String |
| [data].buttons[] | 버튼 정보 | Array |
| [data].buttons[].name | 버튼명 | String |
| [data].buttons[].linkType | 버튼 링크타입 (DS:배송조회, WL:웹링크, AL:앱링크, BK:봇키워드, MD: 메시지전달, AC: 채널추가, BC: 상담톡전환, BT: 봇전환, P1: 이미지 보안전송 플러그인, P2: 개인정보이용 플러그인, P3: 원클릭 결제 플러그인) | String |
| [data].buttons[].linkAnd | Android 앱 링크 주소 | String |
| [data].buttons[].linkIos | IOS 앱 링크 주소 | String |
| [data].buttons[].linkMo | 모바일 웹 링크 주소 | String |
| [data].buttons[].linkPc | PC 웹 링크 주소 | String |
| [data].buttons[].pluginId | 플러그인 ID | String |
| [data].quickReplies[] | 바로연결 정보 | Array |
| [data].quickReplies[].name | 바로연결명 | String |
| [data].quickReplies[].linkType | 바로연결 링크타입 (WL:웹링크, AL:앱링크, BK:봇키워드, MD: 메시지전달, BC: 상담톡전환, BT: 봇전환) | String |
| [data].quickReplies[].linkAnd | Android 앱 링크 주소 | String |
| [data].quickReplies[].linkIos | IOS 앱 링크 주소 | String |
| [data].quickReplies[].linkMo | 모바일 웹 링크 주소 | String |
| [data].quickReplies[].linkPc | PC 웹 링크 주소 | String |
| [data].comments[] | 댓글 목록 | Array |
| [data].comments[].content | 댓글 본문 | String |
| [data].comments[].createdAt | 댓글 생성일 | String |
| [data].comments[].status | 댓글 상태 (REQ:등록, INQ:문의, APR:승인, REJ:반려, REP:답변) | String |
| [data].comments[].userName | 댓글 작성자 | String |
| [data].comments[].attachment | 첨부파일 | Array |
| [data].comments[].attachment[] | 첨부파일 | Array |
| [data].comments[].attachment[].originalFileName | 업로드한 파일 이름 | String |
| [data].comments[].attachment[].filePath | 파일 다운로드 경로 | String |
※ JSON 객체로 응답합니다.
+{
+"resultCode":"0"
+,"data":[
+{
+"templateCode": "bizp_20250314105XXXXXXXXXXXXXXX"
+,"templateName": "템플릿 명"
+,"templateMessageType": "BA"
+,"templateEmphasizeType": "TEXT"
+,"templateContent": "템플릿 내용 예시"
+,"templateExtra": "부가정보"
+,"templateAd": "광고성 문구"
+,"templateImageName": "template.jpg"
+,"templateImageUrl": "https://cdn.example.com/image.jpg"
+,"templateTitle": "강조 제목"
+,"templateSubtitle": "보조 문구"
+,"templateHeader": "템플릿 헤더"
+,"categoryCode": "005001"
+,"securityFlag": true
+,"inspectionStatus": "REG"
+,"createdAt": "2025-06-30 10:30:00"
+,"modifiedAt": "2025-07-01 11:00:00"
+,"status": "A"
+,"block": false
+,"dormant": false
+ + +,"templateItemHighlight": {
+"title": "하이라이트 제목"
+,"description": "하이라이트 설명"
+,"imageUrl": "https://cdn.example.com/thumb.jpg"
+}
+ + +,"templateItem": {
+"list": [
+{
+"title": "아이템 제목"
+,"description": "아이템 설명"
+}
+],
+"summary": {
+"title": "요약 제목"
+,"description": "요약 설명"
+}
+}
+ + +,"buttons": [
+{
+"name": "버튼명"
+,"linkType": "WL"
+,"linkAnd": "https://aos.example.com"
+,"linkIos": "https://ios.example.com"
+,"linkMo": "https://m.example.com"
+,"linkPc": "https://www.example.com"
+,"pluginId": "plugin123"
+}
+]
+ + +,"quickReplies": [
+{
+"name": "빠른응답"
+,"linkType": "WL"
+,"linkAnd": "https://aos.quick.com"
+,"linkIos": "https://ios.quick.com"
+,"linkMo": "https://m.quick.com"
+,"linkPc": "https://www.quick.com"
+}
+]
+ + +,"comments": [
+{
+"content": "댓글 예시입니다."
+,"createdAt": "2025-07-01 10:00:00"
+,"status": "REQ"
+,"userName": "관리자"
+,"attachment": [
+{
+"originalFileName": "example.pdf"
+,"filePath": "/download/example.pdf"
+}
+]
+}
+]
+}
+]
+}
+{
+"resultCode":"4099"
+,"data":"기타 시스템 오류"
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
| msgGroupId | +메시지 그룹 ID | +String | +O | +
| page | +페이지 번호 | +String | +X | +
| pageSize | +페이지당 출력 개수 | +String | +X | +
| test_yn | +테스트 데이터 여부 | +String | +X | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+{
+"mberId":"홍길동"
+,"accessKey":"XXXXXXXXXXXXXX414050694b953"
+,"msgGroupId":"MSGGID_0000000011452"
+,"page":""
+,"pageSize":""
+,"test_yn":""
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +결과값 객체(성공 : 데이터, 실패 : 메시지) | +Object | +
| [data].message | +문자 | +String | +
| [data].next_yn | +다음 페이지 여부 | +String | +
| [data].objectList | +결과값 목록 | +Object List | +
| [data].msgGroupId | +메시지 그룹 ID | +String | +
| [data].msgId | +메시지 ID | +String | +
| [data].msgTypeName | +문자 구분명(단문, 장문, 그림) | +String | +
| [data].msgType | +메시지 타입(4 : 단문, 6 : 장문) | +String | +
| [data].callFrom | +발신자 번호 | +String | +
| [data].callTo | +수신자 번호 | +String | +
| [data].msgGroupCnt | +문자 발송 건수 | +String | +
| [data].sCnt | +성공 건수 | +String | +
| [data].fCnt | +실패 건수 | +String | +
| [data].wCnt | +대기 건수 | +String | +
| [data].msgResult | +발송 결과(성공 : S, 실패 : F) | +String | +
| [data].smsTxt | +문자 내용 | +String | +
| [data].subject | +제목 | +String | +
| [data].reqdate | +발송 일자 | +String | +
| [data].curState | +전송 처리 결과값 | +String | +
| [data].userId | +사용자 ID | +String | +
| [data].regdate | +등록 일자 | +String | +
| [data].reserveCYn | +예약 취소 여부 | +String | +
| [data].ttlCnt | +전체 요청 수 | +String | +
| [data].remainMsgCnt | +남은 문자 건수 | +String | +
| [data].totMsgCnt | +전체 문자 개수 | +String | +
※ JSON 객체로 응답합니다.
+{
+"resultCode":"0"
+,"data":[
+{
+"resultCode":"0"
+,"message": null
+,"next_yn":"n"
+,"msgGroupId":"MSGGID_0000000000000"
+,"objectList":[
+{
+"msgTypeName":"단문(SMS)"
+,"msgType":"4"
+,"callFrom":"01011112222"
+,"callTo":"01011112223"
+,"msgGroupCnt":"2"
+,"msgGroupId":"MSGGID_0000000013340"
+,"msgId":"MSGID_0000000000001"
+,"scnt":null
+,"fcnt":null
+,"wcnt":null
+,"msgResult":"S"
+,"smsTxt":"문자 내용 단문 예제"
+,"subject":null
+,"reqdate":"2023-06-13 17:48:08"
+,"curState":"3"
+,"userId":"testuser"
+,"regdate":"2023-06-13 17:48:07"
+,"reserveCYn":"N"
+,"ttlCnt":"10"
+,"remainMsgCnt":"0"
+,"totMsgCnt":"10"
+}
+,{
+"msgTypeName":"단문(SMS)"
+,"msgType":"4"
+,"callFrom":"01011112222"
+,"callTo":"01011112223"
+,"msgGroupCnt":"2"
+,"msgGroupId":"MSGGID_0000000013340"
+,"msgId":"MSGID_0000000000002"
+,"scnt":null
+,"fcnt":null
+,"wcnt":null
+,"msgResult":"S"
+,"smsTxt":"문자 내용 단문 예제"
+,subject":null
+,reqdate":"2023-06-13 17:48:09"
+,"curState":"3"
+,"userId":"testuser"
+,"regdate":"2023-06-13 17:48:07"
+,"reserveCYn":"N"
+,"ttlCnt":"10"
+,"remainMsgCnt":"0"
+,"totMsgCnt":"10"
+}
+]
+}
+]
+}
+{
+"resultCode":"4099"
+,"data":"기타 시스템 오류"
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+{
+"mberId":"String"
+,"accessKey":"String"
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +결과값 객체(성공 : 데이터, 실패 : 메시지) | +Object | +
| [data].longPrice | +장문 단가 | +String | +
| [data].longSendPsbltEa | +장문 발송 가능 건수 | +String | +
| [data].mberMoney | +현재 보유 금액 | +String | +
| [data].message | +문자 | +String | +
| [data].picturePrice | +그림문자 단가 | +String | +
| [data].pictureSendPsbltEa | +그림문자 발송 가능 건수 | +String | +
| [data].shortPrice | +단문 단가 | +String | +
| [data].shortSendPsbltEa | +단문 발송 가능 건수 | +String | +
※ JSON 객체로 응답합니다.
+{
+"resultCode":"0"
+,"data"{
+"longPrice":"50"
+,"longSendPsbltEa":"19651"
+,"mberMoney":"982586.7"
+,"message":null
+,"picturePrice":"90"
+,"pictureSendPsbltEa":"10917"
+,"shortPrice":"18"
+,"shortSendPsbltEa":"54588"
+}
+}
+{
+"resultCode":"5099"
+,"data":"기타 시스템 오류"
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+{
+"mberId":"String"
+,"accessKey":"String"
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +결과값 객체(성공 : 데이터, 실패 : 메시지) | +Object | +
| [data].longPrice | +장문 단가 | +String | +
| [data].longSendPsbltEa | +장문 발송 가능 건수 | +String | +
| [data].mberMoney | +현재 보유 금액 | +String | +
| [data].message | +문자 | +String | +
| [data].picturePrice | +그림문자 단가 | +String | +
| [data].pictureSendPsbltEa | +그림문자 발송 가능 건수 | +String | +
| [data].shortPrice | +단문 단가 | +String | +
| [data].shortSendPsbltEa | +단문 발송 가능 건수 | +String | +
※ JSON 객체로 응답합니다.
+{
+"resultCode":"0"
+,"data"{
+"longPrice":"50"
+,"longSendPsbltEa":"19651"
+,"mberMoney":"982586.7"
+,"message":null
+,"picturePrice":"90"
+,"pictureSendPsbltEa":"10917"
+,"shortPrice":"18"
+,"shortSendPsbltEa":"54588"
+}
+}
+{
+"resultCode":"5099"
+,"data":"기타 시스템 오류"
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+{
+"mberId":"String"
+,"accessKey":"String"
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +결과값 객체(성공 : 데이터, 실패 : 메시지) | +Object | +
| [data].longPrice | +장문 단가 | +String | +
| [data].longSendPsbltEa | +장문 발송 가능 건수 | +String | +
| [data].mberMoney | +현재 보유 금액 | +String | +
| [data].message | +문자 | +String | +
| [data].picturePrice | +그림문자 단가 | +String | +
| [data].pictureSendPsbltEa | +그림문자 발송 가능 건수 | +String | +
| [data].shortPrice | +단문 단가 | +String | +
| [data].shortSendPsbltEa | +단문 발송 가능 건수 | +String | +
※ JSON 객체로 응답합니다.
+{
+"resultCode":"0"
+,"data"{
+"longPrice":"50"
+,"longSendPsbltEa":"19651"
+,"mberMoney":"982586.7"
+,"message":null
+,"picturePrice":"90"
+,"pictureSendPsbltEa":"10917"
+,"shortPrice":"18"
+,"shortSendPsbltEa":"54588"
+}
+}
+{
+"resultCode":"5099"
+,"data":"기타 시스템 오류"
+}
+| Http Method | +POST | +
|---|---|
| 프로토콜 | +HTTP/1.1 | +
| HOST | +api.munjaon.co.kr | +
| Service Port | +443 | +
| 키 | +설명 | +타입 | +필수 | +
|---|---|---|---|
| mberId | +사용자 ID | +String | +O | +
| accessKey | +인증용 API Key | +String | +O | +
※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.
+{
+"mberId":"String"
+,"accessKey":"String"
+}
+| 키 | +설명 | +타입 | +
|---|---|---|
| resultCode | +성공 여부("0" 아니면 실패) | +String | +
| data | +결과값 객체(성공 : 데이터, 실패 : 메시지) | +Object | +
| [data].longPrice | +장문 단가 | +String | +
| [data].longSendPsbltEa | +장문 발송 가능 건수 | +String | +
| [data].mberMoney | +현재 보유 금액 | +String | +
| [data].message | +문자 | +String | +
| [data].picturePrice | +그림문자 단가 | +String | +
| [data].pictureSendPsbltEa | +그림문자 발송 가능 건수 | +String | +
| [data].shortPrice | +단문 단가 | +String | +
| [data].shortSendPsbltEa | +단문 발송 가능 건수 | +String | +
※ JSON 객체로 응답합니다.
+{
+"resultCode":"0"
+,"data"{
+"longPrice":"50"
+,"longSendPsbltEa":"19651"
+,"mberMoney":"982586.7"
+,"message":null
+,"picturePrice":"90"
+,"pictureSendPsbltEa":"10917"
+,"shortPrice":"18"
+,"shortSendPsbltEa":"54588"
+}
+}
+{
+"resultCode":"5099"
+,"data":"기타 시스템 오류"
+}
+