Merge branch 'hylee'

This commit is contained in:
hylee 2023-07-24 18:02:06 +09:00
commit 396fa2dd16
24 changed files with 2271 additions and 1956 deletions

View File

@ -623,6 +623,7 @@ public class ApiKeyMngController {
}
}catch(Exception e) {
e.printStackTrace();
modelAndView.addObject("message", "api 신청이 실패했습니다.");
modelAndView.addObject("result", "db");
}

View File

@ -6,14 +6,19 @@ import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import itn.com.cmm.LoginVO;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.mjo.apikey.service.ApiCallInfoMngService;
import itn.let.mjo.apikey.service.ApiKeyMngService;
import itn.let.mjo.apikey.service.ApiKeyVO;
import itn.let.utl.user.service.SecuKeyUtil;
/**
* 일반 로그인, 인증서 로그인을 처리하는 컨트롤러 클래스
@ -47,7 +52,7 @@ public class EgovMypageRESTAPIController{
/**
* 비밀번호 변경 페이지
*/
@RequestMapping(value="/web/user/sendRESTAPI_test_r1.do")
@RequestMapping(value="/web/api/sendRESTAPI_test_r1.do")
public String sendRESTAPI_test(ModelMap model)
throws Exception {
/*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/
@ -59,13 +64,13 @@ public class EgovMypageRESTAPIController{
model.addAttribute("loginVO", loginVO);
model.addAttribute("pageTab", "passwordChange");
return "web/user/sendRESTAPI_test_r1";
return "web/api/sendRESTAPI_test_r1";
}
/**
* 비밀번호 변경 페이지
*/
@RequestMapping(value="/web/user/sendRESTAPI_test_r12.do")
@RequestMapping(value="/web/api/sendRESTAPI_test_r12.do")
public String sendRESTAPI_test_r12(ModelMap model)
throws Exception {
/*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/
@ -77,7 +82,7 @@ public class EgovMypageRESTAPIController{
model.addAttribute("loginVO", loginVO);
model.addAttribute("pageTab", "passwordChange");
return "web/user/sendRESTAPI_test_r12";
return "web/api/sendRESTAPI_test_r12";
}
/**
@ -95,7 +100,7 @@ public class EgovMypageRESTAPIController{
model.addAttribute("loginVO", loginVO);
model.addAttribute("pageTab", "passwordChange");
return "web/user/sendRESTAPI_test_r1_send";
return "web/api/sendRESTAPI_test_r1_send";
}
@ -109,7 +114,7 @@ public class EgovMypageRESTAPIController{
* @return
* @throws Exception
*/
@RequestMapping(value="/web/user/sendRESTAPI_send_r2.do")
@RequestMapping(value="/web/api/sendRESTAPI_send_r2.do")
public String sendRESTAPI_send_r2(ModelMap model)
throws Exception {
/*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/
@ -121,7 +126,7 @@ public class EgovMypageRESTAPIController{
model.addAttribute("loginVO", loginVO);
model.addAttribute("pageTab", "passwordChange");
return "web/user/sendRESTAPI_send_r2";
return "web/api/sendRESTAPI_send_r2";
}
@ -134,7 +139,7 @@ public class EgovMypageRESTAPIController{
* @return
* @throws Exception
*/
@RequestMapping(value="/web/user/sendRESTAPI_send_r3.do")
@RequestMapping(value="/web/api/sendRESTAPI_send_r3.do")
public String sendRESTAPI_send_r3(ModelMap model)
throws Exception {
/*LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();*/
@ -146,7 +151,7 @@ public class EgovMypageRESTAPIController{
model.addAttribute("loginVO", loginVO);
model.addAttribute("pageTab", "passwordChange");
return "web/user/sendRESTAPI_send_r3";
return "web/api/sendRESTAPI_send_r3";
}
@ -155,8 +160,8 @@ public class EgovMypageRESTAPIController{
* @return
* @throws Exception
*/
@RequestMapping(value="/web/user/sendRESTAPI_infoPage1_r1.do")
public String sendRESTAPI_infoPage1_r1(ModelMap model)
@RequestMapping(value="/web/api/intrdView.do")
public String intrdView(ModelMap model)
throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
@ -165,7 +170,7 @@ public class EgovMypageRESTAPIController{
}
model.addAttribute("loginVO", loginVO);
return "web/user/sendRESTAPI_infoPage1_r1";
return "web/api/intrdView";
}
/**
@ -173,8 +178,8 @@ public class EgovMypageRESTAPIController{
* @return
* @throws Exception
*/
@RequestMapping(value="/web/user/sendRESTAPI_infoPage2_r1.do")
public String sendRESTAPI_infoPage2_r1(ModelMap model)
@RequestMapping(value="/web/api/appMgmt.do")
public String appMgmt(ModelMap model)
throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
@ -186,6 +191,7 @@ public class EgovMypageRESTAPIController{
//사용자 신청/인증 정보
ApiKeyVO apiKeyVO = new ApiKeyVO();
apiKeyVO.setMberId(loginVO.getId());
model.addAttribute("mberId", loginVO.getId());
List<ApiKeyVO> resultList = new ArrayList<ApiKeyVO>();
resultList = apiKeyMngService.selectApiKeyApplyStatus(apiKeyVO);
@ -204,15 +210,15 @@ public class EgovMypageRESTAPIController{
model.addAttribute("apiVO", null);
}
return "web/user/sendRESTAPI_infoPage2_r1";
return "web/api/appMgmt";
}
/**
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/web/user/sendRESTAPI_infoPage3_r1.do")
public String sendRESTAPI_infoPage3_r1(ModelMap model)
@RequestMapping(value="/web/api/apiSpec.do")
public String apiSpec(ModelMap model)
throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
@ -221,7 +227,7 @@ public class EgovMypageRESTAPIController{
}
model.addAttribute("loginVO", loginVO);
return "web/user/sendRESTAPI_infoPage3_r1";
return "web/api/apiSpec";
}
/**
@ -229,8 +235,8 @@ public class EgovMypageRESTAPIController{
* @return
* @throws Exception
*/
@RequestMapping(value="/web/user/sendRESTAPI_infoPage4_r1.do")
public String sendRESTAPI_infoPage4_r1(ModelMap model)
@RequestMapping(value="/web/api/examDown.do")
public String examDown(ModelMap model)
throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
@ -240,7 +246,9 @@ public class EgovMypageRESTAPIController{
}
model.addAttribute("loginVO", loginVO);
return "web/user/sendRESTAPI_infoPage4_r1";
return "web/api/examDown";
}
}

View File

@ -30,15 +30,10 @@ $(document).ready(function(){
<!-- send top -->
<div class="send_top">
<ul class="tabType4">
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage1_r1.do'">문자API 소개</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage2_r1.do'">신청/관리</button></li>
<li class="tab active"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage3_r1.do'">API SPEC</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage4_r1.do'">예제 다운로드</button></li>
</ul><!--// tab button -->
<c:import url="./top_tepMenu.jsp" /><!--// tab button -->
<!-- tab button -->
<div class="serv_content charg_cont current" id="tab5_1">
<div class="api_guide_cont current" id="tab5_1">
<div class="heading">
<h2>REST API 설명</h2>
</div>
@ -57,27 +52,27 @@ $(document).ready(function(){
<!-- 문자보내기 -->
<!-- 문자보내기 -->
<div class="fee_cont current" id="tab1_1">
<c:import url="./sendRESTAPI_infoPage3_r1_tab1.jsp" />
<c:import url="./apiSpec_tab1.jsp" />
</div>
<!-- 문자보내기(대량) -->
<!-- 문자보내기(대량) -->
<!-- 문자보내기(대량) -->
<div class="fee_cont" id="tab1_2">
<c:import url="./sendRESTAPI_infoPage3_r1_tab2.jsp" />
<c:import url="./apiSpec_tab2.jsp" />
</div>
<!-- 전송내역조회 -->
<div class="fee_cont" id="tab1_3">
<c:import url="./sendRESTAPI_infoPage3_r1_tab3.jsp" />
<c:import url="./apiSpec_tab3.jsp" />
</div>
<!-- 전송결과조회(상세) -->
<div class="fee_cont" id="tab1_4">
<c:import url="./sendRESTAPI_infoPage3_r1_tab4.jsp" />
<c:import url="./apiSpec_tab4.jsp" />
</div>
<!-- 발송가능건수 -->
<div class="fee_cont" id="tab1_5">
<c:import url="./sendRESTAPI_infoPage3_r1_tab5.jsp" />
<c:import url="./apiSpec_tab5.jsp" />
</div>
</div>
</div><!--// send top -->

View File

@ -0,0 +1,223 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info">
<li>- API를 통해서 동일한 내용의 문자를 대량으로 전송할 수 있습니다.</li>
<li>- 발신번호는 문자온 사이트를 통해 사전등록 후 이용하실 수 있습니다.(마이페이지-발신번호 관리 메뉴 이용)</li>
<li>- 문자 내용이 "90byte"를 초과하는 경우 장문(LMS)으로 자동 전환됩니다.</li>
</ul>
<div class="re_cont">
<!--Request-->
<div class="req_title">Request</div>
<div class="box">
<div class="text">
<h4>Request</h4>
<table>
<caption>API Request Http Method, 프로토콜, HOST, Service Port 정보 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:80%;">
</colgroup>
<tr>
<th>Http Method</th>
<td>POST</td>
</tr>
<tr>
<th>프로토콜</th>
<td>HHTP/1.1</td>
</tr>
<tr>
<th>HOST</th>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<th>Service Port</th>
<td>443</td>
</tr>
</table>
</div>
</div>
<div class="type_table">
<table>
<caption>문자발송 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:45%;">
<col style="width:25%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">mberId</span></td>
<td>사용자 ID</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">accessKey</span></td>
<td>인증용 API Key</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">callFrom</span></td>
<td>발신자 번호(아이디에 등록되어 있는 번호)</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">callToList</span></td>
<td>수신자 번호(콤마(,) 기준으로 입력)</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">smsTxt</span></td>
<td>메시지 내용</td>
<td>String(1~2,000Byte)</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">nameStr</span></td>
<td>메시지 내용에 [*이름*]이 있으면 치환용 이름 입력( | 로 구분 )</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">test_yn</span></td>
<td>테스트 데이터 여부</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
<p>※ 문자 텍스트 용량(byte) : 한글 1자당 2byte, 영문/숫자 1자당 1byte</p>
</div>
</div>
<div class="box">
<div class="title">[Example]</div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"mberId"</span>:"홍길동"</p>
<p>,<span>"accessKey"</span>:"XXXXXXXXXXXXXX414050694b953"</p>
<p>,<span>"callFrom"</span>:"01012341234"</p>
<p>,<span>"callToList"</span>:"01011111111,01022222222,01033333333"</p>
<p>,<span>"smsTxt"</span>:"문자 테스트~![*이름*]"</p>
<p>,<span>"nameStr"</span>:"홍길동1|홍길동2|홍길동3"</p>
<p>,<span>"test_yn"</span>:""</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Request-->
<!-- Response-->
<div class="res_title">Response</div>
<div class="type_table">
<table>
<caption>문자발송 API Response 키 종류 및 설명, 타입 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:60%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">resultCode</span></td>
<td>성공 여부("0" 아니면 실패)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data</span></td>
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td>
<td>Object</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupId</span></td>
<td>메시지 그룹 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].blockCnt</span></td>
<td>수신거부 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].failCnt</span></td>
<td>전송 실패 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].successCnt</span></td>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].test_yn</span></td>
<td>테스트 데이터 여부</td>
<td>String</td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ JSON 객체로 응답합니다.</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"data"</span>&#65371;</p>
<div class="indent_t1">
<p><span>"msgGroupId"</span>:"MSGGID_0000000000000"</p>
<p>,<span>"msgType"</span>:"SMS"</p>
<p>,<span>"resultCode"</span>:"0"</p>
<p>,<span>"blockCnt"</span>:"0"</p>
<p>,<span>"failCnt"</span>:"0"</p>
<p>,<span>"successCnt"</span>:"3"</p>
<p>,<span>"test_yn"</span>:null</p>
</div>
<p>&#65373;</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"1040"</p>
<p>,<span>"data"</span>:"치환 데이터 오류"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Response-->
</div>

View File

@ -0,0 +1,247 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info">
<li>- API를 통해서 다른 내용의 문자를 대량으로 전송할 수 있습니다.</li>
<li>- 발신번호는 문자온 사이트를 통해 사전등록 후 이용하실 수 있습니다.(마이페이지-발신번호 관리 메뉴 이용)</li>
<li>- 문자 내용이 "90byte"를 초과하는 경우 장문(LMS)으로 자동 전환됩니다.</li>
</ul>
<div class="re_cont">
<!--Request-->
<div class="req_title">Request</div>
<div class="box">
<div class="text">
<h4>Request</h4>
<table>
<caption>API Request Http Method, 프로토콜, HOST, Service Port 정보 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:80%;">
</colgroup>
<tr>
<th>Http Method</th>
<td>POST</td>
</tr>
<tr>
<th>프로토콜</th>
<td>HHTP/1.1</td>
</tr>
<tr>
<th>HOST</th>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<th>Service Port</th>
<td>443</td>
</tr>
</table>
</div>
</div>
<div class="type_table">
<table>
<caption>문자발송(대량) API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:45%;">
<col style="width:25%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">mberId</span></td>
<td>사용자 ID</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">accessKey</span></td>
<td>인증용 API Key</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">callFrom</span></td>
<td>발신자 번호(아이디에 등록되어 있는 번호)</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">test_yn</span></td>
<td>테스트 데이터 여부</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">callTo_1</span></td>
<td>수신자 번호 1</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">smsTxt_1</span></td>
<td>메시지 내용 1 </td>
<td>String(1~2,000Byte)</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">...</span></td>
<td>...</td>
<td>...</td>
<td><span class="select_o">...</span></td>
</tr>
<tr>
<td><span class="font_b">callTo_100</span></td>
<td>수신자 번호 100</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">smsTxt_100</span></td>
<td>메시지 내용 100</td>
<td>String(1~2,000Byte)</td>
<td><span class="select_o">O</span></td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ 문자 텍스트 용량(byte) : 한글 1자당 2byte, 영문/숫자 1자당 1byte</p>
</div>
</div>
<div class="box">
<div class="title">[Example]</div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"mberId"</span>:"홍길동"</p>
<p>,<span>"accessKey"</span>:"XXXXXXXXXXXXXX414050694b953"</p>
<p>,<span>"callFrom"</span>:"01012341234"</p>
<p>,<span>"test_yn"</span>:""</p>
<p>,<span>"callTo_1"</span>:"01011111111"</p>
<p>,<span>"smsTxt_1"</span>:"문자 테스트 1"</p>
<p>,<span>"callTo_2"</span>:"01022222222"</p>
<p>,<span>"smsTxt_2"</span>:"문자 테스트 2"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Request-->
<!-- Response-->
<div class="res_title">Response</div>
<div class="type_table">
<table>
<caption>문자발송(대량) API Response 키 종류 및 설명, 타입 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:60%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">resultCode</span></td>
<td>성공 여부("0" 아니면 실패)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data</span></td>
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td>
<td>Object</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupIdList</span></td>
<td>메시지 그룹 ID 리스트</td>
<td>List String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].blockCnt</span></td>
<td>수신거부 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].failCnt</span></td>
<td>전송 실패 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].successCnt</span></td>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].test_yn</span></td>
<td>테스트 데이터 여부</td>
<td>String</td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ JSON 객체로 응답합니다.</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"data"</span>:&#65339;</p>
<div class="indent_t1">
<p><span>"msgGroupIdList"</span>:&#65339;</p>
<p>&#65371;</p>
<p class="m_code">"MSGGID_0000000013451"</p>
<p class="l_code_t1">&#65373;</p>
<p>,&#65371;</p>
<p class="m_code">"MSGGID_0000000013452"</p>
<p class="l_code_t1">&#65373;</p>
<p>&#65341;</p>
<p>,<span>"msgTypeList"</span>:&#65339;</p>
<p>&#65371;</p>
<p class="m_code">"SMS"</p>
<p class="l_code_t1">&#65373;</p>
<p>,&#65371;</p>
<p class="m_code">"SMS"</p>
<p class="l_code_t1">&#65373;</p>
<p>&#65341;</p>
<p>,<span>"resultCode"</span>:"0"</p>
<p>,<span>"successCnt"</span>:"2"</p>
<p>,<span>"failCnt"</span>:"0"</p>
<p>,<span>"blockCnt"</span>:"0"</p>
<p>,<span>"test_yn"</span>:null</p>
<p>&#65341;</p>
</div>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"1040"</p>
<p>,<span>"data"</span>:"치환 데이터 오류"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Response-->
</div>

View File

@ -0,0 +1,361 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info">
<li>- 문자온 사이트 및 API를 통해 전송된 문자 발송내역을 조회할 수 있습니다.</li>
<li>- 문자 발송내역은 날짜별로 조회되며, 최근 3개월까지만 조회 가능합니다.</li>
<li>- 발신번호별 문자 발송내역 조회 기능은 제공되지 않습니다.</li>
</ul>
<div class="re_cont">
<!--Request-->
<div class="req_title">Request</div>
<div class="box">
<div class="text">
<h4>Request</h4>
<table>
<caption>API Request Http Method, 프로토콜, HOST, Service Port 정보 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:80%;">
</colgroup>
<tr>
<th>Http Method</th>
<td>POST</td>
</tr>
<tr>
<th>프로토콜</th>
<td>HHTP/1.1</td>
</tr>
<tr>
<th>HOST</th>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<th>Service Port</th>
<td>443</td>
</tr>
</table>
</div>
</div>
<div class="type_table">
<table>
<caption>전송결과 조회 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:45%;">
<col style="width:25%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">mberId</span></td>
<td>사용자 ID</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">accessKey</span></td>
<td>인증용 API Key</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">page</span></td>
<td>페이지 번호</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">pageSize</span></td>
<td>페이지당 출력 개수</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">startDate</span></td>
<td>시작 일자</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">endDate</span></td>
<td>마감 일자</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">test_yn</span></td>
<td>테스트 데이터 여부</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
</div>
</div>
<div class="box">
<div class="title">[Example]</div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"mberId"</span>:"홍길동"</p>
<p>,<span>"accessKey"</span>:"XXXXXXXXXXXXXX414050694b953"</p>
<p>,<span>"page"</span>:""</p>
<p>,<span>"pageSize"</span>:""</p>
<p>,<span>"startDate"</span>:""</p>
<p>,<span>"endDate"</span>:""</p>
<p>,<span>"test_yn"</span>:""</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Request-->
<!-- Response-->
<div class="res_title">Response</div>
<div class="type_table">
<table>
<caption>전송결과 조회 API Response 키 종류 및 설명, 타입 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:60%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">resultCode</span></td>
<td>성공 여부("0" 아니면 실패)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data</span></td>
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td>
<td>Object</td>
</tr>
<tr>
<td><span class="font_b">[data].message</span></td>
<td>문자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].next_yn</span></td>
<td>다음 페이지 여부</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].objectList</span></td>
<td>결과값 목록</td>
<td>Object List</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupId</span></td>
<td>메시지 그룹 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgId</span></td>
<td>메시지 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgTypeName</span></td>
<td>문자 구분명(단문, 장문, 그림)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].callFrom</span></td>
<td>발신자 번호</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].callTo</span></td>
<td>수신자 번호</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupCnt</span></td>
<td>문자 발송 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].sCnt</span></td>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].fCnt</span></td>
<td>실패 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].wCnt</span></td>
<td>대기 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgResult</span></td>
<td>발송 결과(성공 : S, 실패 : F)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].smsTxt</span></td>
<td>문자 내용</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].subject</span></td>
<td>제목</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].reqdate</span></td>
<td>발송 일자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].curState</span></td>
<td>전송 처리 결과값</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].userId</span></td>
<td>사용자 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].regdate</span></td>
<td>등록 일자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].reserveCYn</span></td>
<td>예약 취소 여부</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].ttlCnt</span></td>
<td>전체 요청 수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].remainMsgCnt</span></td>
<td>남은 문자 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].totMsgCnt</span></td>
<td>전체 문자 개수</td>
<td>String</td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ JSON 객체로 응답합니다.</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"data"</span>:&#65339;</p>
<p>&#65371;</p>
<div class="indent_t1">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"message"</span>: null</p>
<p>,<span>"next_yn"</span>:"n"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000000000"</p>
<p>,<span>"objectList"</span>:&#65339;</p>
<p>&#65371;</p>
<div class="indent_t2">
<p><span>"msgTypeName"</span>:"단문(SMS)"</p>
<p>,<span>"msgType"</span>:"4"</p>
<p>,<span>"callFrom"</span>:"01011112222"</p>
<p>,<span>"callTo"</span>:"01011112223"</p>
<p>,<span>"msgGroupCnt"</span>:"2"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000013340"</p>
<p>,<span>"msgId"</span>:"MSGID_0000000000001"</p>
<p>,<span>"scnt"</span>:"2"</p>
<p>,<span>"fcnt"</span>:"0"</p>
<p>,<span>"wcnt"</span>:"0"</p>
<p>,<span>"msgResult"</span>:"S"</p>
<p>,<span>"smsTxt"</span>:"문자 내용 단문 예제"</p>
<p>,<span>"subject"</span>:null</p>
<p>,<span>"reqdate"</span>:"2023-06-13 17:48:07"</p>
<p>,<span>"curState"</span>:"3"</p>
<p>,<span>"userId"</span>:"testuser"</p>
<p>,<span>"regdate"</span>:"2023-06-13 17:48:07"</p>
<p>,<span>"reserveCYn"</span>:"N"</p>
<p>,<span>"ttlCnt"</span>:"1"</p>
<p>,<span>"remainMsgCnt"</span>:"40"</p>
<p>,<span>"totMsgCnt"</span>:"70"</p>
</div>
<p>&#65373;</p>
<p>,&#65371;</p>
<div class="indent_t2">
<p><span>"msgTypeName"</span>:"장문(LMS)"</p>
<p>,<span>"msgType"</span>:"6"</p>
<p>,<span>"callFrom"</span>:"01011112222"</p>
<p>,<span>"callTo"</span>:"01011112223"</p>
<p>,<span>"msgGroupCnt"</span>:"1"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000013341"</p>
<p>,<span>"msgId"</span>:"MSGID_0000000000002"</p>
<p>,<span>"scnt"</span>:"1"</p>
<p>,<span>"fcnt"</span>:"0"</p>
<p>,<span>"wcnt"</span>:"0"</p>
<p>,<span>"msgResult"</span>:"S"</p>
<p>,<span>"smsTxt"</span>:"문자 내용 장문 예제"</p>
<p>,<span>subject"</span>:null</p>
<p>,<span>reqdate"</span>:"2023-06-02 11:46:50"</p>
<p>,<span>"curState"</span>:"3"</p>
<p>,<span>"userId"</span>:"testuser"</p>
<p>,<span>"regdate"</span>:"2023-06-02 11:46:49"</p>
<p>,<span>"reserveCYn"</span>:"N"</p>
<p>,<span>"ttlCnt"</span>:"1"</p>
<p>,<span>"remainMsgCnt"</span>:"40"</p>
<p>,<span>"totMsgCnt"</span>:"70"</p>
<p>&#65373;</p>
</div>
<p>&#65341;</p>
</div>
<p class="l_code_t2">&#65373;</p>
<p>&#65341;</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"3099"</p>
<p>,<span>"data"</span>:"기타 시스템 오류"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Response-->
</div>

View File

@ -0,0 +1,353 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info">
<li>- 전송결과 조회의 "msgGroupId"를 사용하여 전송된 문자의 상세결과를 수신번호별로 조회할 수 있습니다.</li>
<li>- 전송결과가 "대기"인 경우에는 최종 결과 확인까지 최대 72시간까지 소요됩니다.</li>
</ul>
<div class="re_cont">
<!--Request-->
<div class="req_title">Request</div>
<div class="box">
<div class="text">
<h4>Request</h4>
<table>
<caption>API Request Http Method, 프로토콜, HOST, Service Port 정보 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:80%;">
</colgroup>
<tr>
<th>Http Method</th>
<td>POST</td>
</tr>
<tr>
<th>프로토콜</th>
<td>HHTP/1.1</td>
</tr>
<tr>
<th>HOST</th>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<th>Service Port</th>
<td>443</td>
</tr>
</table>
</div>
</div>
<div class="type_table">
<table>
<caption>상세결과 조회 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:45%;">
<col style="width:25%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">mberId</span></td>
<td>사용자 ID</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">accessKey</span></td>
<td>인증용 API Key</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">msgGroupId</span></td>
<td>메시지 그룹 ID</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">page</span></td>
<td>페이지 번호</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">pageSize</span></td>
<td>페이지당 출력 개수</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
<tr>
<td><span class="font_b">test_yn</span></td>
<td>테스트 데이터 여부</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
</div>
</div>
<div class="box">
<div class="title">[Example]</div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"mberId"</span>:"홍길동"</p>
<p>,<span>"accessKey"</span>:"XXXXXXXXXXXXXX414050694b953"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000011452"</p>
<p>,<span>"page"</span>:""</p>
<p>,<span>"pageSize"</span>:""</p>
<p>,<span>"test_yn"</span>:""</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Request-->
<!-- Response-->
<div class="res_title">Response</div>
<div class="type_table">
<table>
<caption>상세결과 조회 API Response 키 종류 및 설명, 타입 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:60%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">resultCode</span></td>
<td>성공 여부("0" 아니면 실패)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data</span></td>
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td>
<td>Object</td>
</tr>
<tr>
<td><span class="font_b">[data].message</span></td>
<td>문자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].next_yn</span></td>
<td>다음 페이지 여부</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].objectList</span></td>
<td>결과값 목록</td>
<td>Object List</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupId</span></td>
<td>메시지 그룹 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgId</span></td>
<td>메시지 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgTypeName</span></td>
<td>문자 구분명(단문, 장문, 그림)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 5 : 장문)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].callFrom</span></td>
<td>발신자 번호</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].callTo</span></td>
<td>수신자 번호</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupCnt</span></td>
<td>문자 발송 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].sCnt</span></td>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].fCnt</span></td>
<td>실패 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].wCnt</span></td>
<td>대기 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgResult</span></td>
<td>발송 결과(성공 : S, 실패 : F)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].smsTxt</span></td>
<td>문자 내용</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].subject</span></td>
<td>제목</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].reqdate</span></td>
<td>발송 일자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].curState</span></td>
<td>전송 처리 결과값</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].userId</span></td>
<td>사용자 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].regdate</span></td>
<td>등록 일자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].reserveCYn</span></td>
<td>예약 취소 여부</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].ttlCnt</span></td>
<td>전체 요청 수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].remainMsgCnt</span></td>
<td>남은 문자 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].totMsgCnt</span></td>
<td>전체 문자 개수</td>
<td>String</td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ JSON 객체로 응답합니다.</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"data"</span>:&#65339;</p>
<p>&#65371;</p>
<div class="indent_t1">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"message"</span>: null</p>
<p>,<span>"next_yn"</span>:"n"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000000000"</p>
<p>,<span>"objectList"</span>:&#65339;</p>
<p>&#65371;</p>
<div class="indent_t2">
<p><span>"msgTypeName"</span>:"단문(SMS)"</p>
<p>,<span>"msgType"</span>:"4"</p>
<p>,<span>"callFrom"</span>:"01011112222"</p>
<p>,<span>"callTo"</span>:"01011112223"</p>
<p>,<span>"msgGroupCnt"</span>:"2"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000013340"</p>
<p>,<span>"msgId"</span>:"MSGID_0000000000001"</p>
<p>,<span>"scnt"</span>:null</p>
<p>,<span>"fcnt"</span>:null</p>
<p>,<span>"wcnt"</span>:null</p>
<p>,<span>"msgResult"</span>:"S"</p>
<p>,<span>"smsTxt"</span>:"문자 내용 단문 예제"</p>
<p>,<span>"subject"</span>:null</p>
<p>,<span>"reqdate"</span>:"2023-06-13 17:48:08"</p>
<p>,<span>"curState"</span>:"3"</p>
<p>,<span>"userId"</span>:"testuser"</p>
<p>,<span>"regdate"</span>:"2023-06-13 17:48:07"</p>
<p>,<span>"reserveCYn"</span>:"N"</p>
<p>,<span>"ttlCnt"</span>:"10"</p>
<p>,<span>"remainMsgCnt"</span>:"0"</p>
<p>,<span>"totMsgCnt"</span>:"10"</p>
</div>
<p>&#65373;</p>
<p>,&#65371;</p>
<div class="indent_t2">
<p><span>"msgTypeName"</span>:"단문(SMS)"</p>
<p>,<span>"msgType"</span>:"4"</p>
<p>,<span>"callFrom"</span>:"01011112222"</p>
<p>,<span>"callTo"</span>:"01011112223"</p>
<p>,<span>"msgGroupCnt"</span>:"2"</p>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000013340"</p>
<p>,<span>"msgId"</span>:"MSGID_0000000000002"</p>
<p>,<span>"scnt"</span>:null</p>
<p>,<span>"fcnt"</span>:null</p>
<p>,<span>"wcnt"</span>:null</p>
<p>,<span>"msgResult"</span>:"S"</p>
<p>,<span>"smsTxt"</span>:"문자 내용 단문 예제"</p>
<p>,<span>subject"</span>:null</p>
<p>,<span>reqdate"</span>:"2023-06-13 17:48:09"</p>
<p>,<span>"curState"</span>:"3"</p>
<p>,<span>"userId"</span>:"testuser"</p>
<p>,<span>"regdate"</span>:"2023-06-13 17:48:07"</p>
<p>,<span>"reserveCYn"</span>:"N"</p>
<p>,<span>"ttlCnt"</span>:"10"</p>
<p>,<span>"remainMsgCnt"</span>:"0"</p>
<p>,<span>"totMsgCnt"</span>:"10"</p>
<p>&#65373;</p>
</div>
<p>&#65341;</p>
</div>
<p class="l_code_t2">&#65373;</p>
<p>&#65341;</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"4099"</p>
<p>,<span>"data"</span>:"기타 시스템 오류"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Response-->
</div>

View File

@ -0,0 +1,195 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info">
<li>- 보유캐시로 발송 가능한 문자의 건수를 단문(SMS), 장문(LMS), 그림(MMS)별로 각각 확인할 수 있습니다.</li>
<li>- 위 문자유형별 발송 가능건수는 개인별로 적용된 단가를 기준으로 산출되며, "첫결제 이벤트"는 적용되지 않습니다.</li>
</ul>
<div class="re_cont">
<!--Request-->
<div class="req_title">Request</div>
<div class="box">
<div class="text">
<h4>Request</h4>
<table>
<caption>API Request Http Method, 프로토콜, HOST, Service Port 정보 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:80%;">
</colgroup>
<tr>
<th>Http Method</th>
<td>POST</td>
</tr>
<tr>
<th>프로토콜</th>
<td>HHTP/1.1</td>
</tr>
<tr>
<th>HOST</th>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<th>Service Port</th>
<td>443</td>
</tr>
</table>
</div>
</div>
<div class="type_table">
<table>
<caption>발송가능 건수 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:45%;">
<col style="width:25%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">mberId</span></td>
<td>사용자 ID</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">accessKey</span></td>
<td>인증용 API Key</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
</div>
</div>
<div class="box">
<div class="title">[Example]</div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"mberId"</span>:"String"</p>
<p>,<span>"accessKey"</span>:"String"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Request-->
<!-- Response-->
<div class="res_title">Response</div>
<div class="type_table">
<table>
<caption>발송가능 건수 API Response 키 종류 및 설명, 타입 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:60%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="font_b">resultCode</span></td>
<td>성공 여부("0" 아니면 실패)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data</span></td>
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td>
<td>Object</td>
</tr>
<tr>
<td><span class="font_b">[data].longPrice</span></td>
<td>장문 단가</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].longSendPsbltEa</span></td>
<td>장문 발송 가능 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].mberMoney</span></td>
<td>현재 보유 금액</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].message</span></td>
<td>문자</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].picturePrice</span></td>
<td>그림문자 단가</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].pictureSendPsbltEa</span></td>
<td>그림문자 발송 가능 건수</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].shortPrice</span></td>
<td>단문 단가</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].shortSendPsbltEa</span></td>
<td>단문 발송 가능 건수</td>
<td>String</td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ JSON 객체로 응답합니다.</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"0"</p>
<p>,<span>"data"</span>&#65371;</p>
<div class="indent_t1">
<p><span>"longPrice"</span>:"50"</p>
<p>,<span>"longSendPsbltEa"</span>:"19651"</p>
<p>,<span>"mberMoney"</span>:"982586.7"</p>
<p>,<span>"message"</span>:null</p>
<p>,<span>"picturePrice"</span>:"90"</p>
<p>,<span>"pictureSendPsbltEa"</span>:"10917"</p>
<p>,<span>"shortPrice"</span>:"18"</p>
<p>,<span>"shortSendPsbltEa"</span>:"54588"</p>
</div>
<p>&#65373;</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<div class="code_view">
<p>&#65371;</p>
<div class="indent">
<p><span>"resultCode"</span>:"5099"</p>
<p>,<span>"data"</span>:"기타 시스템 오류"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Response-->
</div>

View File

@ -0,0 +1,427 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript>
$(document).ready(function(){
});
/* API KEY 사용/미사용 처리 */
function fn_delete(p_accessNo, p_useYn){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("API KEY 사용 상태 값을 변경합니까?")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIKEYDeleteAjax.do",
data: {
"accessNo" : p_accessNo
, "useYn" : p_useYn
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("변경 처리 완료 하였습니다.");
location.reload();
}else{
alert("변경에 실패하였습니다.~1");
location.reload();
}
},
error: function (e) {
alert("변경에 실패하였습니다.~2");
location.reload();
}
});
}
}
/* API KEY 실제 DB 삭제 - 임시 */
function fn_delete_real(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("API신청 정보(API KEY, 발송서버 IP 데이터 모두 포함)를 삭제처리합니다.삭제후 복구 불가능합니다. 진행하시겠습니까?\n\n(임시 미사용시에는 API KEY 관리의 미사용처리 기능을 이용해주세요~)")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIKEYDeleteRealAjax.do",
data: {
"accessNo" : p_accessNo
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API KEY 정보 모두 삭제 하였습니다.");
location.reload();
}else{
alert("삭제에 실패하였습니다.~1");
location.reload();
}
},
error: function (e) {
alert("삭제에 실패하였습니다.~2");
location.reload();
}
});
}
}
/* API KEY 변경 */
function fn_update_apikey(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("API KEY 변경 후 복구 불가능합니다. 기존 API KEY는 사용할수 없습니다. 진행하시겠습니까?")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIUpdateAPIKEYAjax.do",
data: {
"accessNo" : p_accessNo
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API KEY 변경 하였습니다.");
location.reload();
}else{
alert("API KEY 변경 실패하였습니다.1");
location.reload();
}
},
error: function (e) {
alert("API KEY 변경 실패하였습니다.2");
location.reload();
}
});
}
}
/* CALL INFO 호출정보 생성 */
function fn_insert_callInfo(p_accessNo){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if ($("#callInfo").val()==''){
alert("호출지 정보는 필수입니다.");
return false;
}
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIInsertCallInfoAjax.do",
data: {
"accessNo" : p_accessNo
,"callInfo" : $("#callInfo").val()
,"callType" : 'IP'
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API 호출정보생성 하였습니다.");
location.reload();
}else{
alert("호출정보생성에 실패하였습니다.");
location.reload();
}
},
error: function (e) {
alert("호출정보생성에 실패하였습니다.");
location.reload();
}
});
}
/* CALL INFO 호출정보 삭제 */
function fn_delete_callInfo(p_infoNo, p_accessNo
){
//frm = document.writeForm;
//var p_accessNo = frm.accessNo.value;
if(confirm("삭제후 복구 불가능합니다. 진행하시겠습니까?")) {
$.ajax({
type: "POST",
//url: "/uss/umt/user/selectMberSttusAjax.do",
url: "/uss/ion/apikey/UserAPIDeleteCallInfoAjax.do",
data: {
"accessNo" : p_accessNo
,"infoNo" : p_infoNo
},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
alert("API 호출정보삭제 하였습니다.");
location.reload();
}else{
alert("호출정보삭제에 실패하였습니다.");
location.reload();
}
},
error: function (e) {
alert("호출정보삭제에 실패하였습니다.");
location.reload();
}
});
}
}
/* API KEY 생성11 */
function fn_reg_user_4_apikey(){
//frm = document.listForm;
var p_mberId = $('#mberId').val();
var form = document.checkForm;
var data = new FormData(form);
$.ajax({
type: "POST",
url: "/uss/ion/apikey/UserAPIInsertAPIKEYAjax.do",
data: {
"mberId": p_mberId
},
dataType:'json',
success: function (returnData, status) {
if(returnData.result == 'success'){
alert("API KEY 사용자 등록을 하였습니다.");
location.reload();
}else if(returnData.result == 'db'){
alert("API KEY 사용자 등록을 실패하였습니다.(아이디 중복여부 확인해주세요)");
location.reload();
}else if(returnData.result == 'fail'){
alert("API KEY 사용자 등록을 실패하였습니다.(아이디 정상여부 확인해주세요)");
//location.reload();
}else{
alert("API KEY 사용자 등록을 실패하였습니다.(아이디 중복 확인해주세요)");
location.reload();
}
},
error: function (e) {
alert("API KEY 생성 실패하였습니다. 관리자에게 문의해 주세요");
location.reload();
}
});
}
</script>
<form id="checkForm" name="checkForm">
<input type="hidden" id="mberId" value="<c:out value="${mberId }" />" />
</form>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<c:import url="./top_tepMenu.jsp" />
<!-- 문자보내기 -->
<div class="top_content api_guide_cont current">
<div class="heading">
<h2>신청/관리<c:out value="${apiVO.useYn }" /></h2>
</div>
<!--신청/관리 내용-->
<!--API 신청 정보 : 신청 전-->
<div class="api_admin">
<div class="admin_title">API 신청 정보</div>
<div class="tb_wrap_t1">
<table class="tType4">
<caption>API 신청 일시, 승인 일시, 상태, 관리 테이블</caption>
<colgroup>
<col style="width:35%">
<col style="width:35%">
<col style="width:15%">
<col style="width:15%">
</colgroup>
<thead>
<tr>
<th>신청 일시</th>
<th>승인 일시</th>
<th>상태</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<tr>
<c:choose>
<c:when test="${apiVO.useYn eq 'A'}"><!-- API 신청 중 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>-</td>
<td>심사중</td>
<td><button type="button" class="btnType btnType23">신청 취소</button></td>
</c:when>
<c:when test="${apiVO.useYn eq 'N' and apiVO.accessKey eq ''}"><!-- API 미승인 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>${apiVO.lastUpdtPnttm}</td>
<td>미승인</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete_real('${apiVO.accessNo}'); return false;">삭제</button>
<button type="button" class="btnType btnType14" onclick="fn_delete('${apiVO.accessNo}','A'); return false;">재신청</button>
</td>
</c:when>
<c:when test="${apiVO.useYn eq 'Y' or (apiVO.useYn eq 'N' and apiVO.accessKey ne '')}"><!-- API 사용 중 -->
<td>${apiVO.frstRegistPnttm}</td>
<td>${apiVO.lastUpdtPnttm}</td>
<td>승인</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete_real('${apiVO.accessNo}'); return false;">사용 취소</button>
</td>
</c:when>
<c:otherwise>
<td colspan="4">신청 내역이 없습니다.</td>
</c:otherwise>
</c:choose>
</tr>
</tbody>
</table>
</div>
<c:if test="${apiVO.useYn eq null}">
<button type="button" class="btnType btnType2" onclick="fn_reg_user_4_apikey(); return false;">사용 신청</button>
</c:if>
</div>
<!--// API 신청 정보 : 신청 전-->
<!--API KEY 관리 : 발급 전-->
<div class="api_admin">
<div class="admin_title">API KEY 관리</div>
<div class="tb_wrap_t1">
<table class="tType4">
<caption>API KEY 생성 일시, API KEY, 상태, 관리 테이블</caption>
<colgroup>
<col style="width:35%">
<col style="width:35%">
<col style="width:15%">
<col style="width:15%">
</colgroup>
<thead>
<tr>
<th>생성 일시</th>
<th>API KEY</th>
<th>상태</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<tr>
<c:choose>
<c:when test="${apiVO.useYn eq 'Y'}">
<td>
${apiVO.lastUpdtPnttm}
</td>
<td>
${apiVO.accessKey}
</td>
<td>
사용
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','N'); return false;">정지</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('14'); return false;">재발급</button>
</td>
</c:when>
<c:when test="${apiVO.useYn eq 'N'}">
<td>
${apiVO.lastUpdtPnttm}
</td>
<td>
${apiVO.accessKey}
</td>
<td>
미사용
</td>
<td>
<button type="button" class="btnType btnType23" onclick="fn_delete('${apiVO.accessNo}','Y'); return false;">사용처리</button>
<button type="button" class="btnType btnType14" onclick="fn_update_apikey('${apiVO.accessNo}'); return false;">재발급</button>
</td>
</c:when>
<c:otherwise>
<td colspan="4">API KEY 발급 내역이 없습니다.</td>
</c:otherwise>
</c:choose>
</tr>
</tbody>
</table>
</div>
<p class="admin_info">* API KEY는 계정당 1개만 제공됩니다.</p>
</div>
<!--// API KEY 관리 : 발급 전-->
<!--API 사용 IP 관리 : IP등록 전-->
<div class="api_admin">
<div class="admin_title">API 사용 IP 관리</div>
<div class="tb_wrap_t1">
<table class="tType4">
<caption>IP 등록 일시, IP, 관리 테이블</caption>
<colgroup>
<col style="width:35%">
<col style="width:35%">
<col style="width:30%">
</colgroup>
<thead>
<tr>
<th>등록 일시</th>
<th>IP</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${apiVO.useYn eq 'Y' or apiVO.useYn eq 'N'}">
<c:forEach var="result" items="${apiCallInfoVOList}" varStatus="status">
<tr>
<td>${result.frstRegistPnttm}</td>
<td>${result.callInfo}</td>
<td><button type="button" class="btnType btnType23" onclick="fn_delete_callInfo('${result.infoNo}', '${result.accessNo}'); return false;">삭제</button></td>
</tr>
</c:forEach>
<c:if test="${apiCallInfoVOListSize eq 0}">
<tr>
<td colspan="3">사용 IP 등록 내역이 없습니다.</td>
</tr>
</c:if>
</c:when>
<c:otherwise>
<tr>
<td colspan="3">사용 IP 등록 내역이 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<!--사용 승인 될 경우에만 노출-->
<c:choose>
<c:when test="${apiVO.useYn eq 'Y' and apiCallInfoVOListSize lt 11}">
<div class="input_box">
<div class="box_in">IP입력 : <input type="text" id="callInfo" placeholder="IP를 입력해주세요"><button type="botton" class="btnType btnType2" onclick="fn_insert_callInfo('${apiVO.accessNo}'); return false;">IP 등록</button></div>
</div>
</c:when>
<c:otherwise>
<!-- <p class="admin_info">* IP는 10개 까지만 등록 가능합니다.</p> -->
</c:otherwise>
</c:choose>
<p class="admin_info">* 대역 등록을 원하실 경우 상위 IP만 작성하시면 됩니다. ex&#65289; 92.168.255.0 ~ 192.168.255.255 대역을 등록할 경우 192.168. 255. 입력</p>
<p class="admin_info">* IP는 최대 10개까지 등록 가능합니다. 단, IP 대역은 1개의 IP로 계산합니다.<c:out value="${apiCallInfoVOListSize }" /></p>
<!--//사용 승인 될 경우에만 노출-->
</div>
<!--// API 사용 IP 관리 : IP등록 전-->
<!--// 신청/관리 내용-->
</div>
</div>
</div>

View File

@ -222,12 +222,7 @@ function fn_reg_user_4_apikey(){
<!-- send top -->
<div class="send_top">
<ul class="tabType4">
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage1_r1.do'">문자API 소개</button></li>
<li class="tab active"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage2_r1.do'">신청/관리</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage3_r1.do'">API SPEC</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage4_r1.do'">예제 다운로드</button></li>
</ul><!--// tab button -->
<c:import url="./top_tepMenu.jsp" />
<!-- tab button -->
<div class="serv_content charg_cont current" id="tab5_1">

View File

@ -0,0 +1,297 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript>
$(document).ready(function(){
$('#download_btn').click(function(){
location.href="<c:out value='/sample_mjon/jsp_샘플_예제.zip' />";
});
});
</script>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<!-- tab button -->
<c:import url="./top_tepMenu.jsp" />
<!--// tab button -->
<div class="api_guide_cont current">
<div class="heading">
<h2>예제 다운로드</h2>
</div>
<!--예제 다운로드 내용-->
<div class="api_download">
<ul class="info">
<li>- 아래 예제(JSP)를 참고하시어 쉽고 편리하게 API를 연동할 수 있습니다.</li>
<li>- JSP 외 타 예제는 계속해서 업데이트 될 예정입니다.</li>
</ul>
<div class="list_tab_wrap2 type2">
<!-- tab button -->
<ul class="list_tab">
<li class="tab active"><button type="button" onclick="listTab3(this,'1');">JSP</button>
</li><!--
<li class="tab"><button type="button" onclick="listTab3(this,'2');">ASP</button>
</li>
<li class="tab"><button type="button" onclick="listTab3(this,'3');">PHP</button>
</li>
<li class="tab"><button type="button" onclick="listTab3(this,'4');">.NET</button>
</li>
<li class="tab"><button type="button" onclick="listTab3(this,'5');">AOS</button>
</li>
<li class="tab"><button type="button" onclick="listTab3(this,'6');">IOS</button>
</li>-->
</ul>
<!--// tab button -->
</div>
<!-- JSP 다운로드-->
<div class="download_cont current" id="listTab3_1">
<div class="box">
<div class="text">
<h4>JSP Example</h4>
<table>
<caption>JSP 샘플 파일 설명 테이블</caption>
<colgroup>
<col style="width:35%;">
<col style="width:65%;">
</colgroup>
<tr>
<th>jsp_example_send_msg_r1.jsp</th>
<td>문자보내기(여러명에게 동일한문자)</td>
</tr>
<tr>
<th>sp_example_send_msgs_r1.jsp</th>
<td>문자보내기(여러명에게 다른문자)</td>
</tr>
<tr>
<th>jsp_example_hstry_r1.jsp</th>
<td>전송내역조회</td>
</tr>
<tr>
<th>jsp_example_hstry_detail_r1.jsp</th>
<td>상세전송내역조회</td>
</tr>
<tr>
<th>jsp_example_select_price_r1.jsp</th>
<td>발송가능건수</td>
</tr>
</table>
</div>
</div>
<div class="btn_area">
<button type="button" class="btnType btnType11" id="download_btn" onclick="return false;">JSP용 예제 다운받기</button>
</div>
</div>
<!--// JSP 다운로드-->
<!--ASP 다운로드-->
<div class="download_cont" id="listTab3_2">
<div class="box">
<div class="text">
<h4>ASP Example</h4>
<table>
<caption>ASP 샘플 파일 설명 테이블</caption>
<colgroup>
<col style="width:35%;">
<col style="width:65%;">
</colgroup>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
</table>
</div>
</div>
<div class="btn_area">
<button type="button" class="btnType btnType11">ASP용 예제 다운받기</button>
</div>
</div>
<!--// ASP 다운로드-->
<!--PHP 다운로드-->
<div class="download_cont" id="listTab3_3">
<div class="box">
<div class="text">
<h4>PHP Example</h4>
<table>
<caption>PHP 샘플 파일 설명 테이블</caption>
<colgroup>
<col style="width:35%;">
<col style="width:65%;">
</colgroup>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
</table>
</div>
</div>
<div class="btn_area">
<button type="button" class="btnType btnType11">PHP용 예제 다운받기</button>
</div>
</div>
<!--// PHP 다운로드-->
<!--.NET 다운로드-->
<div class="download_cont" id="listTab3_4">
<div class="box">
<div class="text">
<h4>.NET Example</h4>
<table>
<caption>.NET 샘플 파일 설명 테이블</caption>
<colgroup>
<col style="width:35%;">
<col style="width:65%;">
</colgroup>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
</table>
</div>
</div>
<div class="btn_area">
<button type="button" class="btnType btnType11">.NET용 예제 다운받기</button>
</div>
</div>
<!--// .NET 다운로드-->
<!--AOS 다운로드-->
<div class="download_cont" id="listTab3_5">
<div class="box">
<div class="text">
<h4>AOS Example</h4>
<table>
<caption>AOS 샘플 파일 설명 테이블</caption>
<colgroup>
<col style="width:35%;">
<col style="width:65%;">
</colgroup>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
</table>
</div>
</div>
<div class="btn_area">
<button type="button" class="btnType btnType11">AOS용 예제 다운받기</button>
</div>
</div>
<!--// AOS 다운로드-->
<!--IOS 다운로드-->
<div class="download_cont" id="listTab3_6">
<div class="box">
<div class="text">
<h4>IOS Example</h4>
<table>
<caption>IOS 샘플 파일 설명 테이블</caption>
<colgroup>
<col style="width:35%;">
<col style="width:65%;">
</colgroup>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
<tr>
<th>파일명</th>
<td>파일 설명</td>
</tr>
</table>
</div>
</div>
<div class="btn_area">
<button type="button" class="btnType btnType11">IOS용 예제 다운받기</button>
</div>
</div>
<!--// IOS 다운로드-->
</div>
<!--// 예제 다운로드 내용-->
</div>
</div>
</div>

View File

@ -0,0 +1,93 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript>
$(document).ready(function(){
});
</script>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<c:import url="./top_tepMenu.jsp" />
<!-- tab button -->
<div class="api_guide_cont current">
<div class="heading">
<h2>문자 API 소개</h2>
</div>
<!--소개 내용-->
<div class="api_visual_image">
<img src="<c:url value='/publish/images/api_intro_cont/api_intro_visual.jpg' />" alt="문자 API도 이제 '문자온!'' 별도의 프로그램 설치 없이 누구나 쉽고 편리하게 문자를 발송할 수 있습니다." usemap="#image-map">
<map name="image-map">
<area target="_self" alt="문자 API 신청하기" title="문자 API 신청하기" href="#" coords="88,214,291,268" shape="rect">
</map>
</div>
<!--사용 절차 설명 -->
<div class="api_intro">
<div class="title">
<h3>문자 API 사용 절차</h3>
</div>
<div class="title-line">
<div class="left-line"></div>
<div class="right-line"></div>
</div>
<div class="con">
<ul class="api_process_guide">
<li class="guide">
<p class="step_title">STEP <span>01</span></p>
<div class="step_con">
<div class="icon"><img src="<c:url value='/publish/images/api_intro_cont/api_guide_01.jpg' />" alt="문자 API 신청 아이콘"></div>
<dl>
<dt>문자 API 신청</dt>
<dd>관리자 승인 후 사용 가능</dd>
</dl>
</div>
</li>
<li class="guide">
<p class="step_title">STEP <span>02</span></p>
<div class="step_con">
<div class="icon"><img src="<c:url value='/publish/images/api_intro_cont/api_guide_02.jpg' />" alt="관리자 승인 아이콘"></div>
<dl>
<dt>관리자 승인</dt>
<dd>승인 완료 시 문자 안내</dd>
</dl>
</div>
</li>
<li class="guide">
<p class="step_title">STEP <span>03</span></p>
<div class="step_con">
<div class="icon"><img src="<c:url value='/publish/images/api_intro_cont/api_guide_03.jpg' />" alt="아이피(IP) 등록 아이콘"></div>
<dl>
<dt>아이피<span>(IP)</span> 등록</dt>
<dd>문자 API를 통해 문자 발송 서버 IP 등록</dd>
</dl>
</div>
</li>
<li class="guide">
<p class="step_title">STEP <span>04</span></p>
<div class="step_con">
<div class="icon"><img src="<c:url value='/publish/images/api_intro_cont/api_guide_04.jpg' />" alt="API 연동 아이콘"></div>
<dl>
<dt>API 연동</dt>
<dd>API 사용 매뉴얼 및 샘플링을 통해 누구나 손쉽게 연동 가능</dd>
</dt>
</div>
</li>
</ul>
</div>
</div>
<!--// 사용 절차 설명-->
<!--// 소개 내용-->
</div>
</div>
</div>

View File

@ -0,0 +1,37 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script type="text/javascript">
$(document).ready(function(){
// 현재 url 추출
var url = window.location.pathname;
// console.log(url);
// 현재 url에서 uri만 추출
var lastPart = url.split('/').pop();
// console.log(lastPart);
/*
* top 메뉴중 onclick에 있는 uri을 가져와
* 현재 호출된 페이지와 uri와 비교해서 맞다면
* active로 활성화 시킴
*/
$('.tabType4 .tab').each(function(index) {
var onclickAttr = $(this).children("button").attr("onclick");
// console.log("Button " + (index + 1) + " onclick: " + onclickAttr);
if(onclickAttr.indexOf(lastPart) > -1){
$(this).addClass('active');
}
});
});
</script>
<ul class="tabType4">
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/intrdView.do" />'">문자 API소개</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/apiSpec.do" />'">API 사용안내</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/examDown.do" />'">예제 다운로드</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/web/api/appMgmt.do" />'">신청/관리</button></li>
</ul>

View File

@ -1,101 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript>
$(document).ready(function(){
});
</script>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<ul class="tabType4">
<li class="tab active"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage1_r1.do'">문자API 소개</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage2_r1.do'">신청/관리</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage3_r1.do'">API SPEC</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage4_r1.do'">예제 다운로드</button></li>
</ul><!--// tab button -->
<!-- tab button -->
<div class="serv_content charg_cont current" id="tab5_1">
<div class="heading">
<h2>문자API 소개</h2>
</div>
<!-- 문자보내기 -->
<div class="fee_cont current" id="tab1_1">
<p class="tType1_title">RESTful API</p>
<span class="reqTxt4">
비즈니스 및 앱을 위한 프로페셔널 SMS 문자서비스
</br>
쉽고 간단한 API 연동으로 소중한 작업시간과 비용을 줄여드립니다.
</br>
</br>
<img src="/images/restapi/restapi_r1.png" alt="REST API CONCEPT">
</br>
</br>
1. Request HTTP TCP/IP 통신을 이용하며 Client는 REST API 규격에 맞춰서 메시지 전송
</br>
2. Response HTTP Server는 Client로부터 전달 받은 메시지 전송요청 응답
</br>
3. SEND SMS Server는 통신사에 메시지를 전송
</br>
4. Get Reports 통신사업자로부터 메시지 리포트 수신
</br>
5. Response Reports 메시지 리포트 정상 수신 여부에 대한 응답을 Server에 전달
</br>
</span>
<!--
</br>
</br>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다. 예약설정을 통해 예약문자로 등록이 가능하며, 파일첨부를 통해 MMS 전송이 가능합니다.
</span>
-->
</div>
</div>
</div>
</div>

View File

@ -1,284 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<p class="tType1_title">문자보내기</p>
<span class="reqTxt4">
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
</br>
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
</br>
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
</span>
</br>
</br>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
</p>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 80px;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<th>mberId</th>
<td>사용자 ID</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>accessKey</th>
<td>인증용 API Key</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>callFrom</th>
<td>발신자 번호 (아이디에 등록되어 있는 번호)</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>callToList</th>
<td>수신자 번호 (콤마(,) 기준으로 입력)</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>smsTxt</th>
<td>메세지 내용</td>
<td>String (1~2,000Byte)</td>
<td>O</td>
</tr>
<tr>
<th>nameStr</th>
<td>메세지 내용에 [*이름*]이 있으면 치환용 이름 입력( | 로 구분 )</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>test_yn</th>
<td>테스트 데이터 여부</td>
<td>String</td>
<td>X</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"mberId":"홍길동"</p>
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
<p>,"callFrom":"01012341234"</p>
<p>,"callToList":"01011111111,01022222222,01033333333"</p>
<p>,"smsTxt":"문자 테스트~![*이름*]"</p>
<p>,"nameStr":"홍길동1|홍길동2|홍길동3"</p>
<p>,"test_yn":""</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
</p>
<span class="reqTxt4">
JSON 객체로 응답 합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<th>resultCode</th>
<td>성공 여부 ( "0" 아니면 실패 )</td>
<td>String</td>
</tr>
<tr>
<th>data</th>
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
<td>Object</td>
</tr>
<tr>
<th>[data].msgGroupId</th>
<td>메세지 그룹 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgType</th>
<td>메세지 타입 ( 4: 단문, 5: 장문 )</td>
<td>String</td>
</tr>
<tr>
<th>[data].blockCnt</th>
<td>수신거부 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].failCnt</th>
<td>전송실패 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].successCnt</th>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].test_yn</th>
<td>테스트 데이터 여부</td>
<td>String</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 성공 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"resultCode":"0"</p>
<p>, "data":{</p>
<div>
<p>"msgGroupId":"MSGGID_0000000000000"</p>
<p>, "msgType":"SMS"</p>
<p>, "resultCode":"0"</p>
<p>, "blockCnt":"0"</p>
<p>, "failCnt":"0"</p>
<p>, "successCnt":"3"</p>
<p>, "test_yn":null</p>
</div>
<p>}</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">* 실패 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"resultCode":"1040"</p>
<p>,"data":"치환 데이터 오류"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>

View File

@ -1,306 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<p class="tType1_title">문자보내기(대량)</p>
<span class="reqTxt4">
다른 내용의 문자를 동시에 100명에게 전송하실 수 있습니다.
</br>
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
</br>
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
</span>
</br>
</br>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
</p>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 80px;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<th>mberId</th>
<td>사용자 ID</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>accessKey</th>
<td>인증용 API Key</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>callFrom</th>
<td>발신자 번호 (아이디에 등록되어 있는 번호)</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>test_yn</th>
<td>테스트 데이터 여부</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>callTo_1</th>
<td>수신자 번호 1</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>smsTxt_1</th>
<td>메세지 내용 1</td>
<td>String (1~2,000Byte)</td>
<td>O</td>
</tr>
<tr>
<td colspan="4">ㆍㆍㆍㆍ </td>
</tr>
<tr>
<th>callTo_100</th>
<td>수신자 번호 100</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>smsTxt_100</th>
<td>메세지 내용 100</td>
<td>String (1~2,000Byte)</td>
<td>O</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"mberId":"홍길동"</p>
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
<p>,"callFrom":"01012341234"</p>
<p>,"test_yn":""</p>
<p>,"callTo_1":"01011111111"</p>
<p>,"smsTxt_1":"문자 테스트 1"</p>
<p>,"callTo_2":"01022222222"</p>
<p>,"smsTxt_2":"문자 테스트 2"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
</p>
<span class="reqTxt4">
JSON 객체로 응답 합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<th>resultCode</th>
<td>성공 여부 ( "0" 아니면 실패 )</td>
<td>String</td>
</tr>
<tr>
<th>data</th>
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
<td>Object</td>
</tr>
<tr>
<th>[data].msgGroupIdList</th>
<td>메세지 그룹 ID 리스트</td>
<td>List String</td>
</tr>
<tr>
<th>[data].msgType</th>
<td>메세지 타입 ( 4: 단문, 5: 장문 )</td>
<td>String</td>
</tr>
<tr>
<th>[data].blockCnt</th>
<td>수신거부 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].failCnt</th>
<td>전송실패 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].successCnt</th>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].test_yn</th>
<td>테스트 데이터 여부</td>
<td>String</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 성공 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>&emsp;"resultCode":"0"</p>
<p>&emsp;, "data":[</p>
<p>&emsp;&emsp;"msgGroupIdList":[</p>
<p>&emsp;&emsp;&emsp;{</p>
<p>&emsp;&emsp;&emsp;&emsp;"MSGGID_0000000013451"</p>
<p>&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;&emsp;,{</p>
<p>&emsp;&emsp;&emsp;&emsp;"MSGGID_0000000013452"</p>
<p>&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;]</p>
<p>&emsp;&emsp;,"msgTypeList":[</p>
<p>&emsp;&emsp;&emsp;{</p>
<p>&emsp;&emsp;&emsp;&emsp;"SMS"</p>
<p>&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;&emsp;,{</p>
<p>&emsp;&emsp;&emsp;&emsp;"SMS"</p>
<p>&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;]</p>
<p>&emsp;&emsp;,"resultCode":"0"</p>
<p>&emsp;&emsp;,"successCnt":"2"</p>
<p>&emsp;&emsp;,"failCnt":"0"</p>
<p>&emsp;&emsp;,"blockCnt":"0"</p>
<p>&emsp;&emsp;,"test_yn":null</p>
<p>&emsp;]</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">* 실패 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"resultCode":"1040"</p>
<p>,"data":"치환 데이터 오류"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>

View File

@ -1,423 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<p class="tType1_title">전송내역조회</p>
<span class="reqTxt4">
최근 요청 및 처리된 전송내역을 조회하실 수 있습니다.
</br>
사이트 내 전송결과 조회 페이지와 동일한 내역이 조회되며, 날짜 기준으로 조회가 가능합니다.
</br>
발신번호별 조회 기능은 제공이 되지 않습니다.
</br>
조회 시작일을 지정하실 수 있으며, 시작일 이전 며칠까지 조회할지 설정이 가능합니다.
</br>
조회 시 최근 발송내역 순서로 소팅됩니다.
</span>
</br>
</br>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
</p>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
</span>
<!-- <p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자
</p> -->
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 80px;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<th>mberId</th>
<td>사용자 ID</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>accessKey</th>
<td>인증용 API Key</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>page</th>
<td>페이지 번호</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>pageSize</th>
<td>페이지당 출력개수</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>startDate</th>
<td>시작일자</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>endDate</th>
<td>마감일자</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>test_yn</th>
<td>테스트 데이터 여부</td>
<td>String</td>
<td>X</td>
</tr>
</tbody>
</table>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{<br />
<p>"mberId":"홍길동"</p>
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
<p>,"page":""</p>
<p>,"pageSize":""</p>
<p>,"startDate":""</p>
<p>,"endDate":""</p>
<p>,"test_yn":""</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
</p>
<span class="reqTxt4">
JSON 객체로 응답 합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<th>resultCode</th>
<td>성공 여부 ( "0" 아니면 실패 )</td>
<td>String</td>
</tr>
<tr>
<th>data</th>
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
<td>Object</td>
</tr>
<tr>
<th>[data].message</th>
<td>문자</td>
<td>String</td>
</tr>
<tr>
<th>[data].next_yn</th>
<td>다음 페이지 여부</td>
<td>String</td>
</tr>
<tr>
<th>[data].objectList</th>
<td>결과값 목록</td>
<td>Object List</td>
</tr>
<tr>
<th>[data].msgGroupId</th>
<td>메세지 그룹 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgId</th>
<td>메세지 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgTypeName</th>
<td>문자 구분명(단문, 장문, 그림)</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgType</th>
<td>메세지 타입 ( 4: 단문, 5: 장문 )</td>
<td>String</td>
</tr>
<tr>
<th>[data].callFrom</th>
<td>발신자 번호</td>
<td>String</td>
</tr>
<tr>
<th>[data].callTo</th>
<td>수신자 번호</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgGroupCnt</th>
<td>문자 발송 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].sCnt</th>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].fCnt</th>
<td>실패 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].wCnt</th>
<td>대기 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgResult</th>
<td>발송결과( 성공 : S, 실패 : F)</td>
<td>String</td>
</tr>
<tr>
<th>[data].smsTxt</th>
<td>문자내용</td>
<td>String</td>
</tr>
<tr>
<th>[data].subject</th>
<td>제목</td>
<td>String</td>
</tr>
<tr>
<th>[data].reqdate</th>
<td>발송 일자</td>
<td>String</td>
</tr>
<tr>
<th>[data].curState</th>
<td>전송 처리 결과값</td>
<td>String</td>
</tr>
<tr>
<th>[data].userId</th>
<td>사용자 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].regdate</th>
<td>등록 일자</td>
<td>String</td>
</tr>
<tr>
<th>[data].reserveCYn</th>
<td>예약 취소 여부</td>
<td>String</td>
</tr>
<tr>
<th>[data].ttlCnt</th>
<td>전체 요청 수</td>
<td>String</td>
</tr>
<tr>
<th>[data].remainMsgCnt</th>
<td>남은 문자 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].totMsgCnt</th>
<td>전체 문자 개수</td>
<td>String</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 성공 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>&emsp;"resultCode":"0"</p>
<p>&emsp;, "data":[</p>
<p>&emsp;&emsp;{</p>
<p>&emsp;&emsp;&emsp;"resultCode":"0"</p>
<p>&emsp;&emsp;&emsp;, "message": null</p>
<p>&emsp;&emsp;&emsp;, "next_yn":"n"</p>
<p>&emsp;&emsp;&emsp;, "msgGroupId":"MSGGID_0000000000000"</p>
<p>&emsp;&emsp;&emsp;, "objectList":[</p>
<p>&emsp;&emsp;&emsp;&emsp;{</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;"msgTypeName":"단문(SMS)"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgType":"4"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callFrom":"01011112222"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callTo":"01011112223"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupCnt":"2"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupId":"MSGGID_0000000013340"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgId":"MSGID_0000000000001"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"scnt":"2"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"fcnt":"0"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"wcnt":"0"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgResult":"S"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"smsTxt":"문자 내용 단문 예제"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"subject":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reqdate":"2023-06-13 17:48:07"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"curState":"3"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"userId":"testuser"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"regdate":"2023-06-13 17:48:07"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reserveCYn":"N"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"ttlCnt":"1"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"remainMsgCnt":40"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"totMsgCnt":"70"</p>
<p>&emsp;&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;&emsp;&emsp;, {</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;"msgTypeName":"장문(LMS)"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgType":"6"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callFrom":"01011112222"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callTo":"01011112223"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupCnt":"1"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupId":"MSGGID_0000000013341"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgId":"MSGID_0000000000002"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"scnt":"1"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"fcnt":"0"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"wcnt":"0"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgResult":"S"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"smsTxt":"문자 내용 장문 예제"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"subject":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reqdate":"2023-06-02 11:46:50"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"curState":"3"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"userId":"testuser"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"regdate":"2023-06-02 11:46:49"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reserveCYn":"N"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"ttlCnt":"1"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"remainMsgCnt":"40"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"totMsgCnt":"70"</p>
<p>&emsp;&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;&emsp;]</p>
<p>&emsp;&emsp;}</p>
<p>&emsp;]</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">* 실패 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"resultCode":"3099"</p>
<p>,"data":"기타 시스템 오류"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>

View File

@ -1,408 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<p class="tType1_title">전송결과조회(상세)</p>
<span class="reqTxt4">
msgGroupId를 사용하여 수신번호별 상태를 조회하실 수 있습니다.
</br>
수신 전화번호별 전송상태를 조회하실 수 있으며 목록에 없거나 전송 중인 문자는 만 24시간 동안 전송 시도 중인 것입니다.
</br>
최종 24시간이 경과 후 조회하셔야 완료된 내역을 확인하실 수 있습니다.
</span>
</br>
</br>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
</p>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 80px;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<th>mberId</th>
<td>사용자 ID</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>accessKey</th>
<td>인증용 API Key</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>msgGroupId</th>
<td>메시지그룹 ID</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>page</th>
<td>페이지 번호</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>pageSize</th>
<td>페이지당 출력개수</td>
<td>String</td>
<td>X</td>
</tr>
<tr>
<th>test_yn</th>
<td>테스트 데이터 여부</td>
<td>String</td>
<td>X</td>
</tr>
</tbody>
</table>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{<br />
<p>"mberId":"홍길동"</p>
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
<p>,"msgGroupId":"MSGGID_0000000011452"</p>
<p>,"page":""</p>
<p>,"pageSize":""</p>
<p>,"test_yn":""</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
</p>
<span class="reqTxt4">
JSON 객체로 응답 합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<th>resultCode</th>
<td>성공 여부 ( "0" 아니면 실패 )</td>
<td>String</td>
</tr>
<tr>
<th>data</th>
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
<td>Object</td>
</tr>
<tr>
<th>[data].message</th>
<td>문자</td>
<td>String</td>
</tr>
<tr>
<th>[data].next_yn</th>
<td>다음 페이지 여부</td>
<td>String</td>
</tr>
<tr>
<th>[data].objectList</th>
<td>결과값 목록</td>
<td>Object List</td>
</tr>
<tr>
<th>[data].msgGroupId</th>
<td>메세지 그룹 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgId</th>
<td>메세지 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgTypeName</th>
<td>문자 구분명(단문, 장문, 그림)</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgType</th>
<td>메세지 타입 ( 4: 단문, 5: 장문 )</td>
<td>String</td>
</tr>
<tr>
<th>[data].callFrom</th>
<td>발신자 번호</td>
<td>String</td>
</tr>
<tr>
<th>[data].callTo</th>
<td>수신자 번호</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgGroupCnt</th>
<td>문자 발송 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].sCnt</th>
<td>성공 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].fCnt</th>
<td>실패 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].wCnt</th>
<td>대기 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].msgResult</th>
<td>발송결과( 성공 : S, 실패 : F)</td>
<td>String</td>
</tr>
<tr>
<th>[data].smsTxt</th>
<td>문자내용</td>
<td>String</td>
</tr>
<tr>
<th>[data].subject</th>
<td>제목</td>
<td>String</td>
</tr>
<tr>
<th>[data].reqdate</th>
<td>발송 일자</td>
<td>String</td>
</tr>
<tr>
<th>[data].curState</th>
<td>전송 처리 결과값</td>
<td>String</td>
</tr>
<tr>
<th>[data].userId</th>
<td>사용자 ID</td>
<td>String</td>
</tr>
<tr>
<th>[data].regdate</th>
<td>등록 일자</td>
<td>String</td>
</tr>
<tr>
<th>[data].reserveCYn</th>
<td>예약 취소 여부</td>
<td>String</td>
</tr>
<tr>
<th>[data].ttlCnt</th>
<td>전체 요청 수</td>
<td>String</td>
</tr>
<tr>
<th>[data].remainMsgCnt</th>
<td>남은 문자 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].totMsgCnt</th>
<td>전체 문자 개수</td>
<td>String</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 성공 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>&emsp;"resultCode":"0"</p>
<p>&emsp;, "data":[</p>
<p>&emsp;&emsp;{</p>
<p>&emsp;&emsp;&emsp;"resultCode":"0"</p>
<p>&emsp;&emsp;&emsp;, "message":null</p>
<p>&emsp;&emsp;&emsp;, "next_yn":null</p>
<p>&emsp;&emsp;&emsp;, "objectList":[</p>
<p>&emsp;&emsp;&emsp;&emsp;{</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;msgTypeName":"단문(SMS)"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgType":"4"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callFrom":"01011112222"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callTo":"01011112223"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupCnt":"2"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupId":"MSGGID_0000000013340"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgId":"MSGID_0000000000001"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"scnt":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"fcnt":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"wcnt":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgResult":"S"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"smsTxt":"문자 내용 단문 예제"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"subject":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reqdate":"2023-06-13 17:48:08"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"curState":"3"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"userId":"testuser"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"regdate":"2023-06-13 17:48:07"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reserveCYn":"N"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"ttlCnt":"10"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"remainMsgCnt":"0"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"totMsgCnt":"10"</p>
<p>&emsp;&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;&emsp;&emsp;, {</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;msgTypeName":"단문(LMS)"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgType":"4"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callFrom":"01011112222"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"callTo":"01011112224"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupCnt":"2"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgGroupId":"MSGGID_0000000013340"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgId":"MSGID_0000000000002"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"scnt":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"fcnt":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"wcnt":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"msgResult":"S"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"smsTxt":"문자 내용 단문 예제"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"subject":null</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reqdate":"2023-06-13 17:48:09"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"curState":"3"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"userId":"testuser"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"regdate":"2023-06-13 17:48:07"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"reserveCYn":"N"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"ttlCnt":"10"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"remainMsgCnt":"0"</p>
<p>&emsp;&emsp;&emsp;&emsp;&emsp;,"totMsgCnt":"10"</p>
<p>&emsp;&emsp;&emsp;&emsp;}</p>
<p>&emsp;&emsp;&emsp;]</p>
<p>&emsp;&emsp;}</p>
<p>&emsp;]</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">* 실패 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"resultCode":"4099"</p>
<p>,"data":"기타 시스템 오류"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>

View File

@ -1,254 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<p class="tType1_title">발송가능건수</p>
<span class="reqTxt4">
보유한 잔여 포인트로 발송 가능한 잔여 건수를 문자 구분(유형) 별로 조회하실 수 있습니다.
</br>
SMS, LMS, MMS로 발송 시 가능한 잔여 건수이며 남은 충전금을 문자유형별로 보냈을 경우 가능한 잔여 건입니다.
</br>
예를 들어 단문 발송 가능 건수 : 20 , 장문 발송 가능 건수 : 7 인 경우 단문 전송 시 20건이 가능하고, 장문으로 전송 시 7건이 가능합니다.
</span>
</br>
</br>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
</p>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 80px;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
<th>필수</th>
</tr>
</thead>
<tbody>
<tr>
<th>mberId</th>
<td>사용자 ID</td>
<td>String</td>
<td>O</td>
</tr>
<tr>
<th>accessKey</th>
<td>인증용 API Key</td>
<td>String</td>
<td>O</td>
</tr>
</tbody>
</table>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{<br />
<p>"mberId":"String"</p>
<p>,"accessKey":"String"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<p class="tType1_title">
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
</p>
<span class="reqTxt4">
JSON 객체로 응답 합니다.
</span>
<table class="tType2">
<caption></caption>
<colgroup>
<col style="width: 13%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th>키</th>
<th>설명</th>
<th>타입</th>
</tr>
</thead>
<tbody>
<tr>
<th>resultCode</th>
<td>성공 여부 ( "0" 아니면 실패 )</td>
<td>String</td>
</tr>
<tr>
<th>data</th>
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
<td>Object</td>
</tr>
<tr>
<th>[data].longPrice</th>
<td>장문 단가</td>
<td>String</td>
</tr>
<tr>
<th>[data].longSendPsbltEa</th>
<td>장문 발송 가능 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].mberMoney</th>
<td>현재 보유 금액</td>
<td>String</td>
</tr>
<tr>
<th>[data].message</th>
<td>문자</td>
<td>String</td>
</tr>
<tr>
<th>[data].picturePrice</th>
<td>그림문자 단가</td>
<td>String</td>
</tr>
<tr>
<th>[data].pictureSendPsbltEa</th>
<td>그림문자 발송 가능 건수</td>
<td>String</td>
</tr>
<tr>
<th>[data].shortPrice</th>
<td>단문 단가</td>
<td>String</td>
</tr>
<tr>
<th>[data].shortSendPsbltEa</th>
<td>단문 발송 가능 건수</td>
<td>String</td>
</tr>
</tbody>
</table>
<span class="reqTxt4">* 성공 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>&emsp;"resultCode":"0"</p>
<p>&emsp;, "data":{</p>
<p>&emsp;&emsp;"longPrice":"50"</p>
<p>&emsp;&emsp;, "longSendPsbltEa": "19651"</p>
<p>&emsp;&emsp;, "mberMoney": "982586.7"</p>
<p>&emsp;&emsp;, "message": null</p>
<p>&emsp;&emsp;, "picturePrice": "90"</p>
<p>&emsp;&emsp;, "pictureSendPsbltEa": "10917"</p>
<p>&emsp;&emsp;, "shortPrice": "18"</p>
<p>&emsp;&emsp;, "shortSendPsbltEa": "54588"</p>
<p>&emsp;&emsp;</p>
<p>&emsp;}</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">* 실패 예시</span>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="">
<colgroup>
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td class="padding_add">
{
<p>"resultCode":"5099"</p>
<p>,"data":"기타 시스템 오류"</p>
}
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>

View File

@ -1,141 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<script language=javascript>
$(document).ready(function(){
$('#download_btn').click(function(){
location.href="<c:out value='/sample_mjon/jsp_샘플_예제.zip' />";
});
});
</script>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<ul class="tabType4">
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage1_r1.do'">문자API 소개</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage2_r1.do'">신청/관리</button></li>
<li class="tab"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage3_r1.do'">API SPEC</button></li>
<li class="tab active"><button type="button" onclick="location.href='/web/user/sendRESTAPI_infoPage4_r1.do'">예제 다운로드</button></li>
</ul><!--// tab button -->
<!-- tab button -->
<div class="serv_content charg_cont current" id="tab5_1">
<div class="heading">
<h2>예제 다운로드</h2>
</div>
<!-- 문자보내기 -->
<div class="fee_cont current" id="tab1_1">
<p class="tType1_title">RESTful API 연동 예제</p>
<span class="reqTxt4">
API 연동시 API SPEC에 안내된 내용을 참고하셔서 진행에 주시기 바랍니다.
</br>
</br>
아래의 예제를 참고하시면 보다 쉽게 문자온 RESTful API의 구현이 가능합니다.
</br>
<p class="tType1_title">Example</p>
<!-- JSP -->
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>JSP Example</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>jsp_example_send_msg_r1.jsp</td>
<td>문자보내기(여러명에게 동일한문자)</td>
</tr>
<tr>
<td>jsp_example_send_msgs_r1.jsp</td>
<td>문자보내기(여러명에게 다른문자)</td>
</tr>
<tr>
<td>jsp_example_hstry_r1.jsp</td>
<td>전송내역조회</td>
</tr>
<tr>
<td>jsp_example_hstry_detail_r1.jsp</td>
<td>상세전송내역조회</td>
</tr>
<tr>
<td>jsp_example_select_price_r1.jsp</td>
<td>발송가능건수</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
<div class="mem_btnWrap2">
<button type="button" class="mem_btn3" id="download_btn" style="width: 100%;" id="sendMSG" onclick="return false;">JSP용 예제 다운받기</button>
</div>
</span>
</span>
<!--
</br>
</br>
<ul class="clause_list">
<li class="list_open on">
<div class="clause_list_head">
<div class="list_head_in">
<span>Request</span>
</div>
</div>
<div class="clause_list_body">
<table class="refund_info">
<colgroup>
<col style="width: 25%">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<td>Http Method</td>
<td>POST</td>
</tr>
<tr>
<td>프로토콜</td>
<td>HTTP/1.1</td>
</tr>
<tr>
<td>HOST</td>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<td>Service Port</td>
<td>443</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
<span class="reqTxt4">
HTTPS 프로토콜을 사용하여 POST로 요청합니다. 예약설정을 통해 예약문자로 등록이 가능하며, 파일첨부를 통해 MMS 전송이 가능합니다.
</span>
-->
</div>
</div>
</div>
</div>