본문 바로가기
언어의 기초/자바(JAVA)

[coolsms] java로 문자 보내기

by 지에스정 2021. 12. 2.

 

 

API(Application Programming Interface)

 

자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들을 의미한다

JAVA 개발자들이 java에서 코딩을 쉽게 할 수 있도록 미리 만들어 놓은 것들

API 의 종류는 굉장히 많고 다양하기 때문에 모두 외우는 것은 절대 불가능하다

그렇기 때문에 처음 보는 API라도 설명과 이름, 매개변수 등을 잘 읽고 맞는 목적으로 잘 사용하는 방법을 알아야 한다

 


 

Coolsms

 

(주)누리고 라는 회사에서 주소록 기반의 카카오 알림톡 및 문자메시지 웹발송 지원해주는 서비스를 제공해준다

 

단 sms기준 건당 20포인트를 사용하기 때문에 유료결제를 해야한다( 첫 가입 시 공짜로 300 포인트를 제공해준다)

 

 

 

가입하기

 

 

회원가입을 누른 후 이메일로 가입을 하면 된다

 

본인이 사용하는 발신 번호와 API 키를 등록하게 되면 테스트 문자 발송할 수 있게 되고

 

테스트 문자 발송을 통해 메세지가 보내지는게 확인이 되면 가입이 잘 완료 되었다고 볼 수 있다

 


문자 보내기

 

가입 완료 후 개발자센터로 넘어와  api를 가져와 사용하기 위해서는 우선 sdk 다운로드를 클릭한다

 

그리고 JAVA용 sdk를 다운로드 받기위해 step2의 깃 링크로 들어간다

 

 

여기에서 source code를 다운 받으면 된다

 

 

압축을 풀면 두개의 jar파일이 나오며 이 두 파일을 이클립스에서 빌드 패스로 추가해주면 된다

 

빌드패스에서 configure build path를 눌러서 다음으로 넘어간 후

Libraries에서 Add External JARs를 눌러 두 파일을 추가해주면 된다

 

 

Examples 페이지로 이동해서 문자 예제를 복사해서 아래와 같이 사용 하면 된다.

 

package api;

import java.util.HashMap;
import java.util.Random;
import java.util.Scanner;

import org.json.simple.JSONObject;
import net.nurigo.java_sdk.api.Message;
import net.nurigo.java_sdk.exceptions.CoolsmsException;


public class SMSTest {
	public static void main(String[] args) {
		String api_key = "api-key";
	    String api_secret = "api-secret";
	    Message coolsms = new Message(api_key, api_secret);

	    // 4 params(to, from, type, text) are mandatory. must be filled
	    HashMap<String, String> params = new HashMap<String, String>();
	    params.put("to", "01000000000");
	    params.put("from", "01000000000");
	    params.put("type", "SMS");
        params.put("text", "보내고자 하는 메세지");
	    params.put("app_version", "test app 1.2"); // application name and version
	    
	    Random r = new Random();
	    Scanner sc = new Scanner(System.in);
	    String source = "abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789";
	    int len = source.length();
	    r.nextInt(len);
	    String result = "";
	    for (int i = 0; i < 5; i++) {
	    	int idx = r.nextInt(len);
			result += source.charAt(idx);
		}
	    params.put("text","아래코드를 입력하세요\n" + result);
	    
	    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());
	    }
	    
	    System.out.println("발송코드 :" );
	    String answer = sc.next();
	    
	    if(answer.equals(result)) {
	    	System.out.println("가입 성공!");
	    }else {
	    	System.out.println("가입 실패 !");
	    }
	}
}

api-key와 api-secret을 부분에 입력하고 , params 부분에 to / from 에는 받는 사람과 보내는 사람의 전화번호를 입력하고

text 부분에 보내고자 하는 메세지를 입력하면 된다.