[NODE.JS] SMS API를 적용해보자 - COOLSMS

Develop2018. 11. 8. 13:01



내 서버에서 문자 메시지를 전송하려면 어떻게 해야 할까요? 바로 SMS API를 이용하면 편리하게 서버에서 문자메시지를 전송할 수 있습니다. SMS API는 여러 업체에서 제공을 하고 있습니다. 후이즈, 쿨에스엠에스 등 다양한 곳에서 문자메시지 API를 제공하는데요. 개인적으로 쿨에스엠에스(COOLSMS)를 추천드립니다. 이번에 개편되면서 속도 및 가격이 좋아지고, NODE.JS 지원으로 편리하고 빠르게 적용가능해졌습니다. 





COOLSMS(https://www.coolsms.co.kr/enter)는 기존 레거시 쿨에스엠에스 방식과 새로운 Message v4 서비스로 구분이 됩니다. 기존 쿨에스엠에스의 경우 다양한 SDK를 지원합니다. C/C++, JAVA, PYTHON 등 다양한 언어에 맞게 적용할 수 있는 특징이 있는 반면, 아직 구식인 REST API 지원과 가격이 조금 비쌉니다. 새로운 쿨에스엠에스의 경우 다양한 언어를 지원하지 않지만, 신식 REST API 지원과 가격이 저렴하고 속도가 빠르다는 점이 있습니다. 



기존 방식과 새로운 방식의 요금 차이 입니다. SMS의 경우 기존 13.67~18.18원에서 Message v4는 11원으로 가격차이가 있습니다. 대량 문자를 발송해야 하는 경우는 새로운 방식의 서비스가 유리해 보입니다. 





COOLSMS API 사용법




COOLSMS API 사용 준비

  1. COOLSMS 사이트 회원가입 (https://www.coolsms.co.kr/enter)
  2. COOLSMS 사이트 로그인
  3. API Key 관리에서 API Key 생성 
  4. 발신번호관리에서 발신번호 등록
  5. 준비 완료

(COOLSMS의 경우 회원가입 시 300캐시를 무료로 지급합니다. 이 캐시로 문자 전송 테스트를 하실 수 있습니다. )



COOLSMS NPM 설치

1
npm install coolsms-sdk-v4
cs


COOLSMS는 npm을 통해 설치합니다. (https://www.npmjs.com/package/coolsms-sdk-v4)

coolsms-sdk-v4에서 사용하는 모듈이 많아 빌드 시 에러가 발생 할 수 있습니다. 에러가 발생하면 필요로하는 모듈도 함께 설치 해줍니다. 



COOLSMS API 사용 (NODE.JS)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const { config, Group } = require('coolsms-sdk-v4');
const conf = require('../config/smsconfig');    // smsconfig.json
 
 
//////////////////////////////////////////////////////////////////////
// Cool SMS API 설정
//////////////////////////////////////////////////////////////////////
config.init({
    apiKey: conf.apiKey,
    apiSecret: conf.apiSecret
})
 
async function send (message, agent = {}) {
    try {
        var res = await Group.sendSimpleMessage(message, agent);
        return res; 
    } catch (e) {
        throw new Error(e);
    }
}
 
 
//////////////////////////////////////////////////////////////////////
// Cool SMS API 사용
//////////////////////////////////////////////////////////////////////
exports.sendSms = (req, res) => {
    const number = req.body.number;              // SMS 전송할 번호
    const message = req.body.message;            // SMS 전송할 메시지
    
    console.log(" > number: " + number);
    console.log(" > message: " + message);
 
    try {
        var res = send({
            to: number,
            text: message,
            type: conf.type,
            from: conf.from
        })
        console.log(res);
        res.json( {result: true} );
        
    } catch (e) {
        console.log(e);
        res.json( {result: false, message: 'sms transmission failed'} );
    }
};
 
cs


COOLSMS API 사용 방법입니다. COOLSMS에서 제공하는 기본 샘플 코드의 경우 에러 처리나 결과 처리에 대한 부분이 간소화 되어 있어 제가 사용하는 코드 스타일로 변경하였습니다. 



smsconfig.json 파일

1
2
3
4
5
6
7
{
    "apiKey""API Key 입력",
    "apiSecret""API Secret 입력",
    "from""등록된 발신번호 입력",
    "to""",
    "type""SMS"
}
cs


SMS 설정을 smsconfig.json로 별도 파일로 구성하고, 여기서 API Key와 API Secret, 등록한 발신번호를 관리해 주고 있습니다. 이 파일의 내용을 자신의 코드로 수정해주시면 됩니다. 이제 NODEJS를 실행하고 SMS 메시지 함수를 수행하게끔 하면 정상적으로 문자메시지가 발송 되는 것을 확인 하실 수 있습니다. 


작성자

Posted by GLORY PAPA

관련 글

댓글 영역