技術詳細

注: このセクションでは、以下のことを説明する。 アプリケーション V2 機能性だ。

Vonage API アプリケーションには、Vonage エンドポイントに接続し、Vonage API を使用するために必要なセキュリティおよび設定情報が含まれています。

例えば、Voice API、Messages API、RTC APIを使用するアプリケーションを作成することができます。

Application Overview
Application Overview

Vonageアプリケーションの使い方を説明するために、Vonage音声アプリケーションの作成と使用について簡単にまとめました:

  1. CLI、ダッシュボードまたはアプリケーションAPIを使用してVonageアプリケーションを作成します。
  2. ウェブフックURLを設定してください。VonageはこれらのURLに重要な情報をコールバックします。
  3. VonageアプリケーションにVonage番号を関連付けます。
  4. ウェブアプリケーションを作成します。必要に応じてVonage APIを使用して、ステップ2で設定したWebhookエンドポイントを実装します。

例えば、以下のようなアプリケーションを作りたい場合、次のようにします。 インバウンドコールを転送する を宛先の電話機に転送するには、以下の手順を実行します:

  1. 音声機能を持つVonageアプリケーションを作成します。
  2. アンサーとイベントのウェブフックURLを設定します。
  3. Vonage番号とVonageアプリケーションを関連付けます。
  4. あなたは、Webhook URLのコールバックに応答するWebアプリケーションを実装します。
  5. Vonageアプリケーションに関連付けられているVonage番号に着信コールが発信されると、Vonageアプリケーションに関連付けられたVonage番号に着信コールが発信されます。 エヌシーシーオー が返される。 answer_url.

メッセージやディスパッチ機能を持つアプリケーションなど、他のタイプのアプリケーションは、本書の関連するセクションで説明されている、少し異なるプロセスを持ちます。 ドキュメンテーション.

以下のセクションでは、Vonageのアプリケーションについて詳しく説明します。

構造

各アプリケーションには以下のものがある:

名称 説明
id 各アプリケーションを識別するために使用され、以下のアプリケーションと組み合わせて使用される。 private_key を使用してJWTを生成する。
name アプリケーション名。
capabilities このアプリケーションがサポートする機能の種類を説明します。機能 voice, messages, rtc, vbc.これらの機能は、1つのアプリケーションでいくつでもサポートすることができます。また webhooks を指定します。Vonageは、Webhookエンドポイントを介して情報を送信および取得します。
keys 内容 private_key そして public_key.秘密鍵は、Vonage APIへのコールを認証するために使用されるJWTを生成するために使用します。公開鍵は、Vonage APIへのリクエストでJWTを認証するためにVonageによって使用されます。

能力

Vonageアプリケーションは、Voice、Messages and Dispatch、Conversation、Client SDKなど、さまざまなAPIを使用できます。

アプリケーションを作成する際に、アプリケーションにサポートさせたい機能を指定することができます。それぞれのケイパビリティに対して、どのようなケイパビリティが欲しいかによってウェブフックを設定することができます。 rtc 機能を使えば、RTCイベントを受信するためのイベントURLを指定することができる。アプリケーションで voice また、応答URLを設定して、通話に応答したWebhookを受信したり、応答URLに失敗した場合のフォールバックURLを設定したり、別のイベントURLを設定して、音声通話関連のイベントを受信したりすることもできます。

能力の概要は以下の通り:

能力 説明
voice 音声機能をサポートするために使用される。
messages Messages API および Dispatch API 機能のサポートに使用されます。
rtc WebRTC機能をサポートするために使用される。通常、Client SDKと一緒に使用します。
vbc 価格決定に使用されるが、現在のところ他の機能はない。

ウェブフック

アプリケーションを作成するときに提供する Webhook URL は、必要なアプリケーション機能によって異なります。次の表は、Webhook をまとめたものです:

能力 使用API ウェブフックが利用可能
voice answer_url, fallback_answer_url, event_url
messages メッセージと派遣 inbound_url, status_url
rtc Client SDK event_url
vbc VBC なし

ウェブフックの種類

次の表は、ケイパビリティごとに利用可能なWebhookについて説明したものです:

能力 ウェブフック API 説明
voice answer_url https://example.com/webhooks/answer 通話発信/着信時にVonageがリクエストするURL。NCCOを返さなければならない。
voice fallback_answer_url https://example.com/webhooks/fallback もし fallback_answer_url がセットされている場合、Vonageはそのリクエストに対して answer_url がオフラインであるか、HTTPエラーコードを返すか、あるいは event_url がオフラインかエラーコードを返し、イベントがNCCOを返すことが期待されている。その fallback_answer_url はNCCOを返送しなければならない。もし fallback_answer_url 最初のNCCOを2回試みても失敗した場合、通話は終了する。あなたの fallback_answer_url 進行中の通話を2回試行した後に失敗した場合、通話フローは継続される。
voice event_url https://example.com/webhooks/event VonageはこのURLにコールイベント(呼び出し音、応答済みなど)を送信します。
messages inbound_url メッセージ, 派遣 https://example.com/webhooks/inbound Vonageは受信メッセージをこのURLに転送します。
messages status_url メッセージ, 派遣 https://example.com/webhooks/status Vonageはメッセージのステータスアップデートを送信します、 delivered, seen)をこのURLに追加する。
rtc event_url Client SDK, 会話 https://example.com/webhooks/rtcevent VonageはこのURLにRTCイベントを送信します。
vbc なし 音声エンドポイント なし 未使用

ウェブフックのタイムアウト

については voice 機能のみで、ウェブフックにタイムアウトを設定することができます。指定できるタイムアウトは2つあります: connection_timeout そして socket_timeout.これらのパラメータは answer, eventそして fallback webhooks はミリ秒単位で指定されます。以下の表に詳細を示す:

パラメータ 説明
connection_timeout 1000 Vonage がこの指定された時間の間 Webhook URL に接続できない場合、Vonage は Webhook エンドポイントへの接続をさらに 1 回試みます。これはミリ秒単位の整数値です。
socket_timeout 3000 この指定された時間の間、Webhook URLからの応答が読み取れない場合、VonageはWebhookエンドポイントの読み取りをさらに1回試みます。これはミリ秒単位の整数値です。

アプリケーションを作成または更新する際に、これらを直接設定したり、必要に応じて更新したりすることができます:

...
  "capabilities": {
    "voice": {
      "webhooks": {
        "answer_url": {
          "address": "https://example.com/webhooks/answer",
          "http_method": "POST",
          "connection_timeout": 500,
          "socket_timeout": 3000
        },
        "fallback_answer_url": {
          "address": "https://fallback.example.com/webhooks/answer",
          "http_method": "POST",
          "connection_timeout": 500,
          "socket_timeout": 3000
        },
        "event_url": {
          "address": "https://example.com/webhooks/event",
          "http_method": "POST",
          "connection_timeout": 500,
          "socket_timeout": 3000
        }
      }
    }
...

アプリケーションの作成または更新時にこれらの値が指定されない場合、デフォルト値が適用されます。これらのタイムアウトのデフォルト値は、次の表に示すように、関連するウェブフックによって異なります:

ウェブフック デフォルト connection_timeout デフォルト socket_timeout
answer 1000 5000
event 1000 10000
fallback 1000 5000

注: タイムアウトはミリ秒単位で指定する。

ウェブフックのタイムアウトについては ウェブフック・ドキュメント.

アプリケーションの作成

アプリケーションを作成するには、主に4つの方法があります:

  1. ヴォネージでは ダッシュボード.アプリケーションは、次のように表示されます。 アプリケーション ダッシュボードの
  2. を使用している。 Vonage CLI.
  3. を使用している。 アプリケーションAPI.
  4. Vonageのいずれかを使用する サーバーSDK.

CLIを使用したアプリケーションの管理

コード・スニペット

参考