api 사용가이드 작성중

This commit is contained in:
hehihoho3@gmail.com 2025-09-10 14:12:43 +09:00
parent f4c137a8c7
commit d201592372
13 changed files with 1330 additions and 852 deletions

View File

@ -250,11 +250,6 @@ public class EgovMypageRESTAPIController{
return "web/api/apiSpec"; return "web/api/apiSpec";
} }
/**
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="/web/api/apiAtSpec.do") @RequestMapping(value="/web/api/apiAtSpec.do")
public String apiAtSpec(ModelMap model) public String apiAtSpec(ModelMap model)
throws Exception { throws Exception {
@ -265,9 +260,28 @@ public class EgovMypageRESTAPIController{
} }
model.addAttribute("loginVO", loginVO); model.addAttribute("loginVO", loginVO);
return "web/api/at/apiSpec"; // return "web/api/apiAtSpec";
return "web/api/apiAtSpec";
} }
/**
* @param model
* @return
* @throws Exception
*/
/* @RequestMapping(value="/web/api/apiAtSpec.do")
public String apiAtSpec(ModelMap model)
throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
if(loginVO == null) {
return "redirect:/web/user/login/login.do";
}
model.addAttribute("loginVO", loginVO);
return "web/api/at/apiSpec";
}*/
/** /**
* @param model * @param model
* @return * @return

View File

@ -36,6 +36,11 @@
<link rel="stylesheet" href="/publish/js/datepicker/classic.css"> <link rel="stylesheet" href="/publish/js/datepicker/classic.css">
<link rel="stylesheet" href="/publish/js/datepicker/classic.date.css"> <link rel="stylesheet" href="/publish/js/datepicker/classic.date.css">
<link rel="stylesheet" href="/publish/js/highlight/styles/default.min.css">
<link rel="stylesheet" href="/publish/js/highlight/styles/arta.css">
<script type="text/javascript" src="/publish/js/jquery-3.5.0.js"></script> <script type="text/javascript" src="/publish/js/jquery-3.5.0.js"></script>
<script type="text/javascript" src="/publish/js/jquery.mCustomScrollbar.concat.min.js"></script> <script type="text/javascript" src="/publish/js/jquery.mCustomScrollbar.concat.min.js"></script>
<script type="text/javascript" src="/publish/js/common.js?date=202507210001"></script> <script type="text/javascript" src="/publish/js/common.js?date=202507210001"></script>
@ -80,6 +85,9 @@
<!-- Uncaught TypeError: e.widget is not a function로 인해 가장 마지막에 선언_이준호_220510 --> <!-- Uncaught TypeError: e.widget is not a function로 인해 가장 마지막에 선언_이준호_220510 -->
<script type="text/javascript" src="/dist/js/tabulator/jquery_wrapper.js"></script> <script type="text/javascript" src="/dist/js/tabulator/jquery_wrapper.js"></script>
<script type="text/javascript" src="/publish/js/highlight/highlight.min.js"></script>
<%-- 20240110 matomo 사용 안함으로 인하여 주석처리 함 <%-- 20240110 matomo 사용 안함으로 인하여 주석처리 함
<c:if test="${fn:contains(pageContext.request.requestURL, 'munjaon.co.kr')}"> <c:if test="${fn:contains(pageContext.request.requestURL, 'munjaon.co.kr')}">

View File

@ -0,0 +1,178 @@
<%@ 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"%>
<head>
</head>
<script language=javascript>
$(document).ready(function(){
// 현재 url 추출
/* var url = window.location.pathname;
// 현재 url에서 uri만 추출
var lastPart = url.split('/').pop();
$('.tabType4 .tab').each(function(index) {
var $btn = $(this).children("button");
var id = $btn.attr("id");
// 개발가이드 그룹
if (id === 'apiSpec' && /api.*Spec\.do$/.test(lastPart)) {
$(this).addClass('active');
}
// 나머지 기본 처리
else if (lastPart.indexOf(id) > -1) {
$(this).addClass('active');
}
}); */
});
hljs.highlightAll();
</script>
<style>
.padding_add > p
{
padding-left: 30px;
padding-bottom: 8px;
}
.padding_add > div > p
{
padding-left: 60px;
padding-bottom: 8px;
}
</style>
<!-- content 영역 -->
<div class="inner">
<!-- send top -->
<div class="send_top">
<c:import url="./top_tepMenu.jsp" /><!--// tab button -->
<!-- tab button -->
<div class="api_guide_cont current">
<div class="heading">
<h2>REST API 개발 가이드</h2>
</div>
<!--// sub tab button -->
<c:import url="./top_subTepMenu.jsp" />
<!-- REST API 개발 가이드 > 문자 -->
<%-- <div class="api_guide current" id="tab5_1">
<div class="list_tab_wrap2 type3">
<!-- tab button -->
<ul class="list_tab">
<li class="tab active"><button type="button" onclick="TabType1(this,'1')">문자보내기</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'2')" id="btnEstimate">문자보내기(대량)</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'3')" id="btnEstimate3">전송내역조회</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'4')" id="btnEstimate4">전송결과조회(상세)</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'5')" id="btnEstimate5">발송가능건수</button></li>
</ul><!--// tab button -->
</div>
<!-- 문자보내기 -->
<div class="fee_cont current" id="tab1_1">
<c:import url="./msg/apiSpec_tab1.jsp" />
</div>
<!-- 문자보내기(대량) -->
<div class="fee_cont" id="tab1_2">
<c:import url="./msg/apiSpec_tab2.jsp" />
</div>
<!-- 전송내역조회 -->
<div class="fee_cont" id="tab1_3">
<c:import url="./msg/apiSpec_tab3.jsp" />
</div>
<!-- 전송결과조회(상세) -->
<div class="fee_cont" id="tab1_4">
<c:import url="./msg/apiSpec_tab4.jsp" />
</div>
<!-- 발송가능건수 -->
<div class="fee_cont" id="tab1_5">
<c:import url="./msg/apiSpec_tab5.jsp" />
</div>
</div> --%>
<!-- //REST API 개발 가이드 > 문자 -->
<!-- REST API 개발 가이드 > 알림톡 -->
<div class="api_guide current" id="tab5_1">
<div class="list_tab_wrap2 type3">
<!-- tab button -->
<ul class="list_tab">
<li class="tab active"><button type="button" onclick="TabType1(this,'6');">채널 ID 조회</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'7');">템플릿 ID 조회</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'8');">템플릿상세조회</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'9');">알림톡 보내기</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'11');">전송내역조회</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'12');">전송내역조회(상세)</button></li>
<li class="tab"><button type="button" onclick="TabType1(this,'13');">발송가능건수</button></li>
</ul><!--// tab button -->
</div>
<!-- 채널 ID 조회 -->
<div class="fee_cont current" id="tab1_6">
<c:import url="./at/apiSpec_tab1.jsp" />
</div>
<!-- 템플릿 ID 조회 -->
<div class="fee_cont" id="tab1_7">
<c:import url="./at/apiSpec_tab2.jsp" />
</div>
<!-- 템플릿상세조회 -->
<div class="fee_cont" id="tab1_8">
<c:import url="./at/apiSpec_tab3.jsp" />
</div>
<!-- 알림톡 보내기 -->
<div class="fee_cont" id="tab1_9">
<c:import url="./at/apiSpec_tab4.jsp" />
</div>
<!-- 전송내역조회 -->
<div class="fee_cont" id="tab1_11">
<c:import url="./at/apiSpec_tab6.jsp" />
</div>
<!-- 전송내역조회(상세) -->
<div class="fee_cont" id="tab1_12">
<c:import url="./at/apiSpec_tab7.jsp" />
</div>
<!-- 발송가능건수 -->
<div class="fee_cont" id="tab1_13">
<c:import url="./at/apiSpec_tab8.jsp" />
</div>
</div>
<!-- //REST API 개발 가이드 > 알림톡 -->
<!-- REST API 개발 가이드 > 친구톡 -->
<!-- <div class="api_guide kakao" id="tab5_3">
<div class="list_tab_wrap2 type3">
<ul class="list_tab">
<li class="tab active"><button type="button" onclick="TabType2(this,'6');">채널 ID 조회</button></li>
<li class="tab"><button type="button" onclick="TabType2(this,'7');">친구톡 보내기</button></li>
<li class="tab"><button type="button" onclick="TabType2(this,'8');">전송내역조회</button></li>
<li class="tab"><button type="button" onclick="TabType2(this,'9');">전송내역조회(상세)</button></li>
<li class="tab"><button type="button" onclick="TabType2(this,'10');">발송가능건수</button></li>
</ul>
</div>
</div> -->
<!-- //REST API 개발 가이드 > 친구톡 -->
</div>
</div><!--// send top -->
</div>

View File

@ -2,11 +2,21 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<head>
</head>
<script language=javascript> <script language=javascript>
$(document).ready(function(){ $(document).ready(function(){
$('.topBtn').click(function(){
location.href=$(this).data('info');
});
}); });
hljs.highlightAll();
</script> </script>
<style> <style>
@ -25,6 +35,7 @@ $(document).ready(function(){
</style> </style>
<!-- content 영역 --> <!-- content 영역 -->
<div class="inner"> <div class="inner">
<!-- send top --> <!-- send top -->
@ -38,14 +49,8 @@ $(document).ready(function(){
<h2>REST API 개발 가이드</h2> <h2>REST API 개발 가이드</h2>
</div> </div>
<!--사용안내 내용--> <!--// sub tab button -->
<div class="pay_tab_wrap"> <c:import url="./top_subTepMenu.jsp" />
<ul class="tabType1">
<li class="tab active"><button type="button" onclick="TabType5(this,'1');TabType2(this,'1');$('.list_tab li:nth-child(1)').addClass('active').siblings().removeClass('active');">문자</button></li>
<li class="tab"><button type="button" onclick="TabType5(this,'2');TabType2(this,'6');$('.list_tab li:nth-child(1)').addClass('active').siblings().removeClass('active');">알림톡</button></li>
<li class="tab"><button type="button" onclick="TabType5(this,'3');TabType2(this,'13');$('.list_tab li:nth-child(1)').addClass('active').siblings().removeClass('active');">친구톡</button></li>
</ul>
</div>
<!-- REST API 개발 가이드 > 문자 --> <!-- REST API 개발 가이드 > 문자 -->
<div class="api_guide current" id="tab5_1"> <div class="api_guide current" id="tab5_1">
@ -60,15 +65,11 @@ $(document).ready(function(){
</ul><!--// tab button --> </ul><!--// tab button -->
</div> </div>
<!-- 문자보내기 -->
<!-- 문자보내기 -->
<!-- 문자보내기 --> <!-- 문자보내기 -->
<div class="fee_cont current" id="tab1_1"> <div class="fee_cont current" id="tab1_1">
<c:import url="./msg/apiSpec_tab1.jsp" /> <c:import url="./msg/apiSpec_tab1.jsp" />
</div> </div>
<!-- 문자보내기(대량) -->
<!-- 문자보내기(대량) -->
<!-- 문자보내기(대량) --> <!-- 문자보내기(대량) -->
<div class="fee_cont" id="tab1_2"> <div class="fee_cont" id="tab1_2">
<c:import url="./msg/apiSpec_tab2.jsp" /> <c:import url="./msg/apiSpec_tab2.jsp" />

View File

@ -7,210 +7,233 @@
<!-- <li>- 발신번호는 문자온 사이트를 통해 사전등록 후 이용하실 수 있습니다.(마이페이지-발신번호 관리 메뉴 이용)</li> --> <!-- <li>- 발신번호는 문자온 사이트를 통해 사전등록 후 이용하실 수 있습니다.(마이페이지-발신번호 관리 메뉴 이용)</li> -->
<!-- <li>- 문자 내용이 "90byte"를 초과하는 경우 장문(LMS)으로 자동 전환됩니다.</li> --> <!-- <li>- 문자 내용이 "90byte"를 초과하는 경우 장문(LMS)으로 자동 전환됩니다.</li> -->
</ul> </ul>
<div class="re_cont"> <div class="re_cont">
<!--Request--> <!-- Request -->
<div class="req_title">Request</div> <div class="req_title">Request</div>
<div class="box"> <div class="box">
<div class="text"> <div class="text">
<h4>Request</h4> <h4>Request</h4>
<table> <table>
<caption>API Request Http Method, 프로토콜, HOST, Service Port <caption>API Request Http Method, 프로토콜, HOST, Service Port, Endpoint 정보 테이블</caption>
정보 테이블</caption> <colgroup>
<colgroup> <col style="width:20%;">
<col style="width: 20%;"> <col style="width:80%;">
<col style="width: 80%;"> </colgroup>
</colgroup> <tr>
<tr> <th>Http Method</th>
<th>Http Method</th> <td>POST</td>
<td>POST</td> </tr>
</tr> <tr>
<tr> <th>프로토콜</th>
<th>프로토콜</th> <td>HTTPS/1.1</td>
<td>HTTP/1.1</td> </tr>
</tr> <tr>
<tr> <th>HOST</th>
<th>HOST</th> <td>api.munjaon.co.kr</td>
<td>api.munjaon.co.kr</td> </tr>
</tr> <tr>
<tr> <th>Service Port</th>
<th>Service Port</th> <td>443</td>
<td>443</td> </tr>
</tr> <tr>
</table> <th>Endpoint</th>
</div> <td>/api/kakao/inqry/chnlId</td>
</div> </tr>
<div class="type_table"> </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>
<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>
</div> </div>
<p class="l_code">&#65373;</p>
</div> </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>Array&lt;Object&gt;</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[].senderKey</span></td>
<td>발신자 키</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data[].phoneNumber</span></td>
<td>수신자 전화번호</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data[].yellowId</span></td>
<td>카카오톡 채널 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data[].firstRegistPnttm</span></td>
<td>최초 등록 시각 (yyyyMMdd HH:mm:ss)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">data[].firstRegisterId</span></td>
<td>최초 등록자 ID</td>
<td>String</td>
</tr>
</tbody>
</table>
<div class="table_info"> <div class="type_table">
<p>※ JSON 객체로 응답합니다.</p> <table>
</div> <caption>채널ID 조회 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
</div> <colgroup>
<div class="box"> <col style="width:20%;">
<div class="title_t1"> <col style="width:45%;">
<span class="ex">[Example]</span><span class="ex_success">O 성공 <col style="width:25%">
예시</span> <col style="width:10%">
</div> </colgroup>
<div class="code_view"> <thead>
<p>&#65371;</p> <tr>
<div class="indent"> <th>키</th>
<p> <th>설명</th>
<span>"resultCode"</span>:"0" <th>타입</th>
</p> <th>필수</th>
<p> </tr>
,<span>"data"</span>&#65371; </thead>
</p> <tbody>
<div class="indent_t1"> <tr>
<p> <td><span class="font_b">mberId</span></td>
,<span>"senderKey"</span>:"6691434xxxxxxxxxxxxxxxxxxxxxxxxx" <td>사용자 ID</td>
</p> <td>String</td>
<p> <td><span class="select_o">O</span></td>
,<span>"phoneNumber"</span>:"010xxxxxxxx" </tr>
</p> <tr>
<p> <td><span class="font_b">accessKey</span></td>
,<span>"yellowId"</span>:"@ID" <td>인증용 API Key</td>
</p> <td>String</td>
<p> <td><span class="select_o">O</span></td>
,<span>"firstRegistPnttm"</span>:"2025-10-05 18:08:58" </tr>
</p> <tr>
<p> <td><span class="font_b">test_yn</span></td>
,<span>"firstRegisterId"</span>:"userId" <td>테스트 데이터 여부 (YS: 성공 테스트, YF: 실패 테스트)</td>
</p> <td>String</td>
</div> <td><span class="select_x">X</span></td>
<p>&#65373;</p> </tr>
</tbody>
</table>
<div class="table_info">
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
<p>※ Content-Type: application/json</p>
</div> </div>
<p class="l_code">&#65373;</p>
</div> </div>
</div>
<div class="box"> <div class="box">
<div class="title_t1"> <div class="title">[Example]</div>
<span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span> <div class="code_view">
</div> <pre>
<div class="code_view"> <code class="language-json">
<p>&#65371;</p> {
<div class="indent">
<p> "mberId": "문자온",
<span>"resultCode"</span>:"401"
</p> "accessKey": "XXXXXXXXXXXXXXXXXXXXbaa01d8d91",
<p>
,<span>"message"</span>:"Unauthorized" "test_yn": ""
</p> }
</code>
</pre>
</div> </div>
<p class="l_code">&#65373;</p>
</div> </div>
<!-- // Request -->
<!-- Response -->
<div class="res_title">Response</div>
<div class="type_table">
<table>
<caption>채널ID 조회 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>Array | String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].senderKey</span></td>
<td>발신 프로필 SenderKey</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].phoneNumber</span></td>
<td>대표 전화번호</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].yellowId</span></td>
<td>카카오 채널(옐로아이디)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].frstRegistPnttm</span></td>
<td>최초 등록 일시(YYYY-MM-DD HH:mm:ss)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].frstRegisterId</span></td>
<td>최초 등록자 ID</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">localDateTime</span></td>
<td>서버 처리 일시(ISO-8601)</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">
<pre>
<code class="language-json">
{
"resultCode": "0",
"data": [
{
"senderKey": "test_sender_key_001",
"phoneNumber": "02-1234-0000",
"yellowId": "@test_channel_001",
"frstRegistPnttm": "2025-09-09 12:44:21",
"frstRegisterId": "test_id_one"
},
{
"senderKey": "test_sender_key_002",
"phoneNumber": "02-1234-0001",
"yellowId": "@test_channel_002",
"frstRegistPnttm": "2025-09-09 12:44:21",
"frstRegisterId": "test_id_tow"
}
],
"localDateTime": "2025-09-09T12:44:21.624464"
}
</code>
</pre>
</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">
<pre><code class="language-json">
{
"resultCode": "4010",
"data": "인증 정보가 올바르지 않습니다.(mberId/accessKey)"
}
</code></pre>
</div>
</div>
<!-- // Response -->
</div> </div>
<!--// Response--> <!--// Response-->
</div>

View File

@ -1,232 +1,272 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<ul class="info">
<li>- API를 통해서 템플릿 목록을 조회할 수 111있습니다.</li>
<li>- API를 통해서 템플릿 목록을 조회할 수 111있습니다.</li>
<li>- API를 통해서 템플릿 목록을 조회할 수 111있습니다.</li>
<li>- API를 통해서 템플릿 목록을 조회할 수 111있습니다.</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, Endpoint 정보 테이블</caption>
<colgroup>
<col style="width:20%;">
<col style="width:80%;">
</colgroup>
<tr>
<th>Http Method</th>
<td>POST</td>
</tr>
<tr>
<th>프로토콜</th>
<td>HTTPS/1.1</td>
</tr>
<tr>
<th>HOST</th>
<td>api.munjaon.co.kr</td>
</tr>
<tr>
<th>Service Port</th>
<td>443</td>
</tr>
<tr>
<th>Endpoint</th>
<td>/api/kakao/inqry/templates/list</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">senderKey</span></td>
<td>발신 프로필 SenderKey</td>
<td>String</td>
<td><span class="select_o">O</span></td>
</tr>
<tr>
<td><span class="font_b">test_yn</span></td>
<td>테스트 데이터 여부 (YS: 성공 테스트, YF: 실패 테스트)</td>
<td>String</td>
<td><span class="select_x">X</span></td>
</tr>
</tbody>
</table>
<div class="table_info">
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
<p>※ Content-Type: application/json</p>
</div>
</div>
<div class="box">
<div class="title">[Example]</div>
<div class="code_view">
<pre>
<code class="language-json">
{
"mberId": "dudgusw",
"accessKey": "3429312e6a2c732188d4cc7d15d8a1baa01d8d91",
"senderKey": "669143473b1af459628b8bdf2f48da090c8895de",
"test_yn": ""
}
</code>
</pre>
</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>Array | String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].senderKey</span></td>
<td>발신 프로필 SenderKey</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].templateCode</span></td>
<td>템플릿 코드</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].templateName</span></td>
<td>템플릿 명</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].createdAt</span></td>
<td>템플릿 생성 일시</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].modifiedAt</span></td>
<td>템플릿 수정 일시</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data][i].serviceStatus</span></td>
<td>서비스 상태(등록완료, 승인대기 등)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">localDateTime</span></td>
<td>서버 처리 일시(ISO-8601)</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">
<pre>
<code class="language-json">
{
"resultCode": "0",
"data": [
{
"senderKey": "test_sender_key_001",
<ul class="info"> "templateCode": "TEST_TEMPLATE_001",
<li>- API를 통해서 다른 내용의 문자를 대량으로 전송할 수 있습니다.</li>
<li>- 발신번호는 문자온 사이트를 통해 사전등록 후 이용하실 수 있습니다.(마이페이지-발신번호 관리 메뉴 이용)</li> "templateName": "테스트 템플릿 001",
<li>- 문자 내용이 "90byte"를 초과하는 경우 장문(LMS)으로 자동 전환됩니다.</li>
</ul> "createdAt": "2025-01-01 10:00:00",
"modifiedAt": "2025-01-01 10:00:00",
"serviceStatus": "REG(등록완료)"
},
{
"senderKey": "test_sender_key_001",
"templateCode": "TEST_TEMPLATE_002",
"templateName": "테스트 템플릿 002",
"createdAt": "2025-01-01 11:00:00",
"modifiedAt": "2025-01-01 11:00:00",
"serviceStatus": "REG(등록완료)"
},
{
"senderKey": "test_sender_key_002",
"templateCode": "TEST_TEMPLATE_003",
"templateName": "테스트 템플릿 003",
"createdAt": "2025-01-01 12:00:00",
"modifiedAt": "2025-01-01 12:00:00",
"serviceStatus": "PENDING(승인대기)"
}
],
"localDateTime": "2025-09-09T14:18:38.445175"
}
</code>
</pre>
</div>
</div>
<div class="re_cont"> <div class="box">
<!--Request--> <div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<div class="req_title">Request</div> <div class="code_view">
<div class="box"> <pre><code class="language-json">
<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>HTTP/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">senderKey</span></td>
<td>발신 프로필 Key</td>
<td>String</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>:"414050694b953XXXXXXXXXXXXXX"</p>
<p>,<span>"senderKey"</span>:"669143473b1af459628b8bdXXXXXXXXXXXXXX"</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>Array</td>
</tr>
<tr>
<td><span class="font_b">[data].senderKey</span></td>
<td>발신 프로필 키</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].templateCode</span></td>
<td>템플릿 코드</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].templateName</span></td>
<td>템플릿 이름</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].createdAt</span></td>
<td>생성일시</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].modifiedAt</span></td>
<td>수정일시</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].serviceStatus</span></td>
<td>템플릿 상태 <br>(REG: 등록, REQ: 검수요청, REJ: 반려,
STP: 차단, RDY: 발송전, ACT: 정상, DMT: 휴면, BLK:
차단)</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"> "resultCode": "4010",
<p>&#65371;</p>
<div class="indent"> "data": "인증 정보가 올바르지 않습니다.(mberId/accessKey)"
<p>
<span>"resultCode"</span>:"0" }
</p> </code></pre>
<p> </div>
,<span>"data"</span>&#65371; </div>
</p> <!-- // Response -->
<div class="indent_t1"> </div>
<p> <!--// Response-->
,<span>"senderKey"</span>:"669143473b1af459628xxxxxxxxxxxxxxxxxxxxx"
</p>
<p>
,<span>"templateCode"</span>:"bizp_20250527112232xxxxxxxxxxxxx"
</p>
<p>
,<span>"templateName"</span>:"템플릿 명"
</p>
<p>
,<span>"createdAt"</span>:"2025-05-27 11:22:33"
</p>
<p>
,<span>"modifiedAt"</span>:"2025-05-27 11:22:33"
</p>
<p>
,<span>"serviceStatus"</span>:"REG(등록완료)"
</p>
</div>
<p>&#65373;</p>
<p>,&#65371;</p>
<div class="indent_t1">
<p>
,<span>"senderKey"</span>:"669143473b1af459628xxxxxxxxxxxxxxxxxxxxx"
</p>
<p>
,<span>"templateCode"</span>:"bizp_20250527112232xxxxxxxxxxxxx"
</p>
<p>
,<span>"templateName"</span>:"템플릿 명2"
</p>
<p>
,<span>"createdAt"</span>:"2025-05-27 11:22:33"
</p>
<p>
,<span>"modifiedAt"</span>:"2025-05-27 11:22:33"
</p>
<p>
,<span>"serviceStatus"</span>:"RDY(대기)"
</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>:"4099"</p>
<p>,<span>"msg"</span>:"기타 시스템 오류"</p>
</div>
<p class="l_code">&#65373;</p>
</div>
</div>
<!--// Response-->
</div>

View File

@ -1,353 +1,307 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ 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--> <ul class="info">
<div class="req_title">Request</div> <li>- API를 통해서 알림톡을 발송할 수 있습니다.</li>
<div class="box"> <li>- 사전에 등록된 SenderKey 및 승인된 템플릿을 사용해야 합니다.</li>
<div class="text"> <li>- 대체문자(subMsgTxt) 발송 여부는 subMsgSendYn으로 제어합니다.</li>
<h4>Request</h4> </ul>
<table> <div class="re_cont">
<caption>API Request Http Method, 프로토콜, HOST, Service Port 정보 테이블</caption> <!-- Request -->
<colgroup> <div class="req_title">Request</div>
<col style="width:20%;"> <div class="box">
<col style="width:80%;"> <div class="text">
</colgroup> <h4>Request</h4>
<tr> <table>
<th>Http Method</th> <caption>API Request Http Method, 프로토콜, HOST, Service Port, Endpoint 정보 테이블</caption>
<td>POST</td> <colgroup>
</tr> <col style="width:20%;">
<tr> <col style="width:80%;">
<th>프로토콜</th> </colgroup>
<td>HTTP/1.1</td> <tr>
</tr> <th>Http Method</th>
<tr> <td>POST</td>
<th>HOST</th> </tr>
<td>api.munjaon.co.kr</td> <tr>
</tr> <th>프로토콜</th>
<tr> <td>HTTPS/1.1</td>
<th>Service Port</th> </tr>
<td>443</td> <tr>
</tr> <th>HOST</th>
</table> <td>api.munjaon.co.kr</td>
</div> </tr>
</div> <tr>
<div class="type_table"> <th>Service Port</th>
<table> <td>443</td>
<caption>상세결과 조회 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption> </tr>
<colgroup> <tr>
<col style="width:20%;"> <th>Endpoint</th>
<col style="width:45%;"> <td>/api/kakao/at/sendMsg</td>
<col style="width:25%"> </tr>
<col style="width:10%"> </table>
</colgroup> </div>
<thead> </div>
<tr>
<th>키</th> <div class="type_table">
<th>설명</th> <table>
<th>타입</th> <caption>알림톡 발송 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<th>필수</th> <colgroup>
</tr> <col style="width:20%;">
</thead> <col style="width:45%;">
<tbody> <col style="width:25%">
<tr> <col style="width:10%">
<td><span class="font_b">mberId</span></td> </colgroup>
<td>사용자 ID</td> <thead>
<td>String</td> <tr>
<td><span class="select_o">O</span></td> <th>키</th>
</tr> <th>설명</th>
<tr> <th>타입</th>
<td><span class="font_b">accessKey</span></td> <th>필수</th>
<td>인증용 API Key</td> </tr>
<td>String</td> </thead>
<td><span class="select_o">O</span></td> <tbody>
</tr> <tr>
<tr> <td><span class="font_b">mberId</span></td>
<td><span class="font_b">msgGroupId</span></td> <td>사용자 ID</td>
<td>메시지 그룹 ID</td> <td>String</td>
<td>String</td> <td><span class="select_o">O</span></td>
<td><span class="select_o">O</span></td> </tr>
</tr> <tr>
<tr> <td><span class="font_b">accessKey</span></td>
<td><span class="font_b">page</span></td> <td>인증용 API Key</td>
<td>페이지 번호</td> <td>String</td>
<td>String</td> <td><span class="select_o">O</span></td>
<td><span class="select_x">X</span></td> </tr>
</tr> <tr>
<tr> <td><span class="font_b">senderKey</span></td>
<td><span class="font_b">pageSize</span></td> <td>발신 프로필 SenderKey</td>
<td>페이지당 출력 개수</td> <td>String</td>
<td>String</td> <td><span class="select_o">O</span></td>
<td><span class="select_x">X</span></td> </tr>
</tr> <tr>
<tr> <td><span class="font_b">templateCode</span></td>
<td><span class="font_b">test_yn</span></td> <td>알림톡 템플릿 코드</td>
<td>테스트 데이터 여부</td> <td>String</td>
<td>String</td> <td><span class="select_o">O</span></td>
<td><span class="select_x">X</span></td> </tr>
</tr> <tr>
</tbody> <td><span class="font_b">subMsgSendYn</span></td>
</table> <td>대체문자 발송 여부 (Y: 발송, N: 미발송)</td>
<div class="table_info"> <td>String</td>
<p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p> <td><span class="select_x">X</span></td>
</div> </tr>
</div> <tr>
<div class="box"> <td><span class="font_b">callFrom</span></td>
<div class="title">[Example]</div> <td>발신자 번호</td>
<div class="code_view"> <td>String</td>
<p>&#65371;</p> <td><span class="select_o">O</span></td>
<div class="indent"> </tr>
<p><span>"mberId"</span>:"홍길동"</p> <tr>
<p>,<span>"accessKey"</span>:"XXXXXXXXXXXXXX414050694b953"</p> <td><span class="font_b">callTo_[i]</span></td>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000011452"</p> <td>수신자 번호(다건 가능)</td>
<p>,<span>"page"</span>:""</p> <td>String</td>
<p>,<span>"pageSize"</span>:""</p> <td><span class="select_o">O</span></td>
<p>,<span>"test_yn"</span>:""</p> </tr>
</div> <tr>
<p class="l_code">&#65373;</p> <td><span class="font_b">templateTitle_[i]</span></td>
</div> <td>치환용 템플릿 타이틀</td>
</div> <td>String</td>
<!--// Request--> <td><span class="select_x">X</span></td>
<!-- Response--> </tr>
<div class="res_title">Response</div> <tr>
<div class="type_table"> <td><span class="font_b">templateContent_[i]</span></td>
<table> <td>치환용 템플릿 내용</td>
<caption>상세결과 조회 API Response 키 종류 및 설명, 타입 테이블</caption> <td>String</td>
<colgroup> <td><span class="select_o">O</span></td>
<col style="width:20%;"> </tr>
<col style="width:60%;"> <tr>
<col style="width:20%;"> <td><span class="font_b">subMsgTxt_[i]</span></td>
</colgroup> <td>대체문자 내용</td>
<thead> <td>String</td>
<tr> <td><span class="select_x">X</span></td>
<th>키</th> </tr>
<th>설명</th> <tr>
<th>타입</th> <td><span class="font_b">test_yn</span></td>
</tr> <td>테스트 데이터 여부 (YS: 성공 테스트, YF: 실패 테스트)</td>
</thead> <td>String</td>
<tbody> <td><span class="select_x">X</span></td>
<tr> </tr>
<td><span class="font_b">resultCode</span></td> </tbody>
<td>성공 여부("0" 아니면 실패)</td> </table>
<td>String</td> <div class="table_info">
</tr> <p>※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.</p>
<tr> <p>※ Content-Type: application/json</p>
<td><span class="font_b">data</span></td> </div>
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td> </div>
<td>Object</td>
</tr> <div class="box">
<tr> <div class="title">[Example]</div>
<td><span class="font_b">[data].message</span></td> <div class="code_view">
<td>문자</td> <pre>
<td>String</td> <code class="language-json">
</tr> {
<tr>
<td><span class="font_b">[data].next_yn</span></td> "mberId": "dudgusw",
<td>다음 페이지 여부</td>
<td>String</td> "accessKey": "3429312e6a2c732188d4cc7d15d8a1baa01d8d91",
</tr>
<tr> "senderKey": "669143473b1af459628b8bdf2f48da090c8895de",
<td><span class="font_b">[data].objectList</span></td>
<td>결과값 목록</td> "templateCode": "bizp_2025031410525347794704159",
<td>Object List</td>
</tr> "subMsgSendYn": "Y",
<tr>
<td><span class="font_b">[data].msgGroupId</span></td> "callFrom": "010-9341-4986",
<td>메시지 그룹 ID</td>
<td>String</td> "callTo_1": "01083584250",
</tr>
<tr> "callTo_2": "01011111111",
<td><span class="font_b">[data].msgId</span></td>
<td>메시지 ID</td> "templateTitle_1": "테스트 이호영2222",
<td>String</td>
</tr> "templateTitle_2": "테스트 이호영2111",
<tr>
<td><span class="font_b">[data].msgTypeName</span></td> "templateContent_1": "테스트 이호영\\n타이틀 버튼 치환 테스트입니다.",
<td>문자 구분명(단문, 장문, 그림)</td>
<td>String</td> "templateContent_2": "테스트 이호영2\\n타이틀 버튼 치환 테스트입니다.",
</tr>
<tr> "subMsgTxt_1": "대체문자 발송",
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 6 : 장문)</td> "subMsgTxt_2": "대체문자 발송2",
<td>String</td>
</tr> "test_yn": "YS"
<tr> }
<td><span class="font_b">[data].callFrom</span></td> </code>
<td>발신자 번호</td> </pre>
<td>String</td> </div>
</tr> </div>
<tr> <!-- // Request -->
<td><span class="font_b">[data].callTo</span></td>
<td>수신자 번호</td> <!-- Response -->
<td>String</td> <div class="res_title">Response</div>
</tr> <div class="type_table">
<tr> <table>
<td><span class="font_b">[data].msgGroupCnt</span></td> <caption>알림톡 발송 API Response 키 종류 및 설명, 타입 테이블</caption>
<td>문자 발송 건수</td> <colgroup>
<td>String</td> <col style="width:20%;">
</tr> <col style="width:60%;">
<tr> <col style="width:20%;">
<td><span class="font_b">[data].sCnt</span></td> </colgroup>
<td>성공 건수</td> <thead>
<td>String</td> <tr>
</tr> <th>키</th>
<tr> <th>설명</th>
<td><span class="font_b">[data].fCnt</span></td> <th>타입</th>
<td>실패 건수</td> </tr>
<td>String</td> </thead>
</tr> <tbody>
<tr> <tr>
<td><span class="font_b">[data].wCnt</span></td> <td><span class="font_b">resultCode</span></td>
<td>대기 건수</td> <td>성공 여부("0" 이외는 실패)</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].msgResult</span></td> <td><span class="font_b">data</span></td>
<td>발송 결과(성공 : S, 실패 : F)</td> <td>발송 결과 객체</td>
<td>String</td> <td>Object</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].smsTxt</span></td> <td><span class="font_b">[data].resultCode</span></td>
<td>문자 내용</td> <td>성공 여부("0" 이외는 실패)</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].subject</span></td> <td><span class="font_b">[data].msgGroupId</span></td>
<td>제목</td> <td>메시지 그룹 ID</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].reqdate</span></td> <td><span class="font_b">[data].successCnt</span></td>
<td>발송 일자</td> <td>성공 건수</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].curState</span></td> <td><span class="font_b">[data].blockCnt</span></td>
<td>전송 처리 결과값</td> <td>수신거부 건수</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].userId</span></td> <td><span class="font_b">[data].failCnt</span></td>
<td>사용자 ID</td> <td>전송 실패 건수</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].regdate</span></td> <td><span class="font_b">[data].msgType</span></td>
<td>등록 일자</td> <td>메시지 타입(AT: 알림톡)</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].reserveCYn</span></td> <td><span class="font_b">[data].test_yn</span></td>
<td>예약 취소 여부</td> <td>테스트 여부</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].ttlCnt</span></td> <td><span class="font_b">localDateTime</span></td>
<td>전체 요청 수</td> <td>서버 처리 일시(ISO-8601)</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> </tbody>
<td><span class="font_b">[data].remainMsgCnt</span></td> </table>
<td>남은 문자 건수</td> <div class="table_info">
<td>String</td> <p>※ JSON 객체로 응답합니다.</p>
</tr> </div>
<tr> </div>
<td><span class="font_b">[data].totMsgCnt</span></td>
<td>전체 문자 개수</td> <div class="box">
<td>String</td> <div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div>
</tr> <div class="code_view">
</tbody> <pre>
</table> <code class="language-json">
<div class="table_info"> {
<p>※ JSON 객체로 응답합니다.</p> "resultCode": "0",
</div>
</div> "data": {
<div class="box">
<div class="title_t1"><span class="ex">[Example]</span><span class="ex_success">O 성공 예시</span></div> "resultCode": "0",
<div class="code_view">
<p>&#65371;</p> "msgGroupId": "MSGGID_AT_1757467849001",
<div class="indent">
<p><span>"resultCode"</span>:"0"</p> "successCnt": "2",
<p>,<span>"data"</span>:&#65339;</p>
<p>&#65371;</p> "blockCnt": "0",
<div class="indent_t1">
<p><span>"resultCode"</span>:"0"</p> "failCnt": "0",
<p>,<span>"message"</span>: null</p>
<p>,<span>"next_yn"</span>:"n"</p> "msgType": "AT",
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000000000"</p>
<p>,<span>"objectList"</span>:&#65339;</p> "test_yn": "YS"
<p>&#65371;</p>
<div class="indent_t2"> },
<p><span>"msgTypeName"</span>:"단문(SMS)"</p>
<p>,<span>"msgType"</span>:"4"</p> "localDateTime": "2025-09-10T10:30:49.001636"
<p>,<span>"callFrom"</span>:"01011112222"</p>
<p>,<span>"callTo"</span>:"01011112223"</p> }
<p>,<span>"msgGroupCnt"</span>:"2"</p> </code>
<p>,<span>"msgGroupId"</span>:"MSGGID_0000000013340"</p> </pre>
<p>,<span>"msgId"</span>:"MSGID_0000000000001"</p> </div>
<p>,<span>"scnt"</span>:null</p> </div>
<p>,<span>"fcnt"</span>:null</p>
<p>,<span>"wcnt"</span>:null</p> <div class="box">
<p>,<span>"msgResult"</span>:"S"</p> <div class="title_t1"><span class="ex">[Example]</span><span class="ex_fail">X 실패 예시</span></div>
<p>,<span>"smsTxt"</span>:"문자 내용 단문 예제"</p> <div class="code_view">
<p>,<span>"subject"</span>:null</p> <pre><code class="language-json">
<p>,<span>"reqdate"</span>:"2023-06-13 17:48:08"</p> {
<p>,<span>"curState"</span>:"3"</p>
<p>,<span>"userId"</span>:"testuser"</p> "resultCode": "2080",
<p>,<span>"regdate"</span>:"2023-06-13 17:48:07"</p>
<p>,<span>"reserveCYn"</span>:"N"</p> "data": "친구톡은 20시 50분부터 익일 08시까지 발송이 제한됩니다."
<p>,<span>"ttlCnt"</span>:"10"</p>
<p>,<span>"remainMsgCnt"</span>:"0"</p> }
<p>,<span>"totMsgCnt"</span>:"10"</p> </code></pre>
</div> </div>
<p>&#65373;</p> </div>
<p>,&#65371;</p> <!-- // Response -->
<div class="indent_t2"> </div>
<p><span>"msgTypeName"</span>:"단문(SMS)"</p> <!--// Response-->
<p>,<span>"msgType"</span>:"4"</p> </div>
<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

@ -1,7 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info"> <ul class="info">
<li>- 보유캐시로 발송 가능한 문자의 건수를 단문(SMS), 장문(LMS), 그림(MMS)별로 각각 확인할 수 있습니다.</li> <li>- 보11유캐시로 발송 가능한 문자의 건수를 단문(SMS), 장문(LMS), 그림(MMS)별로 각각 확인할 수 있습니다.</li>
<li>- 위 문자유형별 발송 가능건수는 개인별로 적용된 단가를 기준으로 산출되며, "첫결제 이벤트"는 적용되지 않습니다.</li> <li>- 위 문자유형별 발송 가능건수는 개인별로 적용된 단가를 기준으로 산출되며, "첫결제 이벤트"는 적용되지 않습니다.</li>
</ul> </ul>

View File

@ -1,8 +1,9 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info"> <ul class="info">
<li>- 보유캐시로 발송 가능한 문자의 건수를 단문(SMS), 장문(LMS), 그림(MMS)별로 각각 확인할 수 있습니다.</li> <li>- 문자온 사이트 및 API를 통해 전송된 발송내역을 조회할 수 있습니다.</li>
<li>- 위 문자유형별 발송 가능건수는 개인별로 적용된 단가를 기준으로 산출되며, "첫결제 이벤트"는 적용되지 않습니다.</li> <li>- 문자 발송내역은 날짜별로 조회되며, 최근 3개월까지만 조회 가능합니다.</li>
<li>- 발신번호별 문자 발송내역 조회 기능은 제공되지 않습니다.</li>
</ul> </ul>
<div class="re_cont"> <div class="re_cont">
@ -33,12 +34,16 @@
<th>Service Port</th> <th>Service Port</th>
<td>443</td> <td>443</td>
</tr> </tr>
<tr>
<th>Endpoint</th>
<td>/api/inqry/hstry</td>
</tr>
</table> </table>
</div> </div>
</div> </div>
<div class="type_table"> <div class="type_table">
<table> <table>
<caption>발송가능 건수 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption> <caption>전송결과 조회 API Request 키 종류 및 설명, 타입, 필수 여부 테이블</caption>
<colgroup> <colgroup>
<col style="width:20%;"> <col style="width:20%;">
<col style="width:45%;"> <col style="width:45%;">
@ -65,7 +70,37 @@
<td>인증용 API Key</td> <td>인증용 API Key</td>
<td>String</td> <td>String</td>
<td><span class="select_o">O</span></td> <td><span class="select_o">O</span></td>
</tr> </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> </tbody>
</table> </table>
<div class="table_info"> <div class="table_info">
@ -77,8 +112,13 @@
<div class="code_view"> <div class="code_view">
<p>&#65371;</p> <p>&#65371;</p>
<div class="indent"> <div class="indent">
<p><span>"mberId"</span>:"String"</p> <p><span>"mberId"</span>:"홍길동"</p>
<p>,<span>"accessKey"</span>:"String"</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> </div>
<p class="l_code">&#65373;</p> <p class="l_code">&#65373;</p>
</div> </div>
@ -86,9 +126,9 @@
<!--// Request--> <!--// Request-->
<!-- Response--> <!-- Response-->
<div class="res_title">Response</div> <div class="res_title">Response</div>
<div class="type_table"> <div class="type_table">
<table> <table>
<caption>발송가능 건수 API Response 키 종류 및 설명, 타입 테이블</caption> <caption>전송결과 조회 API Response 키 종류 및 설명, 타입 테이블</caption>
<colgroup> <colgroup>
<col style="width:20%;"> <col style="width:20%;">
<col style="width:60%;"> <col style="width:60%;">
@ -112,44 +152,124 @@
<td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td> <td>결과값 객체(성공 : 데이터, 실패 : 메시지)</td>
<td>Object</td> <td>Object</td>
</tr> </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> <tr>
<td><span class="font_b">[data].message</span></td> <td><span class="font_b">[data].message</span></td>
<td>문자</td> <td>문자</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].picturePrice</span></td> <td><span class="font_b">[data].next_yn</span></td>
<td>그림문자 단가</td> <td>다음 페이지 여부</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].pictureSendPsbltEa</span></td> <td><span class="font_b">[data].objectList</span></td>
<td>그림문자 발송 가능 건수</td> <td>결과값 목록</td>
<td>Object List</td>
</tr>
<tr>
<td><span class="font_b">[data].msgGroupId</span></td>
<td>메시지 그룹 ID</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].shortPrice</span></td> <td><span class="font_b">[data].msgId</span></td>
<td>단문 단가</td> <td>메시지 ID</td>
<td>String</td> <td>String</td>
</tr> </tr>
<tr> <tr>
<td><span class="font_b">[data].shortSendPsbltEa</span></td> <td><span class="font_b">[data].msgTypeName</span></td>
<td>단문 발송 가능 건수</td> <td>문자 구분명(단문, 장문, 그림)</td>
<td>String</td>
</tr>
<tr>
<td><span class="font_b">[data].msgType</span></td>
<td>메시지 타입(4 : 단문, 6 : 장문)</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> <td>String</td>
</tr> </tr>
</tbody> </tbody>
@ -164,18 +284,68 @@
<p>&#65371;</p> <p>&#65371;</p>
<div class="indent"> <div class="indent">
<p><span>"resultCode"</span>:"0"</p> <p><span>"resultCode"</span>:"0"</p>
<p>,<span>"data"</span>&#65371;</p> <p>,<span>"data"</span>:&#65339;</p>
<p>&#65371;</p>
<div class="indent_t1"> <div class="indent_t1">
<p><span>"longPrice"</span>:"50"</p> <p><span>"resultCode"</span>:"0"</p>
<p>,<span>"longSendPsbltEa"</span>:"19651"</p> <p>,<span>"message"</span>: null</p>
<p>,<span>"mberMoney"</span>:"982586.7"</p> <p>,<span>"next_yn"</span>:"n"</p>
<p>,<span>"message"</span>:null</p> <p>,<span>"msgGroupId"</span>:"MSGGID_0000000000000"</p>
<p>,<span>"picturePrice"</span>:"90"</p> <p>,<span>"objectList"</span>:&#65339;</p>
<p>,<span>"pictureSendPsbltEa"</span>:"10917"</p> <p>&#65371;</p>
<p>,<span>"shortPrice"</span>:"18"</p> <div class="indent_t2">
<p>,<span>"shortSendPsbltEa"</span>:"54588"</p> <p><span>"msgTypeName"</span>:"단문(SMS)"</p>
</div> <p>,<span>"msgType"</span>:"4"</p>
<p>&#65373;</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> </div>
<p class="l_code">&#65373;</p> <p class="l_code">&#65373;</p>
</div> </div>
@ -185,11 +355,11 @@
<div class="code_view"> <div class="code_view">
<p>&#65371;</p> <p>&#65371;</p>
<div class="indent"> <div class="indent">
<p><span>"resultCode"</span>:"5099"</p> <p><span>"resultCode"</span>:"3099"</p>
<p>,<span>"data"</span>:"기타 시스템 오류"</p> <p>,<span>"data"</span>:"기타 시스템 오류"</p>
</div> </div>
<p class="l_code">&#65373;</p> <p class="l_code">&#65373;</p>
</div> </div>
</div> </div>
<!--// Response--> <!--// Response-->
</div> </div>

View File

@ -1,7 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<ul class="info"> <ul class="info">
<li>- 문자온 사이트 및 API를 통해 전송된 문자 발송내역을 조회할 수 있습니다.</li> <li>- 문자온 사이트 및 API를 통해 전송된 발송내역을 조회할 수 있습니다.</li>
<li>- 문자 발송내역은 날짜별로 조회되며, 최근 3개월까지만 조회 가능합니다.</li> <li>- 문자 발송내역은 날짜별로 조회되며, 최근 3개월까지만 조회 가능합니다.</li>
<li>- 발신번호별 문자 발송내역 조회 기능은 제공되지 않습니다.</li> <li>- 발신번호별 문자 발송내역 조회 기능은 제공되지 않습니다.</li>
</ul> </ul>

View File

@ -0,0 +1,83 @@
<%@ 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;
// 현재 url에서 uri만 추출
var lastPart = url.split('/').pop();
console.log('lastPart : ', lastPart);
/*
* top 메뉴중 onclick에 있는 uri을 가져와
* 현재 호출된 페이지와 uri와 비교해서 맞다면
* active로 활성화 시킴
*/
$('.tabType1 .tab').each(function(index) {
var $btn = $(this).children("button");
var info = $btn.attr("data-info");
console.log('info : ', info);
console.log('lastPart : ', lastPart);
if (info.indexOf(lastPart) > -1) {
$(this).addClass('active');
}
});
// 페이지 이동 이벤트
$('.goSubPage').click(function(){
location.href=$(this).data('info');
});
});
// 기업회원 체크
function usrDeptChk(){
var usrDept = '${LoginVO.dept}';
return true;
/* 2023.09.25 JSPark 개인, 기업 모두 허용
// 기업회원 전용체크
if(usrDept != 'c'){
//기업회원 전용 메세지 팝업 띄워주기
$('#btnDeptPop').click();
return false;
}else{
return true;
}
*/
}
// 튤팁에서 취소 클릭 시 이벤트
function customPopup(){
// 현재 url 추출
var url = window.location.pathname;
// 현재 url에서 uri만 추출
var lastPart = url.split('/').pop();
// URL을 치고 들어왔을 경우 '문자 API소개' 페이지로 이동
if('appMgmt.do'.indexOf(lastPart) > -1){
location.href='<c:url value="/web/api/intrdView.do" />';
}
}
</script>
<!--사용안내 내용-->
<div class="pay_tab_wrap">
<ul class="tabType1">
<li class="tab"><button type="button" class="goSubPage" data-info="<c:url value="/web/api/apiSpec.do" />">문자</button></li>
<li class="tab"><button type="button" class="goSubPage" data-info="<c:url value="/web/api/apiAtSpec.do" />">알림톡</button></li>
<li class="tab"><button type="button" class="goSubPage" data-info="<c:url value="/web/api/apiFtSpec.do" />">친구톡</button></li>
</ul>
</div>

View File

@ -17,12 +17,17 @@ $(document).ready(function(){
* active로 활성화 시킴 * active로 활성화 시킴
*/ */
$('.tabType4 .tab').each(function(index) { $('.tabType4 .tab').each(function(index) {
var idAttr = $(this).children("button").attr("id"); var $btn = $(this).children("button");
idAttr += '.do'; var id = $btn.attr("id");
if(idAttr.indexOf(lastPart) > -1){ // 개발가이드 그룹
$(this).addClass('active'); if (id === 'apiSpec' && /api.*Spec\.do$/.test(lastPart)) {
} $(this).addClass('active');
}
// 나머지 기본 처리
else if (lastPart.indexOf(id) > -1) {
$(this).addClass('active');
}
}); });
// 페이지 이동 이벤트 // 페이지 이동 이벤트
@ -99,7 +104,6 @@ function customPopup(){
<ul class="tabType4"> <ul class="tabType4">
<li class="tab"><button type="button" class="goPage" id="intrdView" data-info="<c:url value="/web/api/intrdView.do" />">연동 안내</button></li> <li class="tab"><button type="button" class="goPage" id="intrdView" data-info="<c:url value="/web/api/intrdView.do" />">연동 안내</button></li>
<li class="tab"><button type="button" class="goPage" id="apiSpec" data-info="<c:url value="/web/api/apiSpec.do" />">개발 가이드</button></li> <li class="tab"><button type="button" class="goPage" id="apiSpec" data-info="<c:url value="/web/api/apiSpec.do" />">개발 가이드</button></li>
<%-- <li class="tab"><button type="button" class="goPage" id="apiAtSpec" data-info="<c:url value="/web/api/apiAtSpec.do" />">알림톡 사용안내</button></li> --%>
<li class="tab"><button type="button" class="goPage" id="examDown" data-info="<c:url value="/web/api/examDown.do" />">예제 다운로드</button></li> <li class="tab"><button type="button" class="goPage" id="examDown" data-info="<c:url value="/web/api/examDown.do" />">예제 다운로드</button></li>
<li class="tab"><button type="button" class="goPage" id="appMgmt" data-info="<c:url value="/web/api/appMgmt.do" />" >신청/관리</button></li> <li class="tab"><button type="button" class="goPage" id="appMgmt" data-info="<c:url value="/web/api/appMgmt.do" />" >신청/관리</button></li>
</ul> </ul>

View File

@ -739,11 +739,14 @@ function TabType2(obj, tabId) {
$('.tab_depth3.tDep2_cateCode a').removeClass('on'); $('.tab_depth3.tDep2_cateCode a').removeClass('on');
$('.tab_depth3.tDep2_cateCode a').eq(0).addClass('on'); $('.tab_depth3.tDep2_cateCode a').eq(0).addClass('on');
//해시태그 //해시태그
$('.tab_depth4 .tDep2_hashTag a').removeClass('on'); // $('.tab_depth4 .tDep2_hashTag a').removeClass('on');
$('.tab_depth4 .tDep2_hashTag a').eq(0).addClass('on'); // $('.tab_depth4 .tDep2_hashTag a').eq(0).addClass('on');
//
// $(".api_guide_con").not($tabCn).removeClass("current");
// $(".api_guide_con").not($tabCn).fadeOut(0);
$(".api_guide_con").not($tabCn).removeClass("current"); + $(".api_guide_con").not($tabCn).removeClass("current").fadeOut(0);
$(".api_guide_con").not($tabCn).fadeOut(0); + $(".api_guide").not($tabCn).removeClass("current").fadeOut(0);
$(".api_guide_con").not($tabCn).removeClass("current"); $(".api_guide_con").not($tabCn).removeClass("current");
$(".api_guide_con").not($tabCn).fadeOut(0); $(".api_guide_con").not($tabCn).fadeOut(0);