[Twilio+Node.js+AWS Lambda] SMS に自動返信する Web アプリケーションの作成

[Twilio+Node.js+AWS Lambda] SMS に自動返信する Web アプリケーションの作成

Twilio を使用して SMS に自動で返信する Web アプリケーションを Node.js+AWS Lambda で作成する手順について紹介します。
参考ページ: https://www.twilio.com/docs/messaging/tutorials/how-to-receive-and-reply/node-js

作業環境

バージョン

node: 22.13.1
npm: 10.9.2
node_modules/twilio: 5.4.5

動作概要

Twilio は SMS からメッセージを受け取ると、 Webhook に登録された Web アプリケーションに対して HTTP リクエストを送信します。 HTTP リクエストを受け取った Web アプリケーションは、 TwiML 形式で本文を書いたレスポンスを行うようにします。 Twilio はその本文の内容に従って送信元へ返信します。

overview

TwiML とは

Twilio 向けのマークアップ言語です。詳しくは こちら 。今回は次の内容で返信するアプリケーションを作成します。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message>これは自動返信メッセージです</Message>
</Response>

Web アプリケーションの作成

今回は AWS Lambda を使用してアプリケーションを作成しました。

index.js

const twilio = require("twilio");

exports.handler = async () => {
    const twiml = new twilio.twiml.MessagingResponse();
    twiml.message("これは自動返信メッセージです");

    return {
        statusCode: 200,
        headers: { "Content-Type": "text/xml" },
        body: twiml.toString(),
    };
};

Twilio に Webhook を設定

コンソール番号のページ にアクセスし、任意の番号の Messaging Configuration > A message comes in に、 Webhook として Web アプリケーションの URL を設定します。

Messaging Configuration

テスト送信

メールを送信して、自動で返信がくるのを確認しました。

test-auto-reply

おわりに

Twilio に用意された Webhook の仕組みを利用すれば、非常に簡単に自動返信機能を作成できることが分かりました。

前回、 Twilio API を使用して SMS 送信を行う方法については こちら
次回、 Twilio API を使用して AWS Lamnda 関数からの SMS 通知を自動配信する方法については こちら

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.