오늘날의 상호 연결된 세계에서 의사소통은 핵심이며, 가장 보편적인 의사소통 형태 중 하나는 겸손한 문자 메시지입니다. 알림, 경고 또는 프로모션 메시지를 보내는 것과 관계없이, SMS (단문 메시지 서비스) 메시지를 프로그래밍적으로 보낼 수 있는 능력은 개발자들에게 무한한 가능성을 열어줍니다. Twilio에 오신 것을 환영합니다. 이는 개발자들이 애플리케이션에 SMS 기능을 원활하게 통합할 수 있도록 지원하는 클라우드 통신 플랫폼입니다.
소개:
이 튜토리얼에서는 Twilio의 힘과 Node.js의 유연성을 활용하여 SMS 메시지를 손쉽게 보내는 방법을 살펴보겠습니다. 비차단 I/O 모델과 다양한 패키지 생태계를 가진 Node.js는 확장 가능하고 효율적인 애플리케이션을 구축하는 데 이상적인 환경을 제공하며, Twilio는 SMS 메시지를 보내고 받는 것을 단순화하고, 배달을 처리하며, 전화번호를 관리합니다.
알림 시스템을 개발하든, 고객 지원 챗봇을 구축하든, 단순히 애플리케이션에 SMS 기능을 통합하든, 이 튜토리얼은 단계별로 프로세스를 안내할 것입니다. 마지막에는 Twilio의 API를 Node.js와 함께 활용하여 SMS 메시지를 신뢰할 수 있고 안전하게 보내는 방법에 대한 확고한 이해를 하게 될 것입니다.
그렇다면, 시작하여 Twilio의 SMS 기능으로 Node.js 애플리케이션을 강력하게 만드는 방법을 배워보겠습니다!
Twilio 계정 설정:
Twilio와 Node.js로 SMS 메시지를 보내기 전에, 첫 번째 단계는 Twilio 계정을 설정하는 것입니다.
Twilio는 무료 번호를 사용하여 SMS를 보내는 모든 서비스와 함께 시험할 수 있는 무료 체험을 제공합니다.
시작하려면 무료 계정에 가입하세요.
Twilio 무료 계정 가입:
Twilio 웹사이트(https://www.twilio.com/)로 이동하여, 아직 계정이 없다면 새 계정에 가입하세요. 가입 절차는 간단하며 이메일 주소, 전체 이름 및 비밀번호와 같은 기본 정보만 필요합니다.
이메일 주소 확인:
Twilio에 따르면
이 확인은 Twilio 플랫폼의 오용을 예방하고 통신 규정을 준수하도록 보장하는 데 도움이 됩니다.
가입 후, Twilio는 등록 중 제공한 이메일 주소로 확인 이메일을 보냅니다. 이메일의 확인 링크를 클릭하여 이메일 주소를 확인하고 Twilio 계정을 활성화하세요.
전화번호 확인:
이 과정은 Twilio가 귀하의 신원을 확인하는 데 도움이 되며, 시험 모드에서 Twilio 계정에서 귀하의 전화로 테스트 메시지를 보낼 수 있도록 해줍니다.
이메일을 확인한 후, 전화번호를 확인하라는 메시지가 표시됩니다. Twilio는 귀하의 I.P.를 사용하여 귀하의 위치를 자동으로 감지합니다. 확인할 수 있는 번호로 계정을 생성하는 것이 중요합니다.
Twilio 대시보드에 접근:
계정이 확인되면 Twilio 계정에 로그인하여 Twilio 콘솔에 접근하세요. 콘솔은 Twilio 서비스, 전화번호 및 API 자격 증명을 관리하는 곳입니다.
Twilio API 자격 증명 얻기:
Twilio 콘솔에서 "대시보드" 또는 "설정" 섹션으로 이동하여 귀하의 계정 SID와 인증 토큰을 찾으세요. 이 자격 증명은 Twilio API와 상호작용할 때 요청을 인증하는 데 필수적입니다.
- 계정 SID (Account Identifier): 이는 귀하의 Twilio 계정에 대한 고유 식별자입니다. API 요청을 할 때 사용자 이름으로 작용합니다.
- 인증 토큰 (Authentication Token): 이 토큰은 API 요청을 인증하기 위한 비밀번호 역할을 합니다. 안전하게 보관하고 공개적으로 공유하지 마세요.
- Twilio 전화번호: 이 전화번호는 SMS를 보내는 데 사용합니다. 귀하의 전화번호가 아닙니다.
이 단계를 완료하면 Twilio 계정을 성공적으로 설정하고, API 자격 증명을 얻고, SMS 메시지를 위한 전화번호를 확보한 것입니다. 이제 Twilio를 Node.js 애플리케이션과 통합하고 SMS 메시지를 프로그래밍적으로 보내는 준비가 완료되었습니다.
참고: 무료 체험 계정이 만료되면, SMS를 보내기 위해 사용할 번호를 구매해야 합니다.
테스트를 위해 전화번호를 구매하고 싶지 않다면, SMS를 보낼 준비가 되었을 때만 계정을 생성하세요.
의존성 설치:
Twilio의 SMS 기능을 Node.js 애플리케이션에 통합하려면 새 Node.js 프로젝트를 설정하고 Twilio Node.js SDK를 설치해야 합니다.
의존성 설치를 진행하기 전에, UI를 사용하거나 이 테스트를 위해 프론트엔드 애플리케이션을 구축하지 않을 것임을 알아두세요. 그러나 이 테스트를 위해, Apidog, Postman의 더 나은 대안을 사용하겠습니다.
Apidog는 API 디자인, 디버깅, 개발, 모의 및 테스트를 위한 통합 플랫폼입니다.
Apidog이 무엇인지 그리고 최대한 활용하기 위해 어떻게 사용하는지에 대한 유용한 가이드입니다. API 테스트 단계에 대비하여 계정을 생성하세요.
이제 Node.Js와 Twilio 설정으로 돌아갑니다. 시작하기 위해 다음 단계를 따르세요:
새 Node.js 프로젝트 설정:
아직 하지 않았다면, Node.js 프로젝트를 위한 새 디렉토리를 만들고 터미널 또는 명령 프롬프트를 사용하여 해당 디렉토리로 이동하세요.
mkdir twilio-sms-demo
cd twilio-sms-demo
Node.js 프로젝트 초기화:
다음 명령을 사용하여 새 Node.js 프로젝트를 초기화하세요. 이 명령은 프로젝트의 의존성을 추적하는 package.json
파일을 생성합니다.
npm init -y
이 명령은 기본 값으로 package.json
파일을 생성합니다. 필요한 경우 이러한 값을 사용자 지정할 수 있습니다.
Twilio Node.js SDK 설치:
이제 Twilio의 API와 상호작용하기 위한 편리한 인터페이스를 제공하는 Twilio Node.js SDK를 설치해야 합니다. npm 또는 yarn을 사용하여 SDK를 설치할 수 있습니다.
npm 사용:
다음 명령을 실행하여 Twilio Node.js SDK와 Express 프레임워크를 함께 설치하세요:
npm install express twilio
yarn 사용:
yarn 사용을 선호하신다면 대신 다음 명령을 실행하세요:
yarn add express twilio
이 명령은 Twilio Node.js SDK와 Express 프레임워크를 다운로드하고 package.json
파일의 의존성으로 추가합니다.
모르시는 분들을 위해, Express는node.js 프레임워크로 API를 쉽게 구축할 수 있습니다.
설치 확인:
Twilio SDK를 설치한 후, package.json
파일에 추가되었는지 확인하세요. "twilio": "^x.x.x"
가 dependencies
섹션에 나와야 합니다.
또한, node_modules
디렉토리가 프로젝트에 존재하는지 확인하여 설치가 성공적으로 이루어졌는지 확인할 수 있습니다. 이 디렉토리에는 설치된 모든 의존성, Twilio SDK가 포함되어 있습니다.
이 단계를 따르면, 새로운 Node.js 프로젝트를 성공적으로 설정하고 Twilio Node.js SDK를 설치하여 Twilio의 SMS 기능을 애플리케이션에 통합할 수 있는 길이 열립니다. 이제 Twilio를 사용하여 SMS 메시지를 보내기 위한 코드를 작성할 준비가 되었습니다.
Node.js 코드 작성:
Node.js 프로젝트를 설정하고 Twilio SDK를 설치했으니, 이제 Twilio와 Express를 결합하여 SMS 메시지를 보내는 코드를 작성해 보겠습니다.
새 JavaScript 파일 생성:
프로젝트 디렉토리에서 index.js
라는 이름의 새로운 JavaScript 파일을 만들어 SMS 메시지를 보내는 코드를 작성합니다.
touch index.js
완료되면, 원하는 IDE에서 프로젝트 디렉토리를 열어보세요. 단순함을 중시하는 분이라면 아마도 VsCode가 설치되어 있을 것입니다. 프로젝트를 열면 아래와 비슷한 화면이 보일 것입니다;
index.js
파일을 열고 코드를 작성해 보겠습니다. 다음 코드를 index.js
파일에 붙여넣으세요.
const express = require('express');
const accountSid = "your_account_sid";
const authToken = "your_auth_token";
const client = require('twilio')(accountSid, authToken);
위 코드에서는 파일 맨 앞에서 express
모듈을 가져옵니다. 또한, accountSid
및 authToken
을 보관하는 두 개의 상수( const
)를 생성했습니다. 마지막으로, Twilio 모듈을 가져오고 accountSid
및 authToken
을 전달하여 또 다른 상수를 정의했습니다.
일부 사람들은 계정 SID와 AuthToken을 .env
파일에 감싸는 것이 가장 좋다고 주장할 수 있습니다. 원하신다면 그렇게 하셔도 되지만, 저는 여기서는 간단하게 유지하겠습니다.
SMS 메시지를 보내기 위한 코드 작성:
이제 Twilio의 messages.create()
메서드를 사용하여 SMS 메시지를 보내는 코드를 작성해 보겠습니다.
index.js 파일에서, 먼저 작성한 내용을 아래에 다음 코드를 추가하세요.
const app = express()
app.post('/send-sms', (req, res) => {
client.messages
.create({
body: 'Twilio에서의 테스트 SMS 수신이 이렇습니다. 시작해볼까요?',
from: '+122345678', // 국가 코드와 함께 귀하의 Twilio 전화번호로 교체합니다.
to: '+123456789' // 귀하의 계정을 확인한 전화번호입니다.
})
.then(message => {
console.log('전송된 메시지:', message.sid);
res.send('SMS가 성공적으로 전송되었습니다!');
})
.catch(error => {
console.error('SMS 전송 오류:', error);
res.status(500).send('SMS 전송 실패');
});
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`서버가 포트 ${PORT}에서 실행 중입니다.`);
});
이 코드에서는:
- Express 애플리케이션을 만들고 SMS 메시지를 보내기 위해
/send-sms
라는 POST 라우트를 정의합니다. - 그런 다음 Twilio 자격 증명으로 Twilio 클라이언트를 초기화합니다.
- Twilio 클라이언트를 사용하여 제공된 메시지 본문(
body
)과 함께 지정된 수신자 전화번호(to
)로 SMS 메시지를 보냅니다.
그게 전부입니다! 이제 Twilio와 Express를 사용하여 SMS 메시지를 보내는 Node.js 코드를 작성했습니다. 'from'
및 'to'
를 귀하의 Twilio 전화번호와 확인된 전화번호로 교체하는 것을 잊지 마세요.
파일을 저장하고 터미널을 열어 node index.js
를 입력하고 Enter를 누르세요. 모든 것이 잘 진행되면, 아래와 유사한 내용을 볼 수 있을 것입니다;
API 테스트:
기억하시겠지만, 우리는 API가 예상대로 작동하는지 확인하기 위해 Apidog을 사용할 것이라고 언급했습니다. 따라서 API를 테스트하기 위해 Apidog를 다운로드하거나 웹 버전을 사용하세요.
다시 한번, Apidog 사용을 시작하는 방법을 보여주는 가이드입니다.
이제 Apidog에 익숙해졌으니 로그인하여 첫 번째 프로젝트를 생성하거나 자동으로 만들어진 기본 프로젝트를 사용하세요. 그 다음 "새 요청"을 클릭하세요.
그 후 요청을 보내는 페이지가 표시됩니다.
지금 localhost:3000/send-sms
에 POST
요청을 보내고 있는 것을 볼 수 있으며, 이는 우리가 웹 앱에서 정의한 경로가 /send-sms
이고 로컬 머신을 사용하고 있기 때문입니다.
올바른 경로를 입력하고 오른쪽 상단의 전송 버튼을 클릭하면 응답을 받을 수 있습니다. 제 경우에는 오류가 발생했습니다 - 오류가 터미널
에 로그로 기록되었습니다.
그 오류는 간단했습니다. SMS를 보내려 한 전화번호가 확인되지 않았습니다 - 제가 체험 계정을 사용하기 때문에, 번호를 확인하거나 SMS를 보내기 위해 업그레이드해야 하며, 다른 전화번호로 발송할 수 있습니다.
Twilio의 멋진 기능 중 하나는 로그와 히스토리를 볼 수 있습니다. 저는 제 로그를 확인했으며, 다음과 같은 응답을 받았습니다;
모든 테스트 API가 실패했습니다. 왜 그런지 추측할 수 있나요?
제 to phone number
가 확인되지 않았습니다;
귀하의 계정을 확인하거나 유료 계정으로 업그레이드하면 SMS를 받을 수 있습니다.
애플리케이션 향상 (선택적):
Twilio와 Node.js를 사용하여 SMS 메시지 전송을 성공적으로 구현한 후, 추가 기능을 탐색하고 애플리케이션의 신뢰성을 향상시킬 수 있습니다. 고려할 수 있는 몇 가지 선택적 향상 사항은 다음과 같습니다:
추가 Twilio 기능 탐색:
Twilio는 단순한 SMS 메시지 전송을 넘어 다양한 기능을 제공합니다. 다음과 같은 기능을 탐색할 수 있습니다:
- MMS 전송: 이미지, 비디오 및 오디오 파일과 같은 멀티미디어 콘텐츠를 전송하여 메시지를 향상시키세요.
- 메시지 예약: 특정 날짜와 시간에 SMS 메시지를 예약하여 알림 및 공지에 적합합니다.
결론:
이 튜토리얼에서 우리는 Twilio의 SMS 기능을 Node.js와 통합하여 애플리케이션에서 SMS 메시지를 프로그래밍적으로 보낼 수 있도록 하는 방법을 살펴보았습니다. 주요 단계를 요약해 보겠습니다:
Twilio 계정 설정: Twilio 계정에 가입하고 API 자격 증명을 얻고(SID 및 인증 토큰) SMS 전송을 위해 전화번호를 확인하세요.
의존성 설치: 새 Node.js 프로젝트를 설정하고 Twilio Node.js SDK를 설치하고 자격 증명으로 Twilio를 구성하세요.
Node.js 코드 작성: SMS 메시지를 전송하기 위한 새 JavaScript 파일을 만들고 Express 및 Twilio 모듈을 가져오고, Twilio의 messages.create()
메서드를 사용하여 SMS 메시지를 보내는 코드를 작성하세요.
Apidog을 사용하여 코드 테스트: Apidog과 같은 개발 도구를 사용하여 Node.js API를 쉽게 테스트하는 방법을 살펴보았습니다.
이 단계를 따르면 Twilio의 강력한 API와 Node.js의 유연성을 활용하여 애플리케이션에 SMS 기능을 통합하는 방법을 배울 수 있습니다. 프로젝트를 계속 개발하면서 Twilio의 추가 기능을 탐색하고, 사용자의 특정 요구에 맞게 애플리케이션을 사용자 정의하는 것을 주저하지 마세요.
행복한 코딩 되세요!