JavaScript

Créer un serveur webhook

Lorsqu'un appel entrant est reçu, Vonage fait une demande à une URL accessible au public de votre choix - que nous appelons le answer_url. Vous devez créer un serveur webhook capable de recevoir cette requête et de renvoyer un BCN contenant un connect qui transmettra l'appel au de l'utilisateur app. Pour ce faire, vous devez extraire l'utilisateur de destination de l'application to et de le renvoyer dans votre réponse.

Nouveau projet

Créez un nouveau répertoire de projet dans une destination de votre choix et changez de répertoire :

mkdir vonage-tutorial cd vonage-tutorial

À l'intérieur du dossier, initialisez un nouveau projet Node.js en exécutant cette commande :

npm init -y

Ajouter des dépendances

Ensuite, installez les dépendances nécessaires :

npm install express localtunnel --save

Créer le fichier du serveur

Dans le dossier de votre projet, créez un fichier nommé server.js et ajoutez le code comme indiqué ci-dessous - veillez à remplacer SUBDOMAIN avec une valeur réelle. La valeur utilisée fera partie des URL que vous définirez en tant que webhooks à l'étape suivante.

NOTE : N'oubliez pas de remplacer SUBDOMAIN avec une chaîne aléatoire de votre choix entre 4 et 20 caractères alphanumériques (lettres et chiffres, pas de soulignement ni de tiret).

Le code du serveur ci-dessus comporte deux parties :

Le serveur Express

La première partie crée un Express et le rend disponible localement sur le port 3000. Le serveur propose deux chemins d'accès :

  1. /voice/answer est le answer_url que nous avons mentionnée plus haut. Il renvoie un JSON contenant l'utilisateur destinataire de l'appel.

    Il est à noter que le user est extraite de la base de données req.query.to que Vonage envoie dans le cadre de la demande. Le NCCO construit dynamiquement transfère ensuite l'appel vers le téléphone de destination à l'aide d'une fonction connect action.

  2. Le deuxième, /voice/eventVous définissez la destination pour que Vonage vous informe de tout ce qui se passe pendant l'appel. event_url.

Les localtunnel l'intégration

La deuxième partie du code du serveur ci-dessus expose la fonction Express afin qu'il soit accessible par les serveurs de Vonage.

NOTE : localtunnel est une bibliothèque JavaScript qui expose votre localhost au monde entier pour des tests et un partage sans douleur ! Pas besoin de manipuler les DNS ou de déployer pour que d'autres personnes testent vos changements.

Démarrer le serveur

Vous pouvez maintenant démarrer le serveur en exécutant, dans le terminal, la commande suivante :

node server.js

Un avis s'affiche pour vous indiquer que le serveur est désormais disponible :

Gardez la fenêtre du terminal à portée de main, car vous aurez besoin de l'URL à l'étape suivante.