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.

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 :
- Créez une application Vonage à l'aide du CLI, du tableau de bord ou de l'API d'application.
- Veillez à configurer les URL de votre webhook. Vonage rappellera sur ces URL avec des informations importantes.
- Associez un numéro Vonage à votre application Vonage.
- 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 :
- Vous créez une application Vonage dotée de capacités vocales.
- Vous configurez les URL des webhooks de réponse et d'événement.
- Vous associez un numéro Vonage à votre application Vonage.
- Vous mettez en œuvre une application web qui répond aux rappels sur les URL des webhooks.
- 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 :
- 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.
- L'utilisation de la CLI Vonage.
- L'utilisation de la Application API.
- En utilisant l'un des systèmes Vonage SDK de serveur.
Gérer les applications à l'aide du CLI
Extraits de code
- Application / Créer une application
- Application / Liste des Applications
- Application / Mise à jour de l'application
- Application / Obtenir une Applications
- Application / Supprimer une application
- User / Créer un utilisateur
- User / Liste des utilisateurs
- User / Mise à jour d'un utilisateur
- User / Obtenir un utilisateur
- User / Supprimer un utilisateur