https://d226lax1qjow5r.cloudfront.net/blog/blogposts/send-a-viber-message-with-node-dr/Blog_Viber_Node-js_1200x600.png

Node.jsでViberメッセージを送信する方法

最終更新日 April 29, 2021

所要時間:1 分

Viberがデフォルトのメッセージング・プラットフォームである国にいるあなたやあなたの顧客は、あなたの組織でもこのサービスを使ってコミュニケーションができるようにしたいと思うでしょう。テキストメッセージを介してコアな作業を実行したり、単に通知を送信したい場合があります。どのような複雑さであっても、Node.js アプリに Viber 通信を追加できます。Viber ビジネスプロファイルを申請せずに Viber ビジネスプロファイルを使用することができます。 VonageのViberサンドボックス.

前提条件

この例では、軽量な axiosクライアントを使ってPOSTリクエストを行います。それ以外の必要なものはすべて、サンドボックス経由で Messages API からアクセスできます。つまり、必要なのは

  • ノードと npm

  • ホワイトリスト Viberでテストするための番号

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.

サンドボックスの設定

まだの場合は、次の場所に移動してください。 メッセージとディスパッチ > サンドボックスに移動してサンドボックスを設定します。最も簡単な方法は、Viberがインストールされたデバイスを取り、付属のQRコードにカメラを合わせることです。生成されたカスタムメッセージを送信すると、あなたの番号がホワイトリストに登録されます。QRコードがあなたのセットアップで動作しない場合は、電子メールでホワイトリストに参加することもできます。

アクシオスの設定

axiosはほとんどそのまま使えますが、インストールする必要があります。新しいディレクトリか実験に使うディレクトリに app.jsという名前のファイルを新しいディレクトリか実験に使うディレクトリに作成します。同じディレクトリにaxiosをインストールします:

> npm install axios -s

でコードを開始します。 app.jsでコードを開始します:

const axios = require('axios');

データの提供

提供する必要があるデータはすべて、ダッシュボードのcURLコマンドで確認できます。ユーザー名とパスワード、メッセージを送信する Viber ID、メッセージを送信するホワイトリストの番号が必要です。

フラグの後に続くマスクされた値からユーザー名とパスワードをコピーできる。 -uフラグの後に続くマスクされた値からコピーできます。また、ダッシュボードの「Getting Started」ページからもコピーできます。また、ダッシュボードの「Getting Starting」ページからもコピーできる。from IDはcURLコマンドにも表示されており、to番号はホワイトリストに登録されている自分の番号である:

var user = '12ab3456';
var password = '123AbcdefghIJklM';
var from_id = `12345`;
var to_num = '441234567890';

静的なテキストを送信するだけでなく、メッセージに曜日を追加することもできます。いくつかの変数を作成し、それをデータとして保存します。あるいは、あなた自身のユースケースやアプリケーションから動的なデータを代用することもできます:

const weekdays = [
  'Sunday',
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thursday',
  'Friday',
  'Saturday'
];
var today = weekdays[new Date().getDay()];

リクエストする

Axios は、URL とデータを指定すると、POST リクエストのデフォルト設定を提供します。データオブジェクトは、ダッシュボードのcURLコマンドと同じデータです。ユースケースに適したテストメッセージを送信したい場合は、インラインで切り替えることができます。optionsオブジェクトを指定することもできます。

リクエストが完了すると、次のコールバックがレスポンスを受け取ります。そこからステータスコードや戻ってきたデータを確認することができる。この場合、メッセージのUUIDが返ってくるはずです。また、発生するかもしれないエラーをキャッチしてコンソールに記録することもできます:

axios.post('https://messages-sandbox.nexmo.com/v0.1/messages',{
    "from": { "type": "viber_service_msg", "id": from_id },
    "to": { "type": "viber_service_msg", "number": to_num },
    "message": {
      "content": {
        "type": "text",
        "text": "Hello from Vonage! Happy " + today
      }
    }
  },{
    auth: {
      username: user,
      password: password
    }
  })
  .then(function (response) {
    console.log('Status: ' + response.status);
    console.log(response.data);
  })
  .catch(function (error) {
    console.error(error);
  });

試してみる

ファイルを作成したディレクトリから実行する:

> node app.js

ホワイトリストに登録したデバイスの Viber で、テストメッセージを受信する必要があります。例全体をまとめて見るには コードをご覧ください。.

シェア:

https://a.storyblok.com/f/270183/250x250/f231d97f1b/garann-means.png
Garann Meansデベロッパー・エデュケーター

私はJavaScript開発者で、Vonageの開発者教育者です。長年にわたり、テンプレート、Node.js、プログレッシブ・ウェブ・アプリケーション、そしてオフライン・ファースト戦略に熱中してきましたが、私がいつも本当に愛しているのは、便利できちんと文書化されたAPIです。私の目標は、当社のAPIを使用するお客様の体験を、私がお手伝いできる最高のものにすることです。