Twilio で SMS メッセージを送信する方法
Twilio とは?
Twilio は米国サンフランシスコに本社を置くクラウド・コミュニケーションプラットフォームを提供する会社です。 通話、テキストメッセージ、WebRTC などのプログラミング環境を提供しています。
ここでは Twilio の SMS API を Node.js から利用することで、JavaScript で SMS メッセージを送信する方法を説明します。
Twilio は従量課金のクラウドサービスで、開発には安価で利用できますが無料ではありません。料金等はご自身で確認してください。
Twilio の準備
Twilio アカウントの作成
Twilio の SMS プログラミング環境を利用するためには Twilio アカウントが必要です。アカウントをお持ちでない方は、Twilio のサイトで作成してください。
Twilio 電話番号の取得
プログラマブル SMS API を利用するには、まず Twilio 電話番号をひとつ取得する必要があります。(2021年2月現在 月額 $1)
好きな番号を探して購入します。今回は SMS メッセージの送信を行いますので、SMS オプションが有効であることを確認してください。
購入手続きを行うと直ちに SMS 用の電話番号が利用可能になります。
Messaging Service の作成
Twilio コンソールで Programmable Messaging を選択し、そこで Messaging Service を作成します。
ここでは My SMS Service という名前で作成しました。
Messaging Service の Sender Pool に、取得した Twilio 電話番号を割り当てます。
以上でコードを書く準備ができました。JavaScript のコードを書いていきましょう。
Node.js で SMS メッセージを送信する
Node.js プロジェクトの作成
ここでは sms1 という名前のプロジェクトを作ります。
mkdir sms1
cd sms1
npm init -y
twilio モジュールのインストール
npm install twilio
また、設定情報は環境変数に保存して使うので、ここでは dotenv を利用します。
npm install dotenv
Account SID と Auth Token の取得
Twilio コンソールの Settings > General に API クレデンシャルがあります。
この中から Account SID と Auth Token を .env ファイルにコピーします。
Service SID の取得
サービス SID (Service SID) は上で作成したメッセージングサービスから取得できます。
こちらも .env ファイルにコピーします。
.env ファイルでは、それぞれ次のように変数名を設定しました。
ACCOUNT_SID = '<アカウントSID>'
AUTH_TOKEN = '<Auth トークン>'
SERVICE_SID = '<サービスSID>'
Twilio を利用した SMS メッセージの送信
index.js として、次のコードを書きます。
require('dotenv').config()
const client = require('twilio')(
process.env.ACCOUNT_SID,
process.env.AUTH_TOKEN
)
client.messages
.create({
to: '<送信先電話番号>',
messagingServiceSid: process.env.SERVICE_SID,
body: 'This is a test message with Twilio.',
})
.then((message) => console.log(message))
.done()
index.js を実行します。
node index.js
SMS メッセージが送信され、ログが出力されることが確認できるはずです。
以上で Twilio を利用した SMS メッセージの送信方法を説明しました。