手順2: アプリケーションからSMSを送信

この手順ではアプリケーションから検証済みの自分の番号にSMSを送信するコードを実装します。

1-1: ヘルパーライブラリの初期化

sendSms.jsを開きます。このファイルにはいくつかのコードが既に実装されています。これは先ほどの.envファイルから環境変数を取得し、その存在を判定しています。

'use strict';
require('dotenv').config();

// 環境変数から値を取得
const { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN,
        TWILIO_MESSAGING_SERVICE_SID,
        MY_PHONE_NUMBER } = process.env;


if (TWILIO_ACCOUNT_SID && TWILIO_AUTH_TOKEN && 
    TWILIO_MESSAGING_SERVICE_SID && MY_PHONE_NUMBER) {
        // ここからコードを記述

} else {
    console.error('いくつかの情報が環境変数に未入力です。')
}

// ここからコードを記述というコメントの後でヘルパーライブラリを初期化します。この際、先ほど環境変数に設定したAccount SidおよびAuth Tokenを使用します。

// ...省略

if (TWILIO_ACCOUNT_SID && TWILIO_AUTH_TOKEN && 
    TWILIO_MESSAGING_SERVICE_SID && MY_PHONE_NUMBER) {
        // ここからコードを記述
        // ヘルパーライブラリを初期化
        const twilio = require('twilio');
        const client = new twilio(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);

} 

// ...省略

2-2: SMSを送信

初期化したヘルパーライブラリを用いて登録済みの電話番号にSMSを送信するため次のコードを追加します。


// ...省略

if (TWILIO_ACCOUNT_SID && TWILIO_AUTH_TOKEN && 
    TWILIO_MESSAGING_SERVICE_SID && MY_PHONE_NUMBER) {
        // ここからコードを記述
        // ヘルパーライブラリを初期化
        const twilio = require('twilio');
        const client = new twilio(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);

        // SMSを送信
        client.messages.create({
            messagingServiceSid : TWILIO_MESSAGING_SERVICE_SID,
            to: MY_PHONE_NUMBER,
            body: 'Node.jsからメッセージを送信しています。'
        })
        .then(message => console.log(message.sid)
        .error(err => console.error(err)));

} 
// 省略

2-3: コードをテスト

次のコマンドを実行し、実際にSMSが送信されるかを確認します。

node sendSms.js

メッセージが届いていることを確認します。


メッセージングサービスについて

Twilio Nodeヘルパーライブラリを用いてSMSを送信する場合、メッセージングサービス経由ではなく、特定のTwilio番号からも送信できます。

// SMSをTwilio番号から送信する場合
client.messages.create({
    from : 'Twilio番号(E.164フォーマット)',
    to: MY_PHONE_NUMBER,
    body: '単独のTwilio番号からメッセージを送信しています。'
})
.then(message => console.log(message.sid)
.error(err => console.error(err)));

この場合、常に送信元の番号は1つに固定できますが、同時にメッセージ送信数の制限も考慮する必要があります。

例えば今回のように米国番号を用いて日本の番号にSMSを送信する場合、1秒間あたり10通という送信制限が設定されています。開発時やテスト時には十分ですが、送信先が大量になった場合は送信時間が膨大となります。

メッセージングサービスには複数のTwilio番号を登録できるため大量送信する場合やサービスが各国に跨がる場合は、複数のTwilio番号を1つのメッセージングサービスに登録し制限を回避できます。


これでアプリケーションからSMSを送信できました。この仕組みを応用し、ご自身のアプリケーションから通知や連絡を行えます。

次の手順

次のハンズオンでは現実の利用シナリオに近づけるため、ノーコードツールであるTwilio Studioを用いて、自動音声応答を作成し、その後お礼のメッセージを送るしくみを実装します。

ハンズオン: 自動音声応答でSMSを送信