Technische Details

HINWEIS: Dieser Abschnitt der Dokumentation beschreibt Applikationen V2 Funktionalität.

Eine Vonage API-Anwendung enthält die Sicherheits- und Konfigurationsinformationen, die Sie benötigen, um sich mit Vonage Endpunkten zu verbinden und die Vonage APIs zu nutzen.

Jede von Vonage erstellte Anwendung kann mehrere Funktionen unterstützen - so können Sie beispielsweise eine Anwendung erstellen, die die Nutzung der Voice-, Messages- und RTC-APIs unterstützt.

Application Overview
Application Overview

Zur Veranschaulichung der Verwendung von Vonage Applications wird hier eine kurze Zusammenfassung zur Erstellung und Verwendung einer Vonage Sprachanwendung gegeben:

  1. Erstellen Sie eine Vonage-Applikation über die CLI, das Dashboard oder die Application API.
  2. Stellen Sie sicher, dass Sie Ihre Webhook-URLs konfigurieren. Vonage wird Sie unter diesen URLs mit wichtigen Informationen zurückrufen.
  3. Verknüpfen Sie eine Vonage-Nummer mit Ihrer Vonage-Anwendung.
  4. Schreiben Sie Ihre Webanwendung. Implementieren Sie die Webhook-Endpunkte, die Sie in Schritt 2 konfiguriert haben, und verwenden Sie die Vonage-APIs wie erforderlich.

Wenn Sie zum Beispiel eine Anwendung erstellen möchten, die leitet eingehende Anrufe weiter auf ein Zieltelefon zu übertragen, führen Sie die folgenden Schritte aus:

  1. Sie erstellen eine Vonage-Anwendung, die über Sprachfunktionen verfügt.
  2. Sie konfigurieren die Antwort- und Ereignis-Webhook-URLs.
  3. Sie verknüpfen eine Vonage-Nummer mit Ihrer Vonage-Anwendung.
  4. Sie implementieren eine Webanwendung, die auf Rückrufe über die Webhook-URLs reagiert.
  5. Wenn ein eingehender Anruf an die der Vonage-Anwendung zugeordnete Vonage-Nummer getätigt wird, wird ein NCCO wird auf der Seite answer_url.

Andere Arten von Applikationen, wie z. B. solche mit Nachrichten- und Versandfunktionen, haben einen etwas anderen Prozess, der in den entsprechenden Abschnitten dieses Dokuments beschrieben wird. Dokumentation.

In den folgenden Abschnitten werden die Applications von Vonage näher erläutert.

Struktur

Jede Anwendung hat die folgenden Merkmale:

Name Beschreibung
id Dient zur Identifizierung jeder Anwendung und wird in Verbindung mit private_key um JWTs zu erzeugen.
name Der Name der Anwendung.
capabilities Beschreibt die Arten von Funktionen, die diese Anwendung unterstützen wird. Die Fähigkeiten voice, messages, rtc, vbc. Es können beliebig viele dieser Funktionen in einer Anwendung unterstützt werden. Sie setzen auch webhooks für jede angegebene Fähigkeit. Vonage sendet und holt Informationen über die Webhook-Endpunkte ab.
keys Enthält private_key und public_key. Sie verwenden den privaten Schlüssel, um die JWTs zu generieren, die zur Authentifizierung Ihrer Anrufe bei den Vonage-APIs verwendet werden. Der öffentliche Schlüssel wird von Vonage verwendet, um das JWT in Ihren Anfragen an die Vonage API zu authentifizieren.

Fähigkeiten

Eine Vonage-Anwendung kann verschiedene APIs nutzen, darunter Voice, Messages und Dispatch, Conversation und Client SDK.

Bei der Erstellung einer Anwendung können Sie angeben, welche Funktionen Ihre Anwendung unterstützen soll. Für jede Fähigkeit können Sie Webhooks festlegen, je nachdem, welche Fähigkeiten Sie wünschen, z. B. für eine Anwendung mit einer rtc Fähigkeit können Sie eine Ereignis-URL angeben, um RTC-Ereignisse zu empfangen. Wenn Ihre Anwendung auch die voice können Sie auch eine Antwort-URL für den Empfang eines beantworteten Anrufs, eine Fallback-URL für den Fall, dass Ihre Antwort-URL ausfällt, und eine weitere Ereignis-URL für den Empfang von Ereignissen im Zusammenhang mit Sprachanrufen festlegen.

Eine Zusammenfassung der Fähigkeiten ist in der folgenden Tabelle enthalten:

Fähigkeit Beschreibung
voice Wird zur Unterstützung von Sprachfunktionen verwendet.
messages Wird zur Unterstützung von Messages- und Dispatch API-Funktionen verwendet.
rtc Wird zur Unterstützung von WebRTC-Funktionen verwendet. Normalerweise für die Verwendung mit Client SDK.
vbc Dient der Preisermittlung, hat aber derzeit keine weiteren Funktionen.

Webhaken

Die Webhook-URLs, die Sie beim Erstellen einer Anwendung angeben, hängen von den erforderlichen Anwendungsfunktionen ab. In der folgenden Tabelle sind die Webhooks zusammengefasst:

Fähigkeit Verwendete API Webhooks verfügbar
voice Stimme answer_url, fallback_answer_url, event_url
messages Nachrichten und Versand inbound_url, status_url
rtc Client SDK event_url
vbc VBC Keine

Webhook-Typen

Die folgende Tabelle beschreibt die verfügbaren Webhooks pro Fähigkeit:

Fähigkeit Webhook API Beispiel Beschreibung
voice answer_url Stimme https://example.com/webhooks/answer Die URL, an die Vonage eine Anfrage stellt, wenn ein Anruf getätigt/empfangen wird. Muss einen NCCO zurückgeben.
voice fallback_answer_url Stimme https://example.com/webhooks/fallback Wenn die fallback_answer_url gesetzt ist, stellt Vonage eine Anfrage an ihn, wenn die answer_url offline ist oder einen HTTP-Fehlercode zurückgibt oder die event_url offline ist oder einen Fehlercode zurückgibt und von einem Ereignis erwartet wird, dass es einen NCCO zurückgibt. Die Website fallback_answer_url muss einen NCCO zurückschicken. Wenn Ihr fallback_answer_url nach zwei Versuchen für einen ersten NCCO fehlschlägt, wird der Anruf beendet. Wenn Ihr fallback_answer_url nach zwei Versuchen für ein laufendes Gespräch fehlschlägt, wird der Gesprächsfluss fortgesetzt.
voice event_url Stimme https://example.com/webhooks/event Vonage sendet Anrufereignisse (z. B. Klingeln, Annahme) an diese URL.
messages inbound_url Nachrichten, Versenden https://example.com/webhooks/inbound Vonage wird eingehende Nachrichten an diese URL weiterleiten.
messages status_url Nachrichten, Versenden https://example.com/webhooks/status Vonage sendet Aktualisierungen des Nachrichtenstatus (z. B., delivered, seen) zu dieser URL.
rtc event_url Client SDK, Konversation https://example.com/webhooks/rtcevent Vonage sendet RTC-Ereignisse an diese URL.
vbc Keine Sprach-Endpunkt Keine Nicht verwendet

Webhook-Zeitüberschreitungen

Für die voice können Sie Zeitüberschreitungen für Webhooks festlegen. Es gibt zwei Zeitüberschreitungen, die festgelegt werden können: connection_timeout und socket_timeout. Diese Parameter gelten für die answer, eventund fallback Webhooks, und werden in Millisekunden angegeben. Die folgende Tabelle enthält weitere Informationen:

Parameter Beispiel Beschreibung
connection_timeout 1000 Wenn Vonage für die angegebene Zeitspanne keine Verbindung zur Webhook-URL herstellen kann, unternimmt Vonage einen weiteren Versuch, eine Verbindung zum Webhook-Endpunkt herzustellen. Dies ist ein ganzzahliger Wert, der in Millisekunden angegeben wird.
socket_timeout 3000 Wenn eine Antwort von der Webhook-URL für diese angegebene Zeitspanne nicht gelesen werden kann, unternimmt Vonage einen weiteren Versuch, den Webhook-Endpunkt zu lesen. Dies ist ein ganzzahliger Wert, der in Millisekunden angegeben wird.

Bei der Erstellung oder Aktualisierung einer Applikation können diese direkt eingestellt oder nach Bedarf aktualisiert werden, zum Beispiel:

...
  "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
        }
      }
    }
...

Wenn diese Werte beim Erstellen oder Aktualisieren der Anwendung nicht angegeben werden, werden Standardwerte verwendet. Die Standardwerte für diese Timeouts hängen von dem jeweiligen Webhook ab, wie in der folgenden Tabelle dargestellt:

Webhook Standard connection_timeout Standard socket_timeout
answer 1000 5000
event 1000 10000
fallback 1000 5000

HINWEIS: Zeitüberschreitungen werden in Millisekunden angegeben.

Weitere Erläuterungen zu Webhook-Zeitüberschreitungen finden Sie in der Webhook-Dokumentation.

Erstellen von Applications

Es gibt im Wesentlichen vier Möglichkeiten, eine Anwendung zu erstellen:

  1. In der Vonage Dashboard. Die Applications werden dann in der Liste Ihre Applikationen Abschnitt des Dashboards.
  2. Die Verwendung des Vonage CLI.
  3. Die Verwendung des Application API.
  4. Mit einem der Vonage Server-SDKs.

Verwaltung von Applications mit der CLI

Code-Schnipsel

Referenz