[Spring Boot] 문자 보내기 구현

김우경·2021년 2월 22일

"상담 예약하기"를 눌렀을때 상담 예약과 동시에 예약에 대한 정보를 문자로 발송하는 기능을 구현하려고 한다.

사용한 문자 전송 서비스

coolsms를 사용했다. 구글링했을때 가장 많이 사용하는 서비스같아서,, 오류발생시에도 빠르게 해결 방법을 찾을 수 있을 것같아서 결정함

SDK 적용

Rest API, SDK, ClassicAPI 총 세가지로 문자전송 기능을 제공하는데, 스프링부트에 연동해야 하므로 SDK를 사용했다.

gradle을 사용중이기 때문에 build.gradle의 depedency에 아래와 같이 추가한다.

compile group: 'net.nurigo', name: 'javaSDK', version: '2.2'


코끼리 리프레쉬하는거 잊지 말기,,

coolsms 세팅하기

API key 발급하기

개발/연동 > API key 관리 > New 클릭!

발신 번호 등록하기

메세지 전송 > 문자보내기 > 발신번호 선택 > 등록 클릭!

문자 전송 테스트

잘 작동하는지 간단하게 테스트를 해보자.
MessageTest 클래스를 만들어줬음

@Test
    public void sendSms() {

        String api_key = "발급받은 api_key";
        String api_secret = "발급받은 api_secret";
        Message coolsms = new Message(api_key, api_secret);
        HashMap<String, String> params = new HashMap<String, String>();

        params.put("to", "등록한 발신자 번호");
        params.put("from", "수신자 번호");
        params.put("type", "SMS");
        params.put("text", "문자 내용");
        params.put("app_version", "test app 1.2");

        try {
            JSONObject obj = (JSONObject) coolsms.send(params);
            System.out.println(obj.toString());
        } catch (CoolsmsException e) {
            System.out.println(e.getMessage());
            System.out.println(e.getCode());
        }
    }


이-지 하네요잉 ,,

참고

https://seonhyungjo.github.io/Spring-SMS/
https://jinseongsoft.tistory.com/185

profile
Hongik CE

2개의 댓글

comment-user-thumbnail
2021년 3월 25일

안녕하세요 포스팅하신 글 잘 읽었습니다. 올려주신 방법대로 개인 프로젝트에 적용해봤는데, "SignatureDoesNotMatch"라는 에러코드가 뜨더라구요 저는.. 혹시 API KEY랑 API SECRET 생성하실 때, 별도로 Signature 관련해서는 따로 생성하신게 없었나요?

1개의 답글