あなたのVonage Numbersの使用状況を追跡します。

Vonage番号で受信したコールを追跡することで、顧客コミュニケーションの有効性を把握できます。 Vonage番号によって受信されたコールを追跡することによって、顧客コミュニケーションの効果を把握することができます。マーケティング・キャンペーンごとに異なる番号を登録することで、どの番号が最も効果的であるかを確認することができます。 今後のマーケティング活動の改善に役立てることができます。

今日の例ではNodeJSを使用し、コードはすべて GitHubで入手可能, しかし、他の技術スタックにも同じアプローチが使える。

前提条件

このガイドを読むためには、以下のものが必要である:

  • A Vonageアカウント
  • について Vonage CLI をインストールし、セットアップした。
  • Vonageがあなたのアプリにウェブフックリクエストを行うことができるように、一般にアクセス可能なウェブサーバー。ローカルで開発する場合は 推奨 ングロク.

スタート

Vonageアプリケーションをセットアップし、使用するナンバーを取得します。 Vonageアプリケーションを作成する際には、以下のように指定します。 ウェブフック エンドポイントです。 これらは、あなた自身のアプリケーションのURLであり、あなたのコードが一般にアクセス可能でなければならない理由です。発信者が あなたのVonage番号に電話をかけると、VonageはWebリクエストを answer_url エンドポイントを指定し、そこにある指示に従う。 の指示に従う。

また event_url webhookは、呼の状態が変わるたびに更新を受け取る。このアプリケーションでは コードはイベントをコンソールに出力し、開発中に有用な情報を提供します。

初期アプリケーションを作成するには、Vonage CLI を使用して以下のコマンドを実行します。 に置き換えてください:

vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled

このコマンドは、アプリケーションを識別する UUID(Universally Unique Identifier)を返します。アプリケーションIDがあれば、アプリケーションに音声機能を追加することができます、 で、アプリケーションに音声機能を追加できます:

を必ず設定してください。 voice-answer-url, voice-event-url をあなたのドメインを指すように設定します。フォールバックURLを設定する必要はありません。 URLを設定する必要はありません。

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice `
  --voice-answer-url='https://example.com/webhooks/voice/answer' `
  --voice-event-url='https://example.com/webhooks/voice/event' `
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
 VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback

このアプリケーションを試すには、いくつかのVonage Numbersが必要です。Vonage CLIを使って、以下に示すコマンドを使って番号を検索し、購入することができます。 ISO 3166-1アルファ2フォーマット.

vonage numbers search US

✅ Searching for numbers

There is 1 number available for purchase in United States

Number       Type    Features         Monthly Cost  Setup Cost
-----------  ------  ---------------  ------------  ----------
16127779311  Mobile  MMS, SMS, VOICE  €0.900.00

Use vonage numbers buy to purchase.
vonage numbers buy US 16127779311 
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for0.90? [y/n] y

✅ Purchasing number
Number 16127779311 purchased

Number: 16127779311 
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set

の任意の国コードを使用できます。 ISO 3166-1アルファ2フォーマット を実行する。結果はあなたが購入したNumbersなので、それをコピーしてください。 vonage numbers)を作成し、作成したアプリケーションにリンクします:

vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311

✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%

Number linked

Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set

購入とリンクのステップを、使いたい番号の数だけ繰り返す。

新規ユーザーの場合、番号を購入する前にアカウントをトップアップする必要がある。

アプリケーションのセットアップと実行

まず、コードを リポジトリ.リポジトリをローカルマシンにクローンするか リポジトリをローカルマシンにクローンするか、zipファイルをダウンロードしてください。

このコマンドで依存関係をインストールする: npm install

次に、設定テンプレートをコピーします。 .env-example という名前のファイルに .env.このファイルでは、Vonageが接続する電話番号を設定する必要があります。 Vonageが接続する電話番号を設定する必要があります。

でポート番号を設定することもできます。 .env ファイルに PORT セッティング

ウェブサーバーを起動する: npm start

以下のサイトにアクセスし、すべてが期待通りに機能していることを確認する。 http://localhost:5000.Hello Vonage "と表示されるはずです。 と表示されるはずです。

インバウンドボイスコールの処理

Vonageは、あなたのVonage番号への着信コールを受信すると、あなたが設定したWebhookエンドポイントにリクエストを行います。 音声アプリケーションを作成.

CallerVonageAppCallerVonageAppCaller calls one ofthe tracking numbersCalls Vonage numberInbound Call(from, to)

発信者が電話をかけると、アプリケーションは着信ウェブフックを受信する。アプリケーションは、発呼元が発信した Numbers を抽出します。 を抽出します。 to 番号)とダイヤルした番号( from 番号)、そしてこれらのNumbersをコールトラッキング・ロジックに渡す。 に渡します。

受信したウェブフックは /track-call のルートだ:

app.get('/track-call', (req, res) => {
    const from = req.query.from;
    const to = req.query.to;

    const ncco = callTracker.answer(from, to);
    return res.json(ncco);
});

発信者に接続する前に通話を追跡する

実際に通話を追跡するためのロジックは、サンプルアプリケーションでは別になっています。サーバーを再起動すると を失うことに注意してください!独自のアプリケーションの場合は、この部分を拡張して、データベースやロギング・プラットフォームなど、独自のニーズに合わせて書き込むことができます。 プラットフォームなどに書き込むために、この部分を拡張することができます。呼び出しを追跡した後、アプリケーションは ネクスモ・コール・コントロール・オブジェクト(NCCO) をVonageのサーバーに伝える。 をサーバーに伝えます。

このコードは lib/CallTracker.js:

class CallTracker {

  config;

  trackedCalls;

  constructor(config) {
    this.config = config;

    this.trackedCalls = {};
  }

  /**
   * Track the call and return an NCCO that proxies a call.
   */
  answer (from, to) {
    if(!this.trackedCalls[to]) {
      this.trackedCalls[to] = [];
    }

    this.trackedCalls[to].push({
      timestamp: Date.now(),
      from: from,
    });

    return [
      {
        action: 'connect',
        from: to,
        endpoint: [
          {
            type: 'phone',
            number: this.config.proxyToNumber,
          },
        ],
      },
    ];
  };
}

NCCOは connect アクションは、着信側を、設定ファイルで指定した番号への別の通話に接続する。 アクションを実行する。このアクションは from 番号はVonage番号でなければならないので、コードは追跡された番号を発信者番号として使用する。 として使用する。をチェックしてください。 のNCCO文書 connect アクション 詳細は 呼制御オブジェクトの詳細については

結論

この方法で、いくつかのVonage番号をnode.jsアプリケーションにリンクし、それらの番号への着信の記録を作成し、発信者を発信番号に接続することができました。 その番号への着信を記録し、発信者を発信番号に接続する。タイムスタンプと タイムスタンプと発信元番号と着信先番号を記録することで、このデータに対して必要な分析を行うことができます。 あなたのビジネスにとって最良の結果を得ることができます。

次はどこだ?

このガイドの次のステップとして、もっと楽しめるかもしれないリソースをいくつか紹介しよう: