[Spring] JAVA에서 문자 보내기 API

전현준·2023년 11월 11일
0

Spring

목록 보기
4/17
post-thumbnail

https://coolsms.co.kr/ 사이트에서 제공하는 문자 전송 API를 사용할 것이다.

1. 회원가입 및 발신 번호 등록

회원가입을 하고 환경설정 > 발신 번호 등록 에 들어가서 본인 인증을 하고 나의 번호를 등록해두어야 한다.

2. API Key & API Secret 받기

API 키를 받아두자!
❗API 키는 항상 외부로 노출되지 않도록 주의하자. 요금 폭탄 맞을 수도..

  • 이 내용을 다룬 블로그도 많았지만, 구 버전이라 더이상 지원하지 않는 듯 하다.

3. Java Gradle 추가

dependencies 내부에 추가한다.

implementation 'net.nurigo:sdk:4.3.0'

Gradle 추가하고 Bulid하는것은 잊지 않기~

4. 자바 소스

메세지 하나를 보내는 메소드
나는 이제 ApiKey, ApiSecure, 보내는 사람 전화번호는 argument로 넣어서 코드를 짰다.
아래 코드는 그런 것을 고려하지 않은 코드다

import net.nurigo.sdk.NurigoApp;
import net.nurigo.sdk.message.model.Message;
import net.nurigo.sdk.message.service.DefaultMessageService;
import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
import net.nurigo.sdk.message.response.SingleMessageSentResponse;
import org.springframework.stereotype.Service;

@Service
public class SendMessageService {
    private static final Logger logger = LoggerFactory.getLogger(SendMessageService.class);

    final DefaultMessageService messageService;
    
    public SendMessageService(){
        this.messageService = NurigoApp.INSTANCE.initialize("your_API_KEY", "your_API_Secret", "https://api.coolsms.co.kr");
    }
    public void sendMessage(){
        Message message = new Message();
        message.setFrom("보내는 사람 전화번호"); // 01012345678 형태여야 함.
        message.setTo("받는 사람 전화번호"); // 01012345678 형태여야 함.
        message.setText("보낼 메세지");
        SingleMessageSentResponse response = this.messageService.sendOne(new SingleMessageSendingRequest(message));
		System.out.println(response);
    }
}

5. 전송 결과

전송 결과를 출력해보면, 다 출력된다. 또는 홈페이지에서도 확인 할 수 있다.

  • 만약 부가서비스로, 도용문자차단서비스(?) 이런게 가입되어 있으면 보내지지 않는다고 한다.
  • 등록된 발신 번호로만 발송이 가능하다.

6. 마무리

  • https://github.com/coolsms/coolsms-java-examples 깃허브 들어가보면 예제 소스가 많아서, 보고 따라하면 쉽게 문자를 보낼 수 있다.
  • 대신 문자는 좀 비싸다. 건당 20원.
  • 카카오 알림톡도 보낼 수 있다. (대신 비즈니스 채널 등록이 되어야함)
profile
백엔드 개발자 전현준입니다.

0개의 댓글

관련 채용 정보