![[Twilio+Node.js+AWS Lambda] SMS に自動返信する Web アプリケーションの作成](https://images.ctfassets.net/ct0aopd36mqt/wp-thumbnail-3f316c20ff5f4f46d1a005e2ad976882/c71162912c717bb0ca7c9b4196a40df5/twilio.png)
[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 はその本文の内容に従って送信元へ返信します。
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 を設定します。
テスト送信
メールを送信して、自動で返信がくるのを確認しました。
おわりに
Twilio に用意された Webhook の仕組みを利用すれば、非常に簡単に自動返信機能を作成できることが分かりました。
前回、 Twilio API を使用して SMS 送信を行う方法については こちら 。
次回、 Twilio API を使用して AWS Lamnda 関数からの SMS 通知を自動配信する方法については こちら 。