Détails techniques

NOTE : Cette section de la documentation décrit Applications V2 fonctionnalité.

Une application API de Vonage contient les informations de sécurité et de configuration dont vous avez besoin pour vous connecter aux points d'extrémité de Vonage et utiliser les API de Vonage.

Chaque application Vonage créée peut prendre en charge plusieurs capacités - par exemple, vous pouvez créer une application qui prend en charge l'utilisation des API Voice, Messages et RTC.

Application Overview
Application Overview

Pour illustrer l'utilisation des applications Vonage, voici un bref résumé de la création et de l'utilisation d'une application vocale Vonage :

  1. Créez une application Vonage à l'aide du CLI, du tableau de bord ou de l'API d'application.
  2. Veillez à configurer les URL de votre webhook. Vonage rappellera sur ces URL avec des informations importantes.
  3. Associez un numéro Vonage à votre application Vonage.
  4. Rédigez votre application Web. Mettez en œuvre les points de terminaison du webhook que vous avez configurés à l'étape 2, en utilisant les API de Vonage si nécessaire.

Par exemple, si vous souhaitez créer une application qui transférer les appels entrants vers un téléphone de destination, vous devez suivre les étapes suivantes :

  1. Vous créez une application Vonage dotée de capacités vocales.
  2. Vous configurez les URL des webhooks de réponse et d'événement.
  3. Vous associez un numéro Vonage à votre application Vonage.
  4. Vous mettez en œuvre une application web qui répond aux rappels sur les URL des webhooks.
  5. Lorsqu'un appel entrant est effectué au numéro Vonage associé à l'application Vonage, un BCN est renvoyée sur la page answer_url.

D'autres types d'applications, telles que celles dotées de fonctions de messagerie et de répartition, suivent un processus légèrement différent, qui est décrit dans les sections correspondantes du présent document. la documentation.

Les sections suivantes expliquent les applications Vonage plus en détail.

Structure

Chaque application présente les caractéristiques suivantes :

Nom Description
id Utilisé pour identifier chaque application et utilisé en conjonction avec private_key pour générer des JWT.
name Le nom de l'application.
capabilities Décrit les types de fonctionnalités que cette application prendra en charge. Les capacités voice, messages, rtc, vbc. Une application peut prendre en charge un nombre quelconque de ces fonctionnalités. Vous pouvez également définir webhooks pour chaque capacité spécifiée. Vonage envoie et récupère des informations via les points de terminaison du webhook.
keys Contient private_key et public_key. Vous utilisez la clé privée pour générer les JWT utilisés pour authentifier vos appels aux API de Vonage. La clé publique est utilisée par Vonage pour authentifier la JWT dans vos demandes à l'API de Vonage.

Capacités

Une application Vonage peut utiliser diverses API, notamment Voice, Messages et Dispatch, Conversation et Client SDK.

Lors de la création d'une application, vous pouvez spécifier les capacités que vous souhaitez que votre application prenne en charge. Pour chaque capacité, vous pouvez définir des webhooks en fonction des capacités que vous souhaitez, par exemple pour une application avec une fonction rtc vous pouvez spécifier une URL d'événement pour recevoir les événements RTC. Si votre application a également besoin d'utiliser la fonction voice vous pourriez également définir une URL de réponse pour recevoir un appel répondu par webhook, une URL de repli au cas où votre URL de réponse échouerait, et une autre URL d'événement pour recevoir les événements liés aux appels vocaux.

Un résumé des capacités est donné dans le tableau suivant :

Capacité Description
voice Utilisé pour prendre en charge les capacités vocales.
messages Utilisé pour prendre en charge les capacités de l'API Messages et Dispatch.
rtc Utilisé pour prendre en charge les capacités WebRTC. Généralement utilisé avec Client SDK.
vbc Il est utilisé pour déterminer les prix, mais n'a actuellement aucune autre capacité.

Crochets Web

Les URL des webhooks que vous fournissez lors de la création d'une application dépendent des capacités requises pour l'application. Le tableau suivant résume les webhooks :

Capacité API utilisée Webhooks disponibles
voice Voix answer_url, fallback_answer_url, event_url
messages Messages et envoi inbound_url, status_url
rtc Client SDK event_url
vbc VBC Aucun

Types de webhook

Le tableau suivant décrit les webhooks disponibles par capacité :

Capacité Crochet Web API Exemple Description
voice answer_url Voix https://example.com/webhooks/answer L'URL que Vonage demande lorsqu'un appel est passé/reçu. Doit renvoyer un NCCO.
voice fallback_answer_url Voix https://example.com/webhooks/fallback Si le fallback_answer_url est activé, Vonage lui adresse une demande si le numéro de téléphone de l answer_url est hors ligne ou renvoie un code d'erreur HTTP, ou encore l'option event_url est hors ligne ou renvoie un code d'erreur et qu'un événement est censé renvoyer un NCCO. L'événement fallback_answer_url doit renvoyer un BCN. Si votre fallback_answer_url échoue après deux tentatives pour un premier NCCO, l'appel est terminé. Si votre fallback_answer_url échoue après deux tentatives pour un appel en cours, le flux d'appel se poursuit.
voice event_url Voix https://example.com/webhooks/event Vonage enverra les événements d'appel (par exemple, sonnerie, réponse) à cette URL.
messages inbound_url Messages, Envoi https://example.com/webhooks/inbound Vonage transmettra les messages entrants à cette URL.
messages status_url Messages, Envoi https://example.com/webhooks/status Vonage enverra des mises à jour de l'état des messages (par exemple, delivered, seen) à cette URL.
rtc event_url Client SDK, Conversation https://example.com/webhooks/rtcevent Vonage enverra les événements RTC à cette URL.
vbc Aucun Point de terminaison vocal Aucun Non utilisé

Délais d'attente pour les webhooks

Pour les voice vous pouvez définir des délais d'attente pour les webhooks. Deux délais peuvent être spécifiés : connection_timeout et socket_timeout. Ces paramètres s'appliquent aux answer, eventet fallback et sont exprimées en millisecondes. Le tableau suivant fournit des informations complémentaires :

Paramètres Exemple Description
connection_timeout 1000 Si Vonage ne peut pas se connecter à l'URL du webhook pendant la durée spécifiée, Vonage fait une tentative supplémentaire pour se connecter au point de terminaison du webhook. Il s'agit d'une valeur entière spécifiée en millisecondes.
socket_timeout 3000 Si une réponse de l'URL du webhook ne peut pas être lue pendant ce laps de temps, Vonage fait une tentative supplémentaire pour lire le point d'extrémité du webhook. Il s'agit d'une valeur entière spécifiée en millisecondes.

Lors de la création ou de la mise à jour d'une application, ces éléments peuvent être définis directement ou mis à jour en fonction des besoins, par exemple :

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

Si ces valeurs ne sont pas spécifiées lors de la création ou de la mise à jour de l'application, alors les valeurs par défaut sont appliquées. Les valeurs par défaut de ces délais dépendent du webhook concerné, comme le montre le tableau suivant :

Crochet Web Défaut connection_timeout Défaut socket_timeout
answer 1000 5000
event 1000 10000
fallback 1000 5000

NOTE : Les délais sont spécifiés en millisecondes.

Pour plus d'informations sur les délais d'attente des webhooks, voir la section documentation sur les webhooks.

Création d'applications

Il existe quatre façons principales de créer une application :

  1. Dans le cadre du projet Vonage Tableau de bord. Les applications sont ensuite répertoriées dans la rubrique vos applications du tableau de bord.
  2. L'utilisation de la CLI Vonage.
  3. L'utilisation de la Application API.
  4. En utilisant l'un des systèmes Vonage SDK de serveur.

Gérer les applications à l'aide du CLI

Extraits de code

Référence