Vonage API를 사용하여 Node.js로 SMS 메시지 보내기
Vonage API를 사용하여 Node.js로 SMS 메시지 보내기
Clone the Source Code on Github
Vonage는 뉴저지에 본사를 둔 미국의 통신 회사입니다.
이 회사는 상장된 비즈니스 클라우드 기반 통신 제공업체입니다.
Vonage는 API 게이트웨이를 통해 SMS, MMS, 음성 및 비디오 스트리밍 서비스를 제공합니다.
Vonage의 SMS API를 사용하면 다음을 사용하여 전 세계 사용자와 문자 메시지를 주고받을 수 있습니다features.
이 프로젝트의 목표는 Vonage SMS API를 사용하는 간단한 Nodejs RESE API를 만드는 것입니다.
1단계: 프로젝트 초기화
프로젝트 폴더에서 Nodejs 프로젝트를 초기화하여 시작하고 작업 디렉터리에 Node.js용 Vonage Server SDK를 설치합니다.
또한 환경 바이러스를 위한 ExpressJs 프레임워크 및 DotEnv를 설치하십시오.
$ npm init -y
$ npm install @vonage/server-sdk --save
$ npm i dotenv express
package.json
는 다음과 유사합니다.{
"name": "vonage-sms",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@vonage/server-sdk": "^2.11.1",
"dotenv": "^16.0.1",
"express": "^4.18.1"
},
"type": "module"
}
가져오기 문을 사용할 수 있도록 package.json 파일에 "type": "module"을 추가합니다.
2단계: 두 개의 파일 만들기
lib.js
및 index.js
는 아래와 같습니다.lib.js
: API 자격 증명으로 Vonage 인스턴스를 초기화하는 sendSms
함수용 라이브러리 파일// lib.js
import Vonage from "@vonage/server-sdk";
import 'dotenv/config'
const vonage = new Vonage({
apiKey: process.env.VONAGE_API_KEY,
apiSecret: process.env.VONAGE_API_SECRET,
});
const sender = process.env.VONAGE_VIRTUAL_NUMBER;
export const sendSms = (recipient, message) => {
return new Promise((resolve, reject) => {
console.log("Initial");
vonage.message.sendSms(sender, recipient, message, (err, responseData) => {
if (err) {
console.log(err);
reject(err.message)
} else {
if (responseData.messages[0]["status"] === "0") {
console.dir(responseData);
resolve(responseData);
} else {
console.log(
`Message failed with error: ${responseData.messages[0]["error-text"]}`
);
reject(`${responseData.messages[0]["error-text"]}`);
}
}
}
)
})
};
index.js
: 응용 프로그램의 기본(진입) 지점입니다.// index.js
import express from "express";
import 'dotenv/config'
import { sendSms } from "./lib.js";
const PORT = process.env.PORT;
const { json, urlencoded } = express;
const app = express();
app.use(json());
app.use(
urlencoded({
extended: true,
})
);
app.post('/send', (req, res) => {
const { phone, message } = req.body;
sendSms(phone, message)
.then((data) => res.json({ success: true, data }))
.catch((err) => res.json({ success: false, message: err }));
});
app.listen(PORT, () => {
console.log(`Server listening at http://localhost:${PORT}`);
});
3단계: Vonage API 자격 증명 가져오기 및 설정
다음으로 Vonage API account 이 필요합니다. 아직 계정이 없다면 약 2$의 무료 크레딧으로 가입하고 구축을 시작할 수 있습니다.
VonageDashboard에서 API 키와 암호를 찾아
.env
의 환경 변수에 할당합니다.PORT=3000
VONAGE_VIRTUAL_NUMBER=GIFTI
VONAGE_API_KEY=abc123
VONAGE_API_SECRET=P1Qxyz000000
4단계: 발신자 가상 번호 구성 또는 수신자 테스트 번호 등록
전화번호를 받으려면 여기를 클릭하세요.
Dashboard
로 이동Number
을 클릭한 다음 Your Numbers
를 클릭합니다.여기에서 가상 전화번호를 관리하고 설정을 구성할 수 있습니다.
단, 신규 가입 사용자의 경우 유료 계정으로 업그레이드한 이후에만 번호를 추가로 구매할 수 있기 때문에 테스트 번호만 사용할 수 있습니다.
테스트 번호를 받으려면 여기를 클릭하십시오.
첫 번째 결제를 통해 계정을 업그레이드할 때까지 이 번호로만 메시지를 보낼 수 있습니다.
일회용에 하나 이상의 전화 번호를 추가하십시오. Vonage는 SMS 또는 음성 메시지를 통해 인증 코드를 전송합니다.
5단계: 마지막으로 nodejs 익스프레스 애플리케이션 실행
Postman, Insomnia 또는 기타 http 클라이언트를 열고 서버에 게시
http://localhost:3000/send
POST 요청:
{
"phone": "+234 test-phone",
"message": "Hi Developer, testing for Vonage"
}
POST 응답:
{
"success": true,
"data": {
"messages": [
{
"to": "234-test-phone",
"message-id": "866cf22f-c55f-482b-81ba-faa02c69578e",
"status": "0",
"remaining-balance": "1.71020000",
"message-price": "0.09660000",
"network": "62130"
}
],
"message-count": "1"
}
}
오류 메시지가 표시되는 경우
Non-Whitelisted Destination. Your Vonage account is still in demo mode. While in demo mode you must add target numbers to your whitelisted destination list.
그런 다음 4단계에서 설명한 대로 수신자 전화번호가 테스트 전화번호로 등록되어 있는지 확인해야 합니다.
Reference
이 문제에 관하여(Vonage API를 사용하여 Node.js로 SMS 메시지 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nditah/send-sms-messages-with-nodejs-using-the-vonage-api-208f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)