Twilio で SMS メッセージを送信する方法

Twilio とは?

Twilio は米国サンフランシスコに本社を置くクラウド・コミュニケーションプラットフォームを提供する会社です。 通話、テキストメッセージ、WebRTC などのプログラミング環境を提供しています。

ここでは Twilio の SMS API を Node.js から利用することで、JavaScript で SMS メッセージを送信する方法を説明します。

Twilio は従量課金のクラウドサービスで、開発には安価で利用できますが無料ではありません。料金等はご自身で確認してください。

Twilio の準備

Twilio アカウントの作成

Twilio の SMS プログラミング環境を利用するためには Twilio アカウントが必要です。アカウントをお持ちでない方は、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 メッセージの送信方法を説明しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Node.js 入門