
1. Cool SMS 소개
국비학원다닐때 사용했던 문자 발송 API 🐣
만원만 충전해도 단문 문자(SMS) 500건을 보낼 수 있고, 처음 회원가입시엔 무료 문자 15건이 제공되서 저렴하게 쓰기 좋았다.

우측 하단에 단문문자(SMS) 발송이 건당 20원이라고 되어있다.
10,000 / 20 = 500 이니까, 만원충전시 문자 500번을 보낼 수 있다.
https://console.coolsms.co.kr/oauth2/login
console.coolsms.co.kr
2. API Key 발급하기
쿨에스엠에스 - API Key 관리 (coolsms.co.kr)
좌측 사이드바에 있는 " 개발 / 연동 " 을 클릭하고 API KEY 관리 메뉴를 선택.
그리고 새 API KEY 생성 버튼을 누르면 본인인증하라고 나오는데, 편한 방법으로 본인 인증해주면 된다.
나는 이메일 인증으로 했었다.
" API Key 발급 " 용어 설명
용어가 어려울 수 있지만, 음식 배달시킬때 필요한 집 주소 같은거라 생각하면 편하다.
배달 시킬때 집 주소가 필요한것처럼, 문자 발송같은 API 서비스를 사용하려면 API Key 라는게 필요하다.


✅
본인 인증이 완료되었다면

본인인증이 완료되었다면 API Key, API Secret 값이 무작위로 생성되었을것이다.
그렇다면, 벌써 60%는 성공한것이다 👏👏
" API Secret " 용어 설명
API Key는 음식을 배달받을 주소라고 했는데, 배달받을때 주소 뿐만 아니라 음식 값 지불이 필요하다.
이처럼 문자를 보낼때마다, 해당 유저의 돈을 빼가기위한 고유 식별번호가 API Secret 이라고 할 수 있다.
✔ 따라서, 외부로 노출되면 안된다
3. API 사용해보기
3.1. 디펜던시 추가
✅ pom.xml 파일이라면
<java />
<dependency>
<groupId>net.nurigo</groupId>
<artifactId>sdk</artifactId>
<version>4.3.0</version>
</dependency>
or
✅ build.gradle 파일이라면
<java />
implementation 'net.nurigo:sdk:4.3.0'
3.2. 컨트롤러 작성
클래스 이름은 ExampleController 라고 작명했다.
혹시라도 복붙할꺼라면, 첫번째 줄 제외하고 import 부터 복붙해주자.
혹시, 패키지 경로까지 복붙했는데, 복붙된 패키지 경로와 본인 패키지 경로가 서로 다르면 에러가 발생하기때문 ..
<java />
// 패키지는 본인 프로젝트에 있던거 그대로 쓰면 됩니다. package net.nurigo.mavenspringdemo;
import net.nurigo.sdk.NurigoApp;
import net.nurigo.sdk.message.exception.NurigoMessageNotReceivedException;
import net.nurigo.sdk.message.model.Balance;
import net.nurigo.sdk.message.model.Message;
import net.nurigo.sdk.message.model.StorageType;
import net.nurigo.sdk.message.request.MessageListRequest;
import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
import net.nurigo.sdk.message.response.MessageListResponse;
import net.nurigo.sdk.message.response.MultipleDetailMessageSentResponse;
import net.nurigo.sdk.message.response.SingleMessageSentResponse;
import net.nurigo.sdk.message.service.DefaultMessageService;
import org.springframework.core.io.ClassPathResource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.Controller;
import java.io.File;
import java.io.IOException;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@Controller
public class ExampleController {
final DefaultMessageService messageService;
public ExampleController() {
/*
#. INSERT_API_KEY, INSERT_API_SECRET_KEY 내용을 본인의 API 정보로 바꿔줘야한다 ★
INSERT_API_KEY = CoolSMS 사이트에서 본인인증해서 발급받았던 API Key
INSERT_API_SECRET_KEY = CoolSMS 사이트에서 본인인증해서 발급받았던 API Secret
*/
this.messageService = NurigoApp.INSTANCE.initialize("발급받은 API Key 입력", "여긴 API Secrect을 입력", "https://api.coolsms.co.kr");
}
/**
* 단일 메시지 발송 예제
*/
@GetMapping("/send-one") @ResponseBody
public SingleMessageSentResponse sendOne() {
Message message = new Message();
// 발신번호 및 수신번호는 반드시 01012345678 형태로 입력되어야 합니다.
message.setFrom("발신번호 입력");
message.setTo("수신번호 입력");
message.setText("한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 추가됩니다.");
SingleMessageSentResponse response = this.messageService.sendOne(new SingleMessageSendingRequest(message));
System.out.println(response);
return response;
}
}
다음 내용은 본인 정보로 바꿔주기 !
this.messageService = NurigoApp.INSTANCE.initialize("발급받은 API Key 입력","여긴 API Secrect을 입력","https://api.coolsms.co.kr");
3.3. 확인하기
디펜던시 추가, 컨트롤러에 본인 API Key 그리고 API Secret으로 수정하고 끝.
이제 매핑된 주소로 접속해보면 문자 발송이 되는걸 확인할 수 있다. 👏👏
만약 안되더라도, 아래 깃허브 내용을 참고하면 해결할 수 있을것이다.
4. API 사용 예제 ( Github )
깃허브 예제를 참고해보는 방법도 있다.
본인의 프로젝트 환경(gradel 혹은 maven)과 동일한 폴더를 참고하면 된다 : )
gradle, maven ..?
✅ 본인 프로젝트의 디펜던시를 담당하는 파일이 pom.xml 이다
👉 maven-spring-demo 폴더로
✅ 본인 프로젝트의 디펜던시를 담당하는 파일이 build.gradle 이다
👉 gradle-spring-demo 폴더로
* 보통 스프링의 경우 Maven, 스프링부트일땐 Gradle을 사용한다.

'🔨 Tool > Etc ..' 카테고리의 다른 글
KakaoDevelopers (0) | 2023.09.03 |
---|---|
주소 검색 API - DaumPostCode (0) | 2023.09.03 |
간편 결제 API - PortOne (0) | 2023.09.03 |
메일 발송 API - Java Mail Sender (0) | 2023.09.02 |
쓸만한 웹 에디터 추천 (0) | 2023.09.02 |