
Node.jsでMMSメッセージを送信する方法
所要時間:1 分
Vonage Messages APIで米国からMMS (Multimedia Messaging Service) を送信できるようになりました。 10DLC番号、TFN番号、およびダッシュボードにあるショートコード番号から、米国内の他の番号にMMS(マルチメディアメッセージングサービス)を送信できるようになりました。
この記事では、公式の vonage-node-sdkクライアントライブラリを使います。
前提条件
作業を始める前に、以下のことを確認してください:
JavaScriptとNode.jsの基本的な理解。
マシンにインストールされているNode.js。
新鮮な米国SMS&MMS可能番号。当社の ナンバーズ・ガイドNumbersガイドをご参照ください。
注:MMSメッセージは、A2P(Applications to Person)ユースケースでのみ機能します。Vonage Messages APIを使用して、あるバーチャル番号から別のバーチャル番号にMMSメッセージを送信することはできません。
はじめに
始める前に、Vonageダッシュボードでいくつかのことを行い、成功するための準備をしましょう。
まずは新しいメッセージアプリケーションを作成しましょう。これを行うには、管理ダッシュボードの アプリケーションセクションをクリックします。 新しいアプリケーションを作成する.
Your applications page
次に、アプリケーション名と必要なウェブフックURLをフォームに入力する必要があります。
すべてのメッセージ・アプリケーションでは Status URLと Inbound URL.大規模で本番環境のアプリケーションでは、これらはあなた自身のサーバー上のURLを指すようになるでしょう。
このチュートリアルではその必要はありません。 200 OKステータスを返せるURLが必要です。このチュートリアルではその必要はありません。 モックビンまたは ngrokなどのサービスを使うことができる。
この例でMockBinを使うには、次のようにする:
をご覧ください。 モックビンにアクセスし、「Create Bin」と書かれた緑色のボタンをクリックしてください。
ビンビルダーで、ステータスコード200 OKというデフォルトの事前入力情報のままにしておき、一番下の「ビンの作成」をクリックします。
そうすると、https://mockbin.org/bin/2f27d0d5-6f2e-4a39-8dd5-918c4848a4c7/view のような URL が生成されます。このURLを/viewの前までコピーし、Vonage DashboardのMessages Capabilityの下のInbound URLとStatus URLの両方に以下の画像のように貼り付けます。
Message capability with added URLs
APIキーとAPIシークレットと一緒にAPIリクエストを認証するには、公開鍵と秘密鍵のペアが必要です。 公開鍵/秘密鍵ペアの生成リンクをクリックすると、自動的に生成されます。
Generate Public and Private Key
これにより、フォーム・フィールドに公開鍵が設定され、また private.keyファイルをあなたのマシンにダウンロードします。このファイルは、これから作成するディレクトリに置く必要があります。
をクリックして終了します。 新しいアプリケーションを作成する。次に、このアプリケーションで使用する番号を選択するよう求められます。 リンクボタンをクリックします。ダッシュボードに番号がない場合は、そこで購入するか、コマンドラインから Vonage CLI.
メモ アプリケーションID.これは、APIキー、APIシークレット、プライベート・キーと一緒に、次に作業するコードに含まれる。
Node.jsを使ってMMSを送信する
さて、管理画面が完成したので、Node.jsスクリプトを作成しましょう。 VonageサーバーSDK for Node.jsを使用して、実行時に事前に設定した番号にMMSを送信するNode.jsスクリプトを作成しましょう。
まず新しいフォルダを作成する(まだ作成していない場合は、その中に先ほど生成した private.keyファイルをその中に入れてください。
ターミナルから以下のコマンドを実行して、新しいNode.jsアプリケーションをセットアップし、プロジェクトの新しいフォルダ内に vonage-nodeクライアント・ライブラリをインストールします。
npm init -y
npm install -g @vonage/cli次に send-mms.jsという新しいファイルを作成し、エディターで開く。
新しいVonageインスタンスを初期化します:
const { Messages, MMSImage } = require("@vonage/messages");
const messageClient = new Messages({
apiKey: VONAGE_API_KEY, // Found in your Vonage Dashboard
apiSecret: VONAGE_API_SECRET, // Found in your Vonage Dashboard
applicationId: VONAGE_APPLICATION_ID, // Generated earlier
privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH // Generated earlier it could be e.g. ./private.key
});最後に、Messages APIを使ってMMSメッセージを送信するコードを追加する:
const image = new MMSImage({
image: {
url: "https://placekitten.com/200/30",
caption: "placeholder image"
},
to: "TO_NUMBER", // Add the phone number sending the message
from: "FROM_NUMBER", // Add the phone number receiving the nmessage
});
messageClient
.send(image)
.then((resp) => console.log(resp))
.catch((err) => console.error(error));
上記のコードでは、最初のオブジェクトに追加した番号に1つのメッセージ(猫の写真)を送信する。何らかの理由でメッセージの送信に失敗した場合、その問題はコンソールに記録されます。 messageUUIDが代わりに記録されます。
ノート:
'https://placekitten.com/200/300' は、使用可能なプレースホルダー画像です。
の値は
urlの値は、ファイルを解決する一般にアクセス可能なURLでなければならない。対応するファイルタイプは次のとおりです。
.jpg,.jpegおよび.png.
これで、選択したターミナルに向かい、実行する:
node send-mms.js これからの方向性
さまざまな理由で、MMSメッセージが受信者に届かないことがあります。 Dispatch APIを試してみて、MMSが配信されたかどうかをチェックするフェイルオーバー・メカニズムを構築することができます。
MMSで何を作っているか教えてください。
私たちの VonageコミュニティSlackまたは X(旧Twitter.