spring 문자 API 사용

파이널 프로젝트를 진행 하고 있는데 환불을 한 고객에 한해서 환불 완료 문자 전송을 해줄수 있는 기능을 구현하면 좋을거 같다는 생각이 들어서
구글링을 통해서 coolSMS API를 사용해 메세지 전송기능을 구현 하였다

기존에 구글링을 통해서 얻은 코드들은 적용이 안돼서 너무 애를 먹었기 때문에 내가 적용한 코드를 정리해서 올려보려고 한다!

pom.xml에 아래 dependency를 추가해준다

 <dependency>
	    <groupId>net.nurigo</groupId>
	    <artifactId>javaSDK</artifactId>
	    <version>2.2</version>
 </dependency> 

발신 번호, 메세지 내용을 입력할 간단한 jsp를 만들어 준다

 <form:form method="post" id="smsForm">
    <ul>
      <li>보낼사람 : <input type="text" name="from"/></li>
      <li>내용 : <textarea name="text"></textarea></li>
      <li><input type="button" onclick="sendSMS('sendSms')" value="전송하기" /></li>
    </ul>
  </form:form>
  
   <script>
    function sendSMS(pageName){

    	console.log("문자를 전송합니다.");
    	$("#smsForm").attr("action", pageName + ".do");
    	$("#smsForm").submit();
    }
  </script>

메세지 전송을 위한 controller를 만들어준다

(기본 API 코드는 coolSMS에서 제공을 해주고 나는 일부 적용이 안되는 부분을 수정했다)

package com.jhta.project.controller.admin;

import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;

import org.json.simple.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import net.nurigo.java_sdk.api.Message;
import net.nurigo.java_sdk.exceptions.CoolsmsException;

@Controller
public class RefundMessageController {
	@RequestMapping(value = "/refund/sendSms.do")
	public String sendSms(HttpServletRequest request) throws Exception {

	  String api_key = "API KEY 발급받은것 입력";
	  String api_secret = "API KEY 발급받은것 입력";
	  Message coolsms = new Message(api_key, api_secret);

	  HashMap<String, String> set = new HashMap<String, String>();
	  set.put("to", "보내는분 번호 입력"); // 수신번호

	  set.put("from", (String)request.getParameter("from")); // 발신번호
	  set.put("text", (String)request.getParameter("text")); // 문자내용
	  set.put("type", "sms"); // 문자 타입
	  set.put("app_version", "test app 1.2"); 

	  System.out.println(set);
	  try {
	  JSONObject result = coolsms.send(set); // 보내기&전송결과받기

	  System.out.println(result.toString());
    } catch (CoolsmsException e) {
      System.out.println(e.getMessage());
      System.out.println(e.getCode());
    }

	  return "admin/aminpage";
	}

}

메시지 전송 TEST

좋은 웹페이지 즐겨찾기