민우의 코딩일지
article thumbnail
Published 2023. 9. 2. 22:32
문자 발송 API - Cool SMS 🔨 Tool/Etc ..

 

 

 

Cool SMS 소개

국비학원다닐때 사용했던 문자 발송 API 🐣

만원만 충전해도 단문 문자(SMS) 500건을 보낼 수 있고, 처음 회원가입시엔 무료 문자 15건이 제공되서 저렴하게 쓰기 좋았다.

더보기

 

우측 하단에 단문문자(SMS) 발송이 건당 20원이라고 되어있다.

10,000 / 20 = 500 이니까,  만원충전시 문자 500번을 보낼 수 있다.

 

 

 

📃 쿨에스엠에스 사이트 방문

 

https://console.coolsms.co.kr/oauth2/login

 

console.coolsms.co.kr

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

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 이라고 할 수 있다.

✔ 따라서, 외부로 노출되면 안된다 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

API 사용해보기

 

 

 

 

디펜던시 추가

 

✅ pom.xml 파일이라면

<dependency>
    <groupId>net.nurigo</groupId>
    <artifactId>sdk</artifactId>
    <version>4.3.0</version>
</dependency>

 

 

or

 

 

 

✅ build.gradle 파일이라면

implementation 'net.nurigo:sdk:4.3.0'

 

 

 

 

 

 

 

 

컨트롤러 작성

클래스 이름은 ExampleController 라고 작명했다.

혹시라도 복붙할꺼라면,  첫번째 줄 제외하고 import 부터 복붙해주자.

혹시, 패키지 경로까지 복붙했는데,  복붙된 패키지 경로와 본인 패키지 경로가 서로 다르면 에러가 발생하기때문 ..

 

 

 

// 패키지는 본인 프로젝트에 있던거 그대로 쓰면 됩니다.  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");

 

 

 

 

 

 

 

 

 

확인하기

 

 

디펜던시 추가,  컨트롤러에 본인 API Key 그리고 API Secret으로 수정하고 끝.

이제 매핑된 주소로 접속해보면 문자 발송이 되는걸 확인할 수 있다. 👏👏

만약 안되더라도,  아래 깃허브 내용을 참고하면 해결할 수 있을것이다.

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

API 사용 예제 ( Github )

 

 

깃허브 예제를 참고해보는 방법도 있다.

본인의 프로젝트 환경(gradel 혹은 maven)과 동일한 폴더를 참고하면 된다 : )

 

gradle,  maven ..? 

✅ 본인 프로젝트의 디펜던시를 담당하는 파일이 pom.xml 이다 
  👉 maven-spring-demo 폴더로

✅ 본인 프로젝트의 디펜던시를 담당하는 파일이 build.gradle 이다
  👉 gradle-spring-demo 폴더로

* 보통 스프링의 경우 Maven,  스프링부트일땐 Gradle을 사용한다.

 

 

 

 

 

📁 Cool SMS 깃허브 주소

 

클릭시 해당 주소로 이동합니다

 

 

 

 

 

 

 

 

 

'🔨 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