이지우 - REST API 샘플 소스 이쁘게 정리^^
@8e6ec61d18e1fff3ec3a5d44fea824b766384057
--- src/main/webapp/sample_mjon/jsp_example_send_msg_form_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msg_form_r1.jsp
... | ... | @@ -2,141 +2,75 @@ |
| 2 | 2 |
<script type="text/javascript" src="./jquery-3.5.0.js"></script> |
| 3 | 3 |
|
| 4 | 4 |
<script type="text/javascript"> |
| 5 |
- $(document).ready(function(){
|
|
| 6 |
- |
|
| 7 |
- //문자발송 |
|
| 8 |
- $("#ajax_select_price").click(function(){
|
|
| 9 |
- |
|
| 10 |
- $("span#mgi").text("");
|
|
| 11 |
- $("span#sc").text("");
|
|
| 12 |
- $("span#fc").text("");
|
|
| 13 |
- $("span#bc").text("");
|
|
| 14 |
- $("span#mt").text("");
|
|
| 5 |
+ $(document).ready(function(){
|
|
| 6 |
+ |
|
| 7 |
+ //문자발송 함수 |
|
| 8 |
+ $("#ajax_select_price").click(function(){
|
|
| 9 |
+ |
|
| 10 |
+ //문자발송 결과 데이터 수신 전 기존 데이터 초기화 |
|
| 11 |
+ $("span#mgi").text("");
|
|
| 12 |
+ $("span#sc").text("");
|
|
| 13 |
+ $("span#fc").text("");
|
|
| 14 |
+ $("span#bc").text("");
|
|
| 15 |
+ $("span#mt").text("");
|
|
| 16 |
+ |
|
| 17 |
+ //문자발송 API로 전송할 데이터 |
|
| 18 |
+ var searchWebParam = {
|
|
| 19 |
+ 'p_mberId' : $('#mberId').val() //회원 아이디
|
|
| 20 |
+ , 'p_apiKey' : $('#apiKey').val() //api 키
|
|
| 21 |
+ , 'p_callFrom' : $('#callFrom').val() //발신자 번호
|
|
| 22 |
+ , 'p_callToList' : $('#callToList').val()//수신자 번호
|
|
| 23 |
+ , 'p_smsTxt' : $('#smsTxt').val() //문자 내용
|
|
| 24 |
+ , 'p_nameStr' : $('#nameStr').val() //치환용 이름
|
|
| 25 |
+ , 'p_testYn' : $('#testYn').val() //테스트 데이터 여부
|
|
| 26 |
+ }; |
|
| 15 | 27 |
|
| 16 |
- //document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do'; |
|
| 17 |
- //document.updatePasswordForm.submit(); |
|
| 18 |
- |
|
| 19 |
- var searchWebParam = {
|
|
| 20 |
- 'p_mberId' : $('#mberId').val()
|
|
| 21 |
- , 'p_apiKey' : $('#apiKey').val()
|
|
| 22 |
- , 'p_callFrom' : $('#callFrom').val()
|
|
| 23 |
- , 'p_callToList' : $('#callToList').val()
|
|
| 24 |
- , 'p_smsTxt' : $('#smsTxt').val()
|
|
| 25 |
- , 'p_nameStr' : $('#nameStr').val()
|
|
| 26 |
- , 'p_testYn' : $('#testYn').val()
|
|
| 27 |
- //, 'p_eachPrice' : $('#eachPrice').val()
|
|
| 28 |
- //, 'p_sPrice' : $('#sPrice').val()
|
|
| 29 |
- |
|
| 30 |
- }; |
|
| 31 |
- |
|
| 32 |
- //검색 API를 Ajax로 이용 하기 위한 호출 |
|
| 33 |
- $.ajax({
|
|
| 34 |
- url : "./jsp_example_send_msg_r1.jsp", |
|
| 35 |
- //형식을 json으로 받을 것이기 때문에 지정하여 주었습니다. |
|
| 36 |
- dataType : "json", |
|
| 37 |
- async : false, |
|
| 38 |
- type : "POST", |
|
| 39 |
- |
|
| 40 |
- data : searchWebParam, |
|
| 41 |
- |
|
| 42 |
- success: function (returnData, status) {
|
|
| 43 |
- console.log('returnData :: ', returnData);
|
|
| 44 |
- |
|
| 45 |
- if (returnData.resultCode=="0"){
|
|
| 46 |
- //makeResult(returnData); |
|
| 47 |
- |
|
| 48 |
- $("span#mgi").text(returnData.data.msgGroupId);
|
|
| 49 |
- $("span#sc").text(returnData.data.successCnt);
|
|
| 50 |
- $("span#fc").text(returnData.data.failCnt);
|
|
| 51 |
- $("span#bc").text(returnData.data.blockCnt);
|
|
| 52 |
- $("span#mt").text(returnData.data.msgType);
|
|
| 53 |
- |
|
| 54 |
- } else{
|
|
| 55 |
- alert(returnData.resultCode+" : "+returnData.data); |
|
| 56 |
- } |
|
| 57 |
- |
|
| 58 |
- }, |
|
| 59 |
- |
|
| 60 |
- error : function(request, status, error){
|
|
| 61 |
- alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 62 |
- console.log("AJAX_ERROR");
|
|
| 63 |
- } |
|
| 64 |
- }); |
|
| 28 |
+ //문자발송 REST API를 Ajax로 이용하기 위한 호출 |
|
| 29 |
+ $.ajax({
|
|
| 30 |
+ url : "./jsp_example_send_msg_r1.jsp", //요청 URL |
|
| 31 |
+ dataType : "json", //요청 값을 json으로 수신 |
|
| 32 |
+ async : false, |
|
| 33 |
+ type : "POST", //POST 방식 |
|
| 65 | 34 |
|
| 66 |
- }); |
|
| 67 |
- }); |
|
| 68 |
- |
|
| 69 |
- |
|
| 70 |
- function makeResult(p_returnData){
|
|
| 71 |
- |
|
| 72 |
- var v_html = ""; |
|
| 73 |
- |
|
| 74 |
- try {
|
|
| 75 |
- for (var i=0;i<p_returnData.objectList.length;i++){
|
|
| 76 |
- v_html += "<tr>"; |
|
| 77 |
- v_html += "<td>"; |
|
| 78 |
- v_html += p_returnData.objectList[i].msgGroupId; |
|
| 79 |
- v_html += "</td>"; |
|
| 80 |
- v_html += "<td>"; |
|
| 81 |
- v_html += p_returnData.objectList[i].msgTypeName; |
|
| 82 |
- v_html += "</td>"; |
|
| 83 |
- v_html += "<td>"; |
|
| 84 |
- v_html += p_returnData.objectList[i].callFrom; |
|
| 85 |
- v_html += "</td>"; |
|
| 86 |
- v_html += "<td>"; |
|
| 87 |
- v_html += p_returnData.objectList[i].ttlCnt; |
|
| 88 |
- v_html += "</td>"; |
|
| 89 |
- v_html += "<td>"; |
|
| 90 |
- v_html += p_returnData.objectList[i].sCnt; |
|
| 91 |
- v_html += "</td>"; |
|
| 92 |
- v_html += "<td>"; |
|
| 93 |
- v_html += p_returnData.objectList[i].fCnt; |
|
| 94 |
- v_html += "</td>"; |
|
| 95 |
- v_html += "<td>"; |
|
| 96 |
- v_html += p_returnData.objectList[i].wCnt; |
|
| 97 |
- v_html += "</td>"; |
|
| 98 |
- v_html += "<td>"; |
|
| 99 |
- v_html += p_returnData.objectList[i].msgResult; |
|
| 100 |
- v_html += "</td>"; |
|
| 101 |
- |
|
| 102 |
- v_html += "<td>"; |
|
| 103 |
- v_html += p_returnData.objectList[i].smsTxt.substring(1,20); |
|
| 104 |
- v_html += "</td>"; |
|
| 105 |
- v_html += "<td>"; |
|
| 106 |
- v_html += p_returnData.objectList[i].regdate; |
|
| 107 |
- v_html += "</td>"; |
|
| 108 |
- v_html += "<td>"; |
|
| 109 |
- v_html += p_returnData.objectList[i].reqdate; |
|
| 110 |
- v_html += "</td>"; |
|
| 111 |
- v_html += "<td>"; |
|
| 112 |
- v_html += p_returnData.objectList[i].remainMsgCnt; |
|
| 113 |
- v_html += "</td>"; |
|
| 114 |
- v_html += "</tr>"; |
|
| 115 |
- } |
|
| 116 |
- |
|
| 117 |
- } catch (error) {
|
|
| 118 |
- console.error(error); |
|
| 119 |
- // Expected output: ReferenceError: nonExistentFunction is not defined |
|
| 120 |
- // (Note: the exact output may be browser-dependent) |
|
| 35 |
+ data : searchWebParam, |
|
| 36 |
+ |
|
| 37 |
+ success: function (returnData, status) {
|
|
| 38 |
+ console.log('returnData :: ', returnData);
|
|
| 39 |
+ |
|
| 40 |
+ if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
|
| 41 |
+ |
|
| 42 |
+ $("span#mgi").text(returnData.data.msgGroupId);
|
|
| 43 |
+ $("span#sc").text(returnData.data.successCnt);
|
|
| 44 |
+ $("span#fc").text(returnData.data.failCnt);
|
|
| 45 |
+ $("span#bc").text(returnData.data.blockCnt);
|
|
| 46 |
+ $("span#mt").text(returnData.data.msgType);
|
|
| 47 |
+ |
|
| 48 |
+ } else{ //결과가 실패인 경우 원인 노출
|
|
| 49 |
+ alert(returnData.resultCode+" : "+returnData.data); |
|
| 50 |
+ } |
|
| 51 |
+ |
|
| 52 |
+ }, |
|
| 53 |
+ |
|
| 54 |
+ error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
|
| 55 |
+ alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 56 |
+ console.log("AJAX_ERROR");
|
|
| 121 | 57 |
} |
| 122 |
- |
|
| 123 |
- v_html += ""; |
|
| 124 |
- |
|
| 125 |
- |
|
| 126 |
- //$('#divResult').append("aaaaaa");
|
|
| 127 |
- $('#dynamicTbody').html(v_html);
|
|
| 128 |
- } |
|
| 129 |
- </script> |
|
| 58 |
+ }); |
|
| 59 |
+ |
|
| 60 |
+ }); |
|
| 61 |
+ }); |
|
| 62 |
+ |
|
| 63 |
+ </script> |
|
| 130 | 64 |
|
| 131 | 65 |
|
| 132 | 66 |
<div class="inner"> |
| 133 |
- <!-- send top --> |
|
| 134 | 67 |
<div class="send_top"> |
| 135 | 68 |
|
| 136 | 69 |
<div class="mypage_content current" id="tab5_3"> |
| 137 | 70 |
<div class="heading"> |
| 138 | 71 |
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2> |
| 139 | 72 |
<br/> |
| 73 |
+ <!-- 문자발송 설명 및 입력 영역 시작 --> |
|
| 140 | 74 |
<h2>문자발송(샘플-문자온)</h2> |
| 141 | 75 |
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요 |
| 142 | 76 |
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.) |
... | ... | @@ -156,81 +90,73 @@ |
| 156 | 90 |
</div> |
| 157 | 91 |
</div> |
| 158 | 92 |
|
| 93 |
+ <!-- 발신자 번호 --> |
|
| 159 | 94 |
<div class="input_list_item"> |
| 160 | 95 |
<div class="input_left">callFrom |
| 161 | 96 |
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/> |
| 162 | 97 |
</div> |
| 163 | 98 |
</div> |
| 99 |
+ |
|
| 100 |
+ <!-- 수신자 번호 --> |
|
| 164 | 101 |
<div class="input_list_item"> |
| 165 | 102 |
<div class="input_left">callToList |
| 166 | 103 |
<input type="text" class="list_inputType1" id="callToList" maxlength="100" value="01022265487,01063170387,01011112222" size="100"/> |
| 167 | 104 |
</div> |
| 168 | 105 |
</div> |
| 106 |
+ |
|
| 107 |
+ <!-- 문자 내용 --> |
|
| 169 | 108 |
<div class="input_list_item"> |
| 170 | 109 |
<div class="input_left">smsTxt |
| 171 | 110 |
<input type="text" class="list_inputType1" id="smsTxt" maxlength="100" value="문자 테스트~![*이름*]" size="100"/> |
| 172 | 111 |
</div> |
| 173 | 112 |
</div> |
| 113 |
+ |
|
| 114 |
+ <!-- 치환용 이름 --> |
|
| 174 | 115 |
<div class="input_list_item"> |
| 175 | 116 |
<div class="input_left">nameStr |
| 176 | 117 |
<input type="text" class="list_inputType1" id="nameStr" maxlength="100" value="홍길동1|홍길동2|홍길동3" size="100"/> |
| 177 | 118 |
</div> |
| 178 | 119 |
</div> |
| 120 |
+ |
|
| 121 |
+ <!-- 테스트 여부 --> |
|
| 179 | 122 |
<div class="input_list_item"> |
| 180 | 123 |
<div class="input_left">테스트여부 |
| 181 | 124 |
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공) |
| 182 | 125 |
</div> |
| 183 | 126 |
</div> |
| 184 |
- <!-- |
|
| 185 |
- <div class="input_list_item"> |
|
| 186 |
- <div class="input_left">eachPrice |
|
| 187 |
- <input type="text" class="list_inputType1" id="eachPrice" maxlength="100" value="" size="100"/>(기본값 내일) |
|
| 188 |
- </div> |
|
| 189 |
- </div> |
|
| 190 |
- <div class="input_list_item"> |
|
| 191 |
- <div class="input_left">sPrice |
|
| 192 |
- <input type="text" class="list_inputType1" id="sPrice" maxlength="100" value="" size="100"/>(기본값 내일) |
|
| 193 |
- </div> |
|
| 194 |
- </div> |
|
| 195 |
- --> |
|
| 196 |
- |
|
| 197 |
- |
|
| 127 |
+ <!-- 문자발송 설명 및 입력 영역 끝 --> |
|
| 198 | 128 |
<div class="mem_btnWrap2"> |
| 199 | 129 |
<button type="button" class="mem_btn3" style="width: 100%;" id="ajax_select_price" onclick="return false;">문자발송</button> |
| 200 |
- |
|
| 201 | 130 |
</div> |
| 202 | 131 |
|
| 203 | 132 |
</div> |
| 204 | 133 |
</div> |
| 205 | 134 |
|
| 135 |
+ <!-- 문자 발송 결과값 노출 영역 시작 --> |
|
| 206 | 136 |
<div class="mem_cont_in"> |
| 207 | 137 |
<div class="input_list"> |
| 208 | 138 |
<div class="input_list_item"> |
| 209 | 139 |
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span> |
| 210 | 140 |
</div> |
| 211 | 141 |
|
| 212 |
- <div class="input_left">성공수량 : <span class="input_left" id="sc"></span> |
|
| 142 |
+ <div class="input_left">성공수량 : <span class="input_left" id="sc"></span> |
|
| 213 | 143 |
</div> |
| 214 | 144 |
|
| 215 |
- <div class="input_left">실패수량 : <span class="input_left" id="fc"></span> |
|
| 145 |
+ <div class="input_left">실패수량 : <span class="input_left" id="fc"></span> |
|
| 216 | 146 |
</div> |
| 217 | 147 |
|
| 218 |
- <div class="input_left">block수량 : <span class="input_left" id="bc"></span> |
|
| 148 |
+ <div class="input_left">block수량 : <span class="input_left" id="bc"></span> |
|
| 219 | 149 |
</div> |
| 220 | 150 |
|
| 221 |
- <div class="input_left">메세지타입 : <span class="input_left" id="mt"></span> |
|
| 151 |
+ <div class="input_left">메세지타입 : <span class="input_left" id="mt"></span> |
|
| 222 | 152 |
</div> |
| 223 |
- |
|
| 224 | 153 |
</div> |
| 225 |
- |
|
| 226 | 154 |
</div> |
| 227 | 155 |
</div> |
| 228 |
- |
|
| 156 |
+ <!-- 문자발송 결과값 노출 영역 끝 --> |
|
| 229 | 157 |
|
| 230 | 158 |
</div> |
| 231 |
- <!--// 마이페이지 - 비밀번호 변경 --> |
|
| 159 |
+ |
|
| 232 | 160 |
</div> |
| 233 |
- <!--// send top --> |
|
| 234 | 161 |
</div> |
| 235 |
-<!--// content 영역 --> |
|
| 236 | 162 |
|
--- src/main/webapp/sample_mjon/jsp_example_send_msg_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msg_r1.jsp
... | ... | @@ -19,62 +19,45 @@ |
| 19 | 19 |
<% |
| 20 | 20 |
try{
|
| 21 | 21 |
//기본 설정값 |
| 22 |
- //final String encodingType = "utf-8"; |
|
| 23 | 22 |
final String encodingType = "UTF-8"; |
| 24 | 23 |
final String boundary = "____boundary____"; |
| 25 | 24 |
|
| 26 |
- //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요 |
|
| 25 |
+ /******************** 전송 요청 URL ********************/ |
|
| 26 |
+ //final String apiUrl = "http://localhost:8088/api/send/sendMsg"; |
|
| 27 |
+ final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg"; //개발테스트용 URL |
|
| 28 |
+ //final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL |
|
| 29 |
+ |
|
| 30 |
+ //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용 |
|
| 27 | 31 |
//실제서비스용 |
| 28 |
- //final String mberId = "goodgkdus"; //문자온 로그인 아이디 |
|
| 32 |
+ //final String mberId = "goodgkdus"; //문자온 로그인 아이디 |
|
| 29 | 33 |
//final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key |
| 30 | 34 |
|
| 31 | 35 |
//테스트용 |
| 32 | 36 |
String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
| 33 | 37 |
String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
| 34 | 38 |
|
| 39 |
+ /******************** 전송 정보 ********************/ |
|
| 40 |
+ //필수 값 |
|
| 41 |
+ String p_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
|
| 42 |
+ String p_callToList = request.getParameter("p_callToList"); //수신자 번호
|
|
| 43 |
+ String p_smsTxt = request.getParameter("p_smsTxt"); //문자 내용
|
|
| 35 | 44 |
|
| 36 |
- /**************** 문자전송하기 예제 ******************/ |
|
| 37 |
- /* "result_code":결과코드,"message":결과문구, */ |
|
| 38 |
- /* "msg_id":메세지ID,"error_cnt":에러갯수,"success_cnt":성공갯수 */ |
|
| 39 |
- /* 동일내용 > 전송용 입니다. |
|
| 40 |
- /******************** 인증정보 ********************/ |
|
| 41 |
- //String sms_url = "https://apis.aligo.in/send/"; // 전송요청 URL |
|
| 42 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessTest/Test"; // 전송요청 URL |
|
| 43 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessKey/SendMsg"; // 전송요청 URL |
|
| 44 |
- |
|
| 45 |
- final String apiUrl = "http://localhost:8088/api/send/sendMsg"; |
|
| 46 |
-// final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg"; |
|
| 45 |
+ //선택 값 |
|
| 46 |
+ String p_nameStr = request.getParameter("p_nameStr"); //치환용 이름
|
|
| 47 |
+ String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
|
| 47 | 48 |
|
| 48 |
- Map<String, String> params = new HashMap<String, String>(); |
|
| 49 |
- /******************** 인증정보 ********************/ |
|
| 49 |
+ /* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */ |
|
| 50 | 50 |
|
| 51 |
- |
|
| 52 |
- //임시 - 테스트용 시작 |
|
| 53 |
- //String p_mberId = request.getParameter("p_mberId"); //발신번호
|
|
| 54 |
- //String p_accessKey = request.getParameter("p_accessKey"); //수신번호
|
|
| 55 |
- //sms.put("mberId", p_mberId); // SMS 아이디
|
|
| 56 |
- //sms.put("accessKey", p_accessKey); //인증키
|
|
| 57 |
- //임시 - 테스트용 끝 |
|
| 58 |
- /******************** 전송정보 ********************/ |
|
| 59 |
- //전달 받은 값 |
|
| 60 |
- //필수값 |
|
| 61 |
- String p_callFrom = request.getParameter("p_callFrom"); //발신번호
|
|
| 62 |
- String p_callToList = request.getParameter("p_callToList"); //수신번호
|
|
| 63 |
- String p_eachPrice = request.getParameter("p_eachPrice"); //전송문자 개별가격
|
|
| 64 |
- //String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
| 65 |
- String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
| 66 |
- //String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
| 51 |
+ //String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
| 52 |
+ //String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
| 53 |
+ //String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
| 67 | 54 |
//String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
| 68 |
- //String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함 |
|
| 69 |
- //String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
|
| 70 |
- //String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
|
| 71 |
- //String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함 |
|
| 72 |
- String p_smsTxt = request.getParameter("p_smsTxt"); //SMS용 메시지본문
|
|
| 73 |
- String p_nameStr = request.getParameter("p_nameStr"); //치환문자
|
|
| 74 |
- String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS'
|
|
| 75 |
- |
|
| 76 |
- //선택값 |
|
| 77 |
- //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms단가
|
|
| 55 |
+ //String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함 |
|
| 56 |
+ //String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
|
| 57 |
+ //String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
|
| 58 |
+ //String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함 |
|
| 59 |
+ |
|
| 60 |
+ //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms단가
|
|
| 78 | 61 |
//String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
| 79 | 62 |
//String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
| 80 | 63 |
|
... | ... | @@ -84,19 +67,23 @@ |
| 84 | 67 |
//String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
| 85 | 68 |
//String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
| 86 | 69 |
|
| 87 |
- // 필수 데이터 |
|
| 88 |
- params.put("mberId", mberId); // SMS 아이디
|
|
| 89 |
- params.put("accessKey", apiKey); //인증키
|
|
| 90 |
- //추가 전송 데이터 |
|
| 91 |
- params.put("callFrom" , p_callFrom); //발신번호
|
|
| 92 |
- params.put("callToList" , p_callToList); //수신번호
|
|
| 93 |
- //params.put("eachPrice" , p_eachPrice); //전송문자 개별가격
|
|
| 94 |
- //params.put("sPrice" , p_sPrice); //단문문자단가
|
|
| 95 |
- params.put("smsTxt" , p_smsTxt); //SMS용 메시지본문
|
|
| 96 |
- params.put("nameStr" , p_nameStr); //페이지당 출력갯수
|
|
| 97 |
- params.put("test_yn" , p_testYn); //테스트 여부
|
|
| 70 |
+ /* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */ |
|
| 71 |
+ |
|
| 72 |
+ Map<String, String> params = new HashMap<String, String>(); |
|
| 98 | 73 |
|
| 99 |
- |
|
| 74 |
+ //필수 전송 데이터 |
|
| 75 |
+ params.put("mberId", mberId); //회원 아이디
|
|
| 76 |
+ params.put("accessKey", apiKey); //인증키
|
|
| 77 |
+ params.put("callFrom" , p_callFrom); //발신자 번호
|
|
| 78 |
+ params.put("callToList" , p_callToList); //수신자 번호
|
|
| 79 |
+ params.put("smsTxt" , p_smsTxt); //문자 내용
|
|
| 80 |
+ |
|
| 81 |
+ //선택 전송 데이터 |
|
| 82 |
+ params.put("nameStr" , p_nameStr); //치환용 이름
|
|
| 83 |
+ params.put("test_yn" , p_testYn); //테스트 데이터 여부
|
|
| 84 |
+ |
|
| 85 |
+ |
|
| 86 |
+ //REST API 전송 |
|
| 100 | 87 |
String result = ""; |
| 101 | 88 |
|
| 102 | 89 |
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); |
... | ... | @@ -111,17 +98,15 @@ |
| 111 | 98 |
//전달값이 없는 경우 오류 |
| 112 | 99 |
try{
|
| 113 | 100 |
builder.addTextBody(key, params.get(key) |
| 114 |
- , ContentType.create("Multipart/related", encodingType));
|
|
| 101 |
+ , ContentType.create("Multipart/related", encodingType));
|
|
| 115 | 102 |
}catch(Exception ex){
|
| 116 | 103 |
ex.printStackTrace(); |
| 117 |
- |
|
| 118 |
- } |
|
| 119 |
- |
|
| 120 |
- } |
|
| 104 |
+ } |
|
| 105 |
+ } |
|
| 121 | 106 |
}catch(Exception ex){
|
| 122 | 107 |
ex.printStackTrace(); |
| 123 | 108 |
|
| 124 |
- } |
|
| 109 |
+ } |
|
| 125 | 110 |
|
| 126 | 111 |
HttpEntity entity = builder.build(); |
| 127 | 112 |
|
... | ... | @@ -146,4 +131,8 @@ |
| 146 | 131 |
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
| 147 | 132 |
} |
| 148 | 133 |
|
| 134 |
+ |
|
| 135 |
+ /**************** 문자발송 Response 예제 ******************/ |
|
| 136 |
+ /* "result_code": 결과코드, "msgGroupId": 메세지 그룹 ID, "msgType": 메세지 타입 */ |
|
| 137 |
+ /* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수*/ |
|
| 149 | 138 |
%>(No newline at end of file) |
--- src/main/webapp/sample_mjon/jsp_example_send_msgs_form_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msgs_form_r1.jsp
... | ... | @@ -2,110 +2,100 @@ |
| 2 | 2 |
<script type="text/javascript" src="./jquery-3.5.0.js"></script> |
| 3 | 3 |
|
| 4 | 4 |
<script type="text/javascript"> |
| 5 |
- $(document).ready(function(){
|
|
| 5 |
+ $(document).ready(function(){
|
|
| 6 | 6 |
|
| 7 |
- //대량문자발송 |
|
| 8 |
- $("#ajax_select_price").click(function(){
|
|
| 7 |
+ //대량문자발송 |
|
| 8 |
+ $("#ajax_select_price").click(function(){
|
|
| 9 | 9 |
|
| 10 |
- $("span#mgi").text("");
|
|
| 11 |
- $("span#sc").text("");
|
|
| 12 |
- $("span#fc").text("");
|
|
| 13 |
- $("span#bc").text("");
|
|
| 14 |
- $("span#mt").text("");
|
|
| 10 |
+ $("span#mgi").text("");
|
|
| 11 |
+ $("span#sc").text("");
|
|
| 12 |
+ $("span#fc").text("");
|
|
| 13 |
+ $("span#bc").text("");
|
|
| 14 |
+ $("span#mt").text("");
|
|
| 15 |
+ |
|
| 16 |
+ //문자발송 API로 전송할 데이터 |
|
| 17 |
+ var searchWebParam = {
|
|
| 18 |
+ 'p_mberId' : $('#mberId').val()
|
|
| 19 |
+ , 'p_apiKey' : $('#apiKey').val()
|
|
| 20 |
+ , 'p_callFrom' : $('#callFrom').val()
|
|
| 21 |
+ , 'p_testYn' : $('#testYn').val()
|
|
| 22 |
+ }; |
|
| 23 |
+ |
|
| 24 |
+ var tagId = ""; |
|
| 25 |
+ //전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기 |
|
| 26 |
+ $.each($('.input_list input'), function (index, tag){
|
|
| 27 |
+ tagId = $(tag).attr('id');
|
|
| 28 |
+ if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
| 29 |
+ searchWebParam[tagId] = $(tag).val(); |
|
| 30 |
+ } |
|
| 31 |
+ }); |
|
| 32 |
+ |
|
| 33 |
+ //문자발송 REST API를 Ajax로 이용하기 위한 호출 |
|
| 34 |
+ $.ajax({
|
|
| 35 |
+ url : "./jsp_example_send_msgs_r1.jsp", //요청 URL |
|
| 36 |
+ dataType : "json", //요청 값을 json으로 수신 |
|
| 37 |
+ async : false, |
|
| 38 |
+ type : "POST", //POST 방식 |
|
| 39 |
+ |
|
| 40 |
+ data : searchWebParam, |
|
| 41 |
+ |
|
| 42 |
+ success: function (returnData, status) {
|
|
| 15 | 43 |
|
| 16 |
- //document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do'; |
|
| 17 |
- //document.updatePasswordForm.submit(); |
|
| 18 |
- |
|
| 19 |
- var searchWebParam = {
|
|
| 20 |
- 'p_mberId' : $('#mberId').val()
|
|
| 21 |
- , 'p_apiKey' : $('#apiKey').val()
|
|
| 22 |
- |
|
| 23 |
- , 'p_callFrom' : $('#callFrom').val()
|
|
| 24 |
- , 'p_testYn' : $('#testYn').val()
|
|
| 25 |
- |
|
| 26 |
- }; |
|
| 27 |
- |
|
| 28 |
- var tagId = ""; |
|
| 29 |
- $.each($('.input_list input'), function (index, tag){
|
|
| 44 |
+ console.log('returnData : ', returnData);
|
|
| 45 |
+ |
|
| 46 |
+ if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
|
| 47 |
+ $("span#mgi").text(returnData.data.msgGroupIdList);
|
|
| 48 |
+ $("span#sc").text(returnData.data.successCnt);
|
|
| 49 |
+ $("span#fc").text(returnData.data.failCnt);
|
|
| 50 |
+ $("span#bc").text(returnData.data.blockCnt);
|
|
| 51 |
+ $("span#mt").text(returnData.data.msgTypeList);
|
|
| 30 | 52 |
|
| 31 |
- tagId = $(tag).attr('id');
|
|
| 32 |
- if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
| 33 |
- |
|
| 34 |
- searchWebParam[tagId] = $(tag).val(); |
|
| 35 |
- } |
|
| 36 |
- }); |
|
| 37 |
- |
|
| 38 |
- //검색 API를 Ajax로 이용 하기 위한 호출 |
|
| 39 |
- $.ajax({
|
|
| 40 |
- url : "./jsp_example_send_msgs_r1.jsp", |
|
| 41 |
- //형식을 json으로 받을 것이기 때문에 지정하여 주었습니다. |
|
| 42 |
- dataType : "json", |
|
| 43 |
- async : false, |
|
| 44 |
- type : "POST", |
|
| 45 |
- |
|
| 46 |
- data : searchWebParam, |
|
| 47 |
- |
|
| 48 |
- success: function (returnData, status) {
|
|
| 49 |
- |
|
| 50 |
- console.log('returnData : ', returnData);
|
|
| 51 |
- |
|
| 52 |
- if (returnData.resultCode=="0"){
|
|
| 53 |
- $("span#mgi").text(returnData.data.msgGroupIdList);
|
|
| 54 |
- $("span#sc").text(returnData.data.successCnt);
|
|
| 55 |
- $("span#fc").text(returnData.data.failCnt);
|
|
| 56 |
- $("span#bc").text(returnData.data.blockCnt);
|
|
| 57 |
- $("span#mt").text(returnData.data.msgTypeList);
|
|
| 58 |
- |
|
| 59 |
- } else{
|
|
| 60 |
- alert(returnData.resultCode+" : "+returnData.data); |
|
| 61 |
- } |
|
| 62 |
- |
|
| 63 |
- }, |
|
| 64 |
- |
|
| 65 |
- error : function(request, status, error){
|
|
| 66 |
- alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 67 |
- console.log("AJAX_ERROR");
|
|
| 68 |
- } |
|
| 69 |
- }); |
|
| 53 |
+ } else{ //결과가 실패인 경우 원인 노출
|
|
| 54 |
+ alert(returnData.resultCode+" : "+returnData.data); |
|
| 55 |
+ } |
|
| 70 | 56 |
|
| 71 |
- }); |
|
| 57 |
+ }, |
|
| 58 |
+ |
|
| 59 |
+ error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
|
| 60 |
+ alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 61 |
+ console.log("AJAX_ERROR");
|
|
| 62 |
+ } |
|
| 63 |
+ }); |
|
| 72 | 64 |
|
| 73 |
- // 수신자 추가 버튼 |
|
| 74 |
- $('#sendAdd').click(function(){
|
|
| 65 |
+ }); |
|
| 75 | 66 |
|
| 76 |
- |
|
| 77 |
- var nextId = $('.callTo').length+1;
|
|
| 78 |
- var textData = '<div class="input_list_item">' |
|
| 79 |
- + '<div class="input_left">p_callTo_'+nextId+'' |
|
| 80 |
- + '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">' |
|
| 81 |
- + '</div>' |
|
| 82 |
- +'</div>' |
|
| 83 |
- +'<div class="input_list_item">' |
|
| 84 |
- + '<div class="input_left">p_smsTxt_'+nextId+'' |
|
| 85 |
- + '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">' |
|
| 86 |
- + '</div>' |
|
| 87 |
- +'</div>' |
|
| 67 |
+ // 수신자 추가 버튼 |
|
| 68 |
+ $('#sendAdd').click(function(){
|
|
| 69 |
+ |
|
| 70 |
+ |
|
| 71 |
+ var nextId = $('.callTo').length+1;
|
|
| 72 |
+ var textData = '<div class="input_list_item">' |
|
| 73 |
+ + '<div class="input_left">p_callTo_'+nextId+'' |
|
| 74 |
+ + '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">' |
|
| 75 |
+ + '</div>' |
|
| 76 |
+ +'</div>' |
|
| 77 |
+ +'<div class="input_list_item">' |
|
| 78 |
+ + '<div class="input_left">p_smsTxt_'+nextId+'' |
|
| 79 |
+ + '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">' |
|
| 80 |
+ + '</div>' |
|
| 81 |
+ +'</div>' |
|
| 88 | 82 |
; |
| 89 |
- |
|
| 90 |
- $('.input_list').append(textData);
|
|
| 91 |
- |
|
| 83 |
+ $('.input_list').append(textData);
|
|
| 84 |
+ |
|
| 85 |
+ }); |
|
| 92 | 86 |
|
| 93 |
- |
|
| 94 |
- }); |
|
| 95 |
- |
|
| 96 |
- }); |
|
| 87 |
+ }); |
|
| 97 | 88 |
|
| 98 |
- </script> |
|
| 99 |
- |
|
| 89 |
+ </script> |
|
| 100 | 90 |
|
| 101 | 91 |
<div class="inner"> |
| 102 |
- <!-- send top --> |
|
| 103 | 92 |
<div class="send_top"> |
| 104 | 93 |
|
| 105 | 94 |
<div class="mypage_content current" id="tab5_3"> |
| 106 | 95 |
<div class="heading"> |
| 107 | 96 |
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2> |
| 108 |
- <br/> |
|
| 97 |
+ <br/> |
|
| 98 |
+ <!-- 문자발송 설명 및 입력 영역 시작 --> |
|
| 109 | 99 |
<h2>대량문자발송(샘플-문자온)</h2> |
| 110 | 100 |
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요 |
| 111 | 101 |
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.) |
... | ... | @@ -115,7 +105,6 @@ |
| 115 | 105 |
<div class="mem_cont_in"> |
| 116 | 106 |
|
| 117 | 107 |
<div class="mem_btnWrap2"> |
| 118 |
-<!-- <button type="button" class="mem_btn3" style="width: 100%;" onclick="insertPw();">변경</button> --> |
|
| 119 | 108 |
<button type="button" class="mem_btn3" style="width: 50%;" id="sendAdd" onclick="return false;">수신자 추가</button> |
| 120 | 109 |
</div> |
| 121 | 110 |
|
... | ... | @@ -136,29 +125,37 @@ |
| 136 | 125 |
</div> |
| 137 | 126 |
</div> |
| 138 | 127 |
|
| 128 |
+ <!-- 발신자 번호 --> |
|
| 139 | 129 |
<div class="input_list_item"> |
| 140 | 130 |
<div class="input_left">callFrom |
| 141 | 131 |
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/> |
| 142 | 132 |
</div> |
| 143 | 133 |
</div> |
| 134 |
+ |
|
| 135 |
+ <!-- 테스트 여부 --> |
|
| 144 | 136 |
<div class="input_list_item"> |
| 145 | 137 |
<div class="input_left">테스트여부 |
| 146 | 138 |
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공) |
| 147 | 139 |
</div> |
| 148 | 140 |
</div> |
| 141 |
+ |
|
| 142 |
+ <!-- 수신자 번호 1--> |
|
| 149 | 143 |
<div class="input_list_item"> |
| 150 | 144 |
<div class="input_left">p_callTo_1 |
| 151 | 145 |
<input type="text" class="list_inputType1 callTo" id="p_callTo_1" maxlength="100" value="01083584250"> |
| 152 | 146 |
</div> |
| 153 | 147 |
</div> |
| 148 |
+ <!-- 문자 내용 1 --> |
|
| 154 | 149 |
<div class="input_list_item"> |
| 155 | 150 |
<div class="input_left">p_smsTxt_1 |
| 156 | 151 |
<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_1" maxlength="100" value="testMsg"> |
| 157 | 152 |
</div> |
| 158 | 153 |
</div> |
| 154 |
+ <!-- 문자발송 설명 및 입력 영역 끝 --> |
|
| 159 | 155 |
</div> |
| 160 | 156 |
</div> |
| 161 | 157 |
|
| 158 |
+ <!-- 문자 발송 결과값 노출 영역 시작 --> |
|
| 162 | 159 |
<div class="mem_cont_in"> |
| 163 | 160 |
<div class="input_list_item"> |
| 164 | 161 |
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span> |
... | ... | @@ -178,11 +175,7 @@ |
| 178 | 175 |
|
| 179 | 176 |
</div> |
| 180 | 177 |
</div> |
| 181 |
- |
|
| 178 |
+ <!-- 문자발송 결과값 노출 영역 끝 --> |
|
| 182 | 179 |
</div> |
| 183 |
- <!--// 마이페이지 - 비밀번호 변경 --> |
|
| 184 | 180 |
</div> |
| 185 |
- <!--// send top --> |
|
| 186 | 181 |
</div> |
| 187 |
-<!--// content 영역 --> |
|
| 188 |
- |
--- src/main/webapp/sample_mjon/jsp_example_send_msgs_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msgs_r1.jsp
... | ... | @@ -18,94 +18,76 @@ |
| 18 | 18 |
<%@ page language="java" contentType="text/html; charset=utf-8 " pageEncoding="utf-8"%> |
| 19 | 19 |
<% |
| 20 | 20 |
try{
|
| 21 |
- //기본 ì¤ì ê° |
|
| 22 |
- //final String encodingType = "utf-8"; |
|
| 21 |
+ //기본 설정값 |
|
| 23 | 22 |
final String encodingType = "UTF-8"; |
| 24 | 23 |
final String boundary = "____boundary____"; |
| 25 | 24 |
|
| 26 |
- //íììì´ë, APIKEY - ë³´ìì ìí´ ì¤ì ìë¹ì¤ ììë ì´ê³³ì mberIdì apiKey ê°ì ì ì´ì ì¬ì©í´ì£¼ì¸ì |
|
| 27 |
- //ì¤ì ìë¹ì¤ì© |
|
| 28 |
- //final String mberId = "goodgkdus"; //문ìì¨ ë¡ê·¸ì¸ ìì´ë |
|
| 29 |
- //final String apiKey = "12e749877379aa7426275414050694b953"; //ë°ê¸ë°ì api key |
|
| 25 |
+ /******************** 전송 요청 URL ********************/ |
|
| 26 |
+ //String apiUrl = "http://localhost:8088/api/send/sendMsgs"; |
|
| 27 |
+ //final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL |
|
| 28 |
+ String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; //개발테스트용 URL |
|
| 30 | 29 |
|
| 31 |
- //í ì¤í¸ì© |
|
| 32 |
- String mberId = request.getParameter("p_mberId"); //문ìì¨ ë¡ê·¸ì¸ ìì´ë
|
|
| 33 |
- String apiKey = request.getParameter("p_apiKey"); //ë°ê¸ë°ì api key
|
|
| 30 |
+ //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용 |
|
| 31 |
+ //실제서비스용 |
|
| 32 |
+ //final String mberId = "goodgkdus"; //문자온 로그인 아이디 |
|
| 33 |
+ //final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key |
|
| 34 |
+ |
|
| 35 |
+ //테스트용 |
|
| 36 |
+ String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
|
| 37 |
+ String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
|
| 34 | 38 |
|
| 39 |
+ /******************** 전송 정보 ********************/ |
|
| 40 |
+ //필수 값 |
|
| 41 |
+ String p_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
|
| 42 |
+ String p_callTo_1 = request.getParameter("p_callTo_1"); //수신자 번호 1
|
|
| 43 |
+ String p_smsTxt_1 = request.getParameter("p_smsTxt_1"); //문자 내용 1
|
|
| 35 | 44 |
|
| 36 |
- /**************** 문ìì ì¡í기 ìì ******************/ |
|
| 37 |
- /* "result_code":ê²°ê³¼ì½ë,"message":결과문구, */ |
|
| 38 |
- /* "msg_id":ë©ì¸ì§ID,"error_cnt":ìë¬ê°¯ì,"success_cnt":ì±ê³µê°¯ì */ |
|
| 39 |
- /* ëì¼ë´ì© > ì ì¡ì© ì ëë¤. |
|
| 40 |
- /******************** ì¸ì¦ì ë³´ ********************/ |
|
| 41 |
- //String sms_url = "https://apis.aligo.in/send/"; // ì ì¡ìì² URL |
|
| 42 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessTest/Test"; // ì ì¡ìì² URL |
|
| 43 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessKey/SendMsg"; // ì ì¡ìì² URL |
|
| 44 |
- String apiUrl = "http://localhost:8088/api/send/sendMsgs"; // ì ì¡ìì² URL |
|
| 45 |
+ //선택 값 |
|
| 46 |
+ String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
|
| 45 | 47 |
|
| 46 |
-// String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; // 전송요청 URL |
|
| 48 |
+ /* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */ |
|
| 47 | 49 |
|
| 48 |
- Map<String, String> params = new HashMap<String, String>(); |
|
| 49 |
- params.put("mberId", mberId); // SMS ìì´ë
|
|
| 50 |
- params.put("accessKey", apiKey); //ì¸ì¦í¤
|
|
| 51 |
- /******************** ì¸ì¦ì ë³´ ********************/ |
|
| 50 |
+ //String p_nameStr_1 = request.getParameter("p_nameStr_1"); //치환용 이름 1
|
|
| 51 |
+ //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms 단가
|
|
| 52 |
+ //String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
|
| 53 |
+ //String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
|
| 52 | 54 |
|
| 53 |
- |
|
| 54 |
- //ìì - í ì¤í¸ì© ìì |
|
| 55 |
- //String p_mberId = request.getParameter("p_mberId"); //ë°ì ë²í¸
|
|
| 56 |
- //String p_accessKey = request.getParameter("p_accessKey"); //ìì ë²í¸
|
|
| 57 |
- //sms.put("mberId", p_mberId); // SMS ìì´ë
|
|
| 58 |
- //sms.put("accessKey", p_accessKey); //ì¸ì¦í¤
|
|
| 59 |
- //ìì - í ì¤í¸ì© ë |
|
| 60 |
- /******************** ì ì¡ì ë³´ ********************/ |
|
| 61 |
- //ì ë¬ ë°ì ê° |
|
| 62 |
- //íìê° |
|
| 63 |
- String p_callFrom = request.getParameter("p_callFrom"); //ë°ì ë²í¸
|
|
| 64 |
- String p_callTo_1 = request.getParameter("p_callTo_1"); //ìì ë²í¸
|
|
| 65 |
- //String p_eachPrice = request.getParameter("p_eachPrice"); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
| 66 |
- //String p_fileCnt = request.getParameter("p_fileCnt"); //첨ë¶íì¼ê°¯ì
|
|
| 67 |
- //String p_sPrice = request.getParameter("p_sPrice"); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
| 68 |
- //String p_totPrice = request.getParameter("p_totPrice"); //ì´ê²°ì ê¸ì¡
|
|
| 69 |
- //String p_txtReplYn = request.getParameter("p_txtReplYn"); //ì¹í문ì ì¬ë¶ Y//N
|
|
| 70 |
- //String p_txtReplYn = "N"; //ì¹í문ì ì¬ë¶ - ì´ê¸° ì§ììí¨ |
|
| 71 |
- //String p_msgType = request.getParameter("p_msgType"); //문ìíì
4-ë¨ë¬¸,5-URL,6-MMS,7-BARCODE,8-ì¹´ì¹´ì¤ì림í¡
|
|
| 72 |
- //String p_msgKind = request.getParameter("p_msgKind"); //N-ì¼ë°,A-ê´ê³ ,C-ì ê±°
|
|
| 73 |
- //String p_msgKind = "N"; //N-ì¼ë°,A-ê´ê³ ,C-ì ê±° - ì´ê¸° ì§ììí¨ |
|
| 74 |
- String p_smsTxt_1 = request.getParameter("p_smsTxt_1"); //SMSì© ë©ìì§ë³¸ë¬¸
|
|
| 75 |
- String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS'
|
|
| 76 |
- //String p_nameStr_1 = request.getParameter("p_nameStr_1"); //ì¹í문ì
|
|
| 55 |
+ //String p_eachPrice = request.getParameter("p_eachPrice"); //개별 금액
|
|
| 56 |
+ //String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
| 57 |
+ //String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
| 58 |
+ //String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
| 59 |
+ //String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
|
| 60 |
+ //String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함 |
|
| 61 |
+ //String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
|
| 62 |
+ //String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
|
| 63 |
+ //String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함 |
|
| 64 |
+ |
|
| 65 |
+ //예약문자의 경우(선택값) |
|
| 66 |
+ //String p_reserveYn = request.getParameter("p_reserveYn"); //예약문자 여부 N or Y
|
|
| 67 |
+ //String p_divideCnt = request.getParameter("p_divideCnt"); //분할문자 건수
|
|
| 68 |
+ //String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
|
| 69 |
+ //String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
|
| 77 | 70 |
|
| 78 |
- //ì íê° |
|
| 79 |
- //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mmsë¨ê°
|
|
| 80 |
- //String p_mPrice = request.getParameter("p_mPrice"); //ì¥ë¬¸ë¬¸ìë¨ê°
|
|
| 81 |
- //String p_spamStatus = request.getParameter("p_spamStatus"); //ì¤í¸ë¬¸ì ì 무
|
|
| 82 |
- |
|
| 83 |
- //ìì½ë¬¸ìì ê²½ì°(ì íê°) |
|
| 84 |
- //String p_reserveYn = request.getParameter("p_reserveYn"); //ìì½ë¬¸ì ì¬ë¶ N or Y
|
|
| 85 |
- //String p_divideCnt = request.getParameter("p_divideCnt"); //ë¶í 문ì ê±´ì
|
|
| 86 |
- //String p_divideTime = request.getParameter("p_divideTime"); //ë¶í 문ì ê°ê²©
|
|
| 87 |
- //String p_reqDate = request.getParameter("p_reqDate"); //ìì½ìê°
|
|
| 88 |
- |
|
| 89 |
- |
|
| 90 |
- //ì¶ê° ì ì¡ ë°ì´í° |
|
| 71 |
+ Map<String, String> params = new HashMap<String, String>(); |
|
| 72 |
+ |
|
| 73 |
+ //필수 전송 데이터 |
|
| 74 |
+ params.put("mberId", mberId); //회원 아이디
|
|
| 75 |
+ params.put("accessKey", apiKey); //인증키
|
|
| 91 | 76 |
params.put("callFrom" , p_callFrom); //ë°ì ë²í¸
|
| 77 |
+ |
|
| 78 |
+ //선택 전송 데이터 |
|
| 92 | 79 |
params.put("test_yn" , p_testYn); //테스트 여부
|
| 93 | 80 |
|
| 94 |
- //params.put("callTo_1" , p_callTo_1); //ìì ë²í¸
|
|
| 95 |
- //params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
| 96 |
- //params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
| 97 |
- //params.put("smsTxt_1" , p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸
|
|
| 98 |
- |
|
| 99 |
- |
|
| 100 |
- for (int i=1;i<101;i++){
|
|
| 81 |
+ //전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기 |
|
| 82 |
+ for (int i=1;i<101;i++){ //최대 수신자 100명
|
|
| 101 | 83 |
String p_callTo = "p_callTo_"+Integer.toString(i); |
| 102 | 84 |
String p_smsTxt = "p_smsTxt_"+Integer.toString(i); |
| 103 | 85 |
|
| 104 | 86 |
String s_callTo = "callTo_"+Integer.toString(i); |
| 105 | 87 |
String s_smsTxt = "smsTxt_"+Integer.toString(i); |
| 106 | 88 |
|
| 107 |
- p_callTo_1 = request.getParameter(p_callTo); //SMSì© ë©ìì§ë³¸ë¬¸ |
|
| 108 |
- p_smsTxt_1 = request.getParameter(p_smsTxt); //SMSì© ë©ìì§ë³¸ë¬¸ |
|
| 89 |
+ p_callTo_1 = request.getParameter(p_callTo); |
|
| 90 |
+ p_smsTxt_1 = request.getParameter(p_smsTxt); |
|
| 109 | 91 |
|
| 110 | 92 |
|
| 111 | 93 |
System.out.println("======i=====");
|
... | ... | @@ -113,18 +95,20 @@ |
| 113 | 95 |
System.out.println(p_callTo_1); |
| 114 | 96 |
System.out.println(p_smsTxt_1); |
| 115 | 97 |
|
| 98 |
+ |
|
| 116 | 99 |
if (p_callTo_1 != null |
| 117 | 100 |
&& p_smsTxt_1 != null |
| 118 | 101 |
&& !"".equals(p_callTo_1) |
| 119 | 102 |
&& !"".equals(p_smsTxt_1) |
| 120 | 103 |
){
|
| 121 |
- params.put(s_callTo, p_callTo_1); //ìì ë²í¸ |
|
| 122 |
- //params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
| 123 |
- //params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
| 124 |
- params.put(s_smsTxt, p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸ |
|
| 104 |
+ params.put(s_callTo, p_callTo_1); //수신자 추가 |
|
| 105 |
+ params.put(s_smsTxt, p_smsTxt_1); //문자내용 추가 |
|
| 106 |
+ } else{
|
|
| 107 |
+ break; |
|
| 125 | 108 |
} |
| 126 | 109 |
} |
| 127 |
- |
|
| 110 |
+ |
|
| 111 |
+ //REST API 전송 |
|
| 128 | 112 |
String result = ""; |
| 129 | 113 |
|
| 130 | 114 |
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); |
... | ... | @@ -136,7 +120,7 @@ |
| 136 | 120 |
try{
|
| 137 | 121 |
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
|
| 138 | 122 |
String key = i.next(); |
| 139 |
- //ì ë¬ê°ì´ ìë ê²½ì° ì¤ë¥ |
|
| 123 |
+ //전달값이 없는 경우 오류 |
|
| 140 | 124 |
try{
|
| 141 | 125 |
builder.addTextBody(key, params.get(key) |
| 142 | 126 |
, ContentType.create("Multipart/related", encodingType));
|
... | ... | @@ -174,4 +158,7 @@ |
| 174 | 158 |
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
| 175 | 159 |
} |
| 176 | 160 |
|
| 161 |
+ /**************** 문자발송 Response 예제 ******************/ |
|
| 162 |
+ /* "result_code": 결과코드, "msgGroupIdList": 메세지 그룹 ID 리스트, "msgTypeList": 메세지 타입 리스트*/ |
|
| 163 |
+ /* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수, "failCnt": 발송실패 건수*/ |
|
| 177 | 164 |
%>(No newline at end of file) |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?