https://d226lax1qjow5r.cloudfront.net/blog/blogposts/receive-sms-messages-node-red-dr/receive-sms-node-red.png

Node-REDでSMSメッセージを受信する方法

最終更新日 May 14, 2021

所要時間:2 分

この記事は「NexmoとNode-REDを使い始める」チュートリアルの第2回目です。

前回の記事 前回の記事では、Vonage API アカウントと Node-RED エディタをセットアップし、 SMS メッセージを送信する方法を学び、配信レシートを処理する方法を学びました。今度は Node-RED を使って Webhook エンドポイントを実装し、SMS メッセージを受信する方法を学びましょう。

このフローは Node-REDライブラリを参照するか、それに従ってください!

前提条件

始める前に必要なものがいくつかある:

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

Webhookエンドポイントの定義

Vonage APIを使用してSMSメッセージを受信するには、WebhookエンドポイントをVonageからレンタルしたバーチャル番号に関連付ける必要があります。その番号へのインバウンドメッセージは、Webhookエンドポイントに送信されます。

まず、Node-REDエディターでこのWebhookエンドポイントを設定します。入力ノードを http入力ノードを http responseノードに接続します。 debugノードに接続し、デバッグ領域で受信メッセージを表示できるようにします。入力ノードで http入力ノードで GETMethodとして選択し URLフィールドに /inbound-sms.この http responseノードには 200と設定されているはずです。 Status codeと設定されているはずだが、これはデフォルト値なので気にする必要はない。

ローカルサーバーをインターネットに公開する

次に、Vonageがアクセスできるように、ローカルサーバーをインターネットに公開する必要があります。Node-REDをローカルマシンではなく公共のウェブサーバー上で実行している場合は、この段階をスキップすることができます。そうでなければ、次のようなトンネリングサービスを使うのが便利です。 ngrok.

ダウンロードをダウンロードし ngrokをダウンロードし、ターミナルで実行して、ポート 1880.

./ngrok http 1880

ngrok

エンドポイントの設定

最後のステップは、Vonage SMS APIに受信メッセージの転送先を知らせることです。ウェブフック・エンドポイントをバーチャル番号のひとつに関連付けます。 あなたの番号に進み、設定したい番号の横にある設定アイコンをクリックします。次に 受信ウェブフックURLフィールドに YOUR_NGROK_URL/inbound-smsSave changes.

Inbound webhook for number

これで、バーチャル番号にテキスト・メッセージを送ると、デバッグ・サイドバーにメッセージ・オブジェクトが表示されるはずだ。

sms debug

メッセージのペイロードには、いくつかの重要な値が含まれている:

KEY DESCRIPTION
msisdn Mobile Station International Subscriber Directory Number (MSISDN) is a number used to identify a mobile phone number internationally. In this case, this will be the sender's number in E.164 format. For example 447401234567.
to Your Nexmo number that the SMS was sent to, in E.164 format.
text The content of the received SMS message.
type The type of the message body received (text key). Possible values are text, unicode and binary.
keyword The first word in the message body. This is typically used with short codes.
message-timestamp The time when Nexmo started to push this Delivery Receipt to your webhook endpoint.

これらのパラメータの詳細については インバウンドSMS用Vonage APIリファレンス.

次のステップ

この時点では、デバッグエリアに受信メッセージを記録しているだけですが、可能性は無限大です。データベースに保存したり、転送したり、翻訳したり、投稿したり。

さらに一歩進んでみませんか?ご覧ください サムNexmoから連結されたSMSメッセージを受け取る.

リソース

別のチュートリアルを試す

シェア:

https://a.storyblok.com/f/270183/372x373/36054b72d0/julia-biro.png
Julia Biroデベロッパー・アドボケイト

Juliaは、チュートリアル、ガイド、実用的なリソースを作成することで、仲間の開発者に力を与えることに尽力しています。アウトリーチと教育のバックグラウンドを持つ彼女は、テクノロジーをより身近なものにし、開発者の経験全体を向上させることを目指しています。地域のコミュニティイベントでもよく見かける。