https://d226lax1qjow5r.cloudfront.net/blog/blogposts/interactive-voice-response-node-red-dr/ivr-featured-image.png

Comment construire un SVI en utilisant Node-RED et les API Nexmo

Publié le May 18, 2021

Temps de lecture : 16 minutes

Un SVI ou serveur vocal interactif est un menu d'options présenté à un appelant. Il navigue ensuite dans ce menu en utilisant les chiffres de son clavier pour envoyer des signaux DTMF (Dual Tone Multi-Frequency).

Chaque option du SVI peut orienter l'appel vers un chemin différent, par exemple en transférant l'appel vers une destination spécifique, en diffusant une information enregistrée ou même en déclenchant un autre service tel qu'un SMS.

Les SVI sont la méthode de navigation fondamentale des applications Voice Call. Ils peuvent avoir plusieurs niveaux, où la sélection d'une option présente à l'utilisateur d'autres options, et ce jusqu'à une profondeur infinie !

Pour ce tutoriel, nous allons créer un SVI à un seul niveau avec trois chemins possibles :

  1. Renvoyer l'appel vers un numéro spécifique

  2. Renvoyer l'appelant à la messagerie vocale

  3. Envoyer un SMS à l'appelant

Dépendances

Conditions préalables

Avant de commencer, vous aurez besoin de quelques éléments :

  • Node.js et Node-RED installés si vous développez localement

  • Un moyen d'exposer votre serveur à l'internet. Cela signifie que vous utilisez une version hébergée de Node-RED ou que vous utilisez un service de tunneling comme ngrok - pour vous familiariser avec ce service Démarrer avec Ngrok dans Node-RED tutoriel

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

Obtenir ses diplômes

Pour utiliser les nœuds Nexmo dans Node-RED, vous devrez fournir vos identifiants, il est donc préférable de les garder à portée de main. Allez dans votre tableau de bord pour trouver votre clé API et votre secret, et notez-les.

Ensuite, vous aurez besoin d'un numéro virtuel compatible avec la Voice vocal. Allez dans Numbers > Acheter des Numbers pour en obtenir un.

Animation showing purchasing a number in the Nexmo dashboard

Configuration de l'éditeur Node-RED

Accédez à votre éditeur Node-RED en pointant votre navigateur sur http://localhost:1880.

Une fois l'éditeur ouvert, vous devez installer les nœuds Nexmo nodesle nœud nœud Ngrok(si vous n'utilisez pas une version hébergée de Node-RED) et le nœud par défaut Email par défaut. Vous pouvez le faire sous la palette Gérer la palette en recherchant les paquets correspondants et en cliquant sur installer :

  • Nexmo : node-red-contrib-nexmo

  • Ngrok : node-red-contrib-ngrok

  • Courriel : node-red-node-email

Après avoir redémarré Node-RED, vous devriez voir tous ces nœuds apparaître sur le côté gauche de votre écran - dans votre palette de nœuds, parmi d'autres nœuds par défaut.

Exposer votre serveur local à l'Internet

Si vous n'utilisez pas une version hébergée de Node-RED, l'API Voice de Nexmo aura besoin d'un autre moyen d'accéder à vos points de terminaison webhook. rendre votre serveur local accessible via l'internet public. Si vous exécutez Node-RED sur un serveur web public au lieu de votre machine locale, vous êtes prêt à passer à l'étape [Créer une application Nexmo Voice].

Un moyen pratique d'y parvenir est d'utiliser un service de tunnelisation tel que ngroket qu'il existe un nœud que vous venez d'ajouter à votre palette.

Il prend les cordes sur et off pour démarrer/arrêter le tunnel, et affiche l'adresse de l'hôte ngrok dans le champ msg.payload. Consultez notre tutoriel sur Débuter avec Ngrok dans Node-RED pour en savoir plus.

Importation du presse-papiers l'extrait ci-dessous, puis ouvrez les propriétés du nœud ngrok et spécifiez le numéro de port (1880 pour Node-RED) et la région.

[
    {
        "id": "faed0f7.1e524f",
        "type": "inject",
        "z": "5b8bbfc3.1a9f18",
        "name": "",
        "topic": "",
        "payload": "on",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 190,
        "y": 100,
        "wires": [
            [
                "8a01baeb.6756d"
            ]
        ]
    },
    {
        "id": "11051fa9.75bd1",
        "type": "inject",
        "z": "5b8bbfc3.1a9f18",
        "name": "",
        "topic": "",
        "payload": "off",
        "payloadType": "str",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 190,
        "y": 160,
        "wires": [
            [
                "8a01baeb.6756d"
            ]
        ]
    },
    {
        "id": "8a01baeb.6756d",
        "type": "ngrok",
        "z": "5b8bbfc3.1a9f18",
        "port": "1880",
        "creds": "5a9e2b8c.173a2c",
        "region": "ap",
        "subdomain": "",
        "name": "",
        "x": 400,
        "y": 140,
        "wires": [
            [
                "93fd5675.743c1"
            ]
        ]
    },
    {
        "id": "93fd5675.743c1",
        "type": "debug",
        "z": "5b8bbfc3.1a9f18",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "x": 620,
        "y": 140,
        "wires": []
    },
    {
        "id": "5a9e2b8c.173a2c",
        "type": "ngrokauth",
        "z": ""
    }
]

Frapper Déployer et cliquez sur l'icône sur inject puis naviguez vers l'URL affichée dans la zone de débogage (YOUR_URL pour référence future) pour trouver votre éditeur Node-RED à une adresse publique.

Using Ngrok with Nodered

Créer une application Nexmo Voice

L'API Voice de Nexmo utilise les Applications Nexmo pour contenir les informations de sécurité et de configuration nécessaires pour se connecter aux terminaux Nexmo.

Dans la palette Nexmo Node-RED, plusieurs nœuds ont la capacité de créer ces Applications : getrecording, earmuff, mute, hangup, transfer, createcall, playaudio, playtts et playdtmf.

Faites glisser l'un de ces nœuds dans votre espace de travail, puis double-cliquez dessus pour ouvrir les propriétés du nœud.

A côté de l'application Nexmo Credentialssélectionnez "Add new nexmovoiceapp..." dans le menu déroulant et cliquez sur le bouton "Editer". Remplissez les détails ci-dessous et cliquez sur Créer une nouvelle application.

KEY DESCRIPTION
Name Choose a name for your Voice Application, for example, "Nexmo Voice Application".
API Key Your Nexmo API key, shown in your account overview.
API Secret Your Nexmo API secret, shown in your account overview.
Answer URL YOUR_URL/answer, you'll be hosting a Nexmo Call Control Object (NCCO) here. - more about this later on.
Event URL YOUR_URL/event, you'll need to reference this when setting up the event handler.

Node-RED va alors créer une nouvelle Applications Nexmo sur votre Account et remplir les champs App ID et Private Key. Après cette étape, n'hésitez pas à supprimer le nœud Nexmo que vous avez utilisé, car un nœud de configuration a été créé et contient toutes les informations d'identification Nexmo dont ce flux a besoin. nexmovoiceapp config a été créé et contient toutes les informations d'identification Nexmo dont ce flux a besoin.

Creating a voice app

Configurer un numéro à appeler

Ensuite, vous devrez lier votre numéro virtuel à cette application.

Trouvez l'Application Voice que vous venez de créer dans votre Nexmo Dashboard en naviguant vers Voice > Vos Applications.

Cliquez sur le nom de cette application, puis sous l'onglet Numbers cliquez sur l'onglet Lien à côté du numéro virtuel que vous avez loué précédemment.

Si le numéro que vous souhaitez utiliser est déjà lié à une autre application, cliquez sur Gérer le numéro et configurez-le pour qu'il transfère les appels entrants vers votre application.

Linking a number to an application in Nexmo

Conseil supplémentaire : Utilisez un nœud comment pour noter le numéro Numbers lié à votre application, vous l'aurez ainsi toujours à portée de main.

Enregistrer les événements d'appel

Lorsque vous construisez des flux, il est très utile de voir vos événements d'appel dans la zone de débogage et d'avoir une meilleure compréhension de ce qui se passe réellement, alors ajoutons un webhook d'événement ! Cela aidera également à déboguer plus tard, si nécessaire.

Connecter un nœud http in à un nœud http response ainsi qu'à un nœud debug afin que vous puissiez voir les événements d'appel dans la barre latérale de débogage.

Dans le nœud http in sélectionnez POST en tant que Method et remplissez le champ URL avec /event. Le nœud http response devrait avoir 200 défini comme Status codemais ne vous inquiétez pas, c'est aussi la valeur par défaut.

Creating an IVR event webhook

Traiter les appels entrants

Lorsque vous recevez un appel entrant vers votre numéro virtuel, l'API Voice de Nexmo envoie une demande à un point de terminaison que vous définissez. GET à un point de terminaison que vous définissez, YOUR_URL/answeret attend un ensemble d'instructions sur la manière de traiter l'appel.

Tout d'abord, mettons en œuvre ce point final.

Définir le point de terminaison Webhook pour les appels entrants

Ajouter un voice webhook et un nœud return ncco à votre espace de travail, et reliez-les pour définir un point de terminaison webhook.

Ensuite, ouvrez les propriétés du voice webhook et sélectionnez GET comme Method et tapez /answer dans le champ URL puis appuyez sur Déployer.

Definining an inbound webhook

C'est très bien ! Vous avez maintenant un webhook qui renvoie un NCCO à l'API de Nexmo. A ce stade, il ne contient pas d'instructions, alors ajoutons-en !

Construire l'objet de contrôle d'appel Nexmo (NCCO)

Les instructions attendues par l'API Nexmo se présentent sous la forme d'un Nexmo Call Control Objectégalement connu sous le nom de NCCO. Il y a beaucoup d'actions différentes disponibles, trouvez les nœuds verts foncés correspondants sous la palette Nexmo dans votre éditeur Node-RED ou consultez la Référence NCCO pour en savoir plus.

Dans ce cas, vous voudrez probablement accueillir l'appelant et lui expliquer les différents itinéraires qu'il peut emprunter, puis l'écouter. Pour ce faire, vous devrez ajouter un nœud talk suivi d'un nœud input nœud.

Ajoutez-les à votre espace de travail, puis connectez-les entre les boutons voice webhook et return ncco entre les nœuds

Creating an IVR answer url

talk

Ensuite, ouvrez l'éditeur de nœuds talk et définissez le champ Text{} au message que vous souhaitez lire à l'appelant.

Dans ce tutoriel, nous mettrons en place 3 routes :

  1. entrer en contact avec un être humain

  2. laisser un message vocal

  3. recevoir un SMS contenant un lien de réservation en ligne. Text{}en conséquence. Par exemple "Bonjour ! Vous êtes bien chez X, veuillez appuyer sur 1 pour être mis en relation, sur 2 pour laisser un message, ou sur 3 pour réserver en ligne."

Vous pouvez également personnaliser davantage l'expérience en sélectionnant un Voice Name ou en utilisant des balises balises SSML.

Veillez à cocher également la case Pénétrer dans le texte qui permet à l'appelant d'envoyer ses données avant la fin de la lecture du texte. Cette option est très utile dans le cadre d'un SVI et évite aux personnes d'avoir à écouter une longue liste d'options.

Defining a talk action for the IVR

input

Ensuite, nous configurons le nœud input nœud.

Une fois que l'utilisateur a saisi le nombre de Numbers requis, ceux-ci seront envoyés en tant que nouveau webhook, nous devons donc configurer ce chemin.

Dans le champ URL {} entrez l'adresse complète de votre instance NodeRED suivie de /input1 (VOTRE_URL/entrée1), puis définissez le champ Method à GET. Si nous devions par la suite créer un deuxième niveau pour notre SVI, nous devrions envoyer cette entrée à une adresse différente, par exemple /input2.

Profitons-en pour transmettre le numéro de l'appelant en mettant à jour le champ URL {} en YOUR_URL/input1?from={{msg.call.from}}. Cela pourrait s'avérer utile plus tard si nous voulons conserver un enregistrement de ces numéros.

Ne pas cocher Submit on Hash Ne pas cocher cette case pour l'instant - cela signifie que l'entrée est envoyée par l'utilisateur qui appuie sur la touche # par exemple pour collecter un numéro de compte. Conserver la valeur par défaut de Time Outpar défaut, mais fixez la valeur de Max Digits à 1. Cela garantit que l'utilisateur ne peut appuyer que sur une seule touche avant que l'entrée ne soit envoyée, ce qui nous laisse un maximum de 9 options dans notre menu.

Providing an input for the IVR Answer action

Traiter les données

Une fois que l'appelant a soumis son entrée, nous devons l'écouter au nouveau webhook pour l'événement d'entrée.
Tout d'abord, nous devrons implémenter ce point d'accès pour capturer la valeur de l'entrée, puis, en fonction de cette valeur, continuer avec l'itinéraire choisi par l'appelant.

Pour prendre une décision basée sur la valeur d'entrée, nous utiliserons un nœud switch puis, pour chacune des options, nous construirons le NCCO en reliant des nœuds d'action, fermés par un nœud de sortie return NCCO nœud de sortie.

voice webhook

Commencez par ajouter un nœud voice webhook à votre espace de travail. Dans les propriétés du nœud, sélectionnez POST comme méthode et tapez /input dans le champ URL de réponse.

Si vous connectez un nœud debug après celui-ci, après avoir terminé et exécuté le flux, vous verriez les paramètres renvoyés à l /input URL :

Name Description
uuid The unique ID of the Call leg for the user initiating the input.
conversation_uuid The unique ID for this conversation.
timed_out Returns true if this input timed out based on the value of Time Out.
dtmf The numbers input by your caller, in order.

Dans notre cas d'utilisation, nous essayons d'obtenir la valeur dtmf car c'est la voie choisie par l'appelant.

En regardant de plus près la barre latérale de débogage à l'achèvement, nous pouvons voir qu'elle sera dans la propriété dtmf de l'objet call imbriqué dans l'objet msg de sorte que nous pouvons le référencer en tant que {{msg.call.dtmf}} dans les autres nœuds de ce chemin.

switch

Ensuite, nous allons séparer les différents itinéraires en fonction de la valeur {{msg.call.dtmf}} comme suit :

  1. est vide -> relire les options

  2. Ce n'est pas l'une des options proposées (contient 0, 4, 5, 6, 7, 8, 9) -> relire les options

  3. = 1 -> connecter l'appelant

  4. = 2 -> envoi à la messagerie vocale

  5. = 3 -> envoyer le lien de réservation en ligne par SMS à l'appelant.

Pour ce faire, ajoutez un nœud switch à votre canevas, dans son éditeur de nœuds, définissez Property à {{msg.call.dtmf}}puis définissez des règles pour les cinq cas mentionnés ci-dessus.

Building an IVR switch

Route 1 & 2 : Entrée invalide

Connecter les deux premières sorties du nœud switch à l'entrée du nœud talk à l'entrée du nœud. Ainsi, si l'appelant donne une entrée non valide (pas 1, 2 ou 3), le message TTS initial sera répété, énumérant les options disponibles.

Defining an invalid IVR input

Itinéraire 3 : Connecter l'appelant

Pour transférer l'appel entrant, nous devons le connecter à un nouveau point de terminaison - dans ce cas, un numéro de téléphone. Pour ce faire, nous avons besoin d'une connect action. En option, nous pouvons également ajouter un nœud talk pour informer l'appelant que la connexion est en cours.

Câblez un nœud talk dans la troisième sortie du nœud switch dans la troisième sortie du nœud, puis suivre avec un connect et un nœud return ncco nœud.

Tout d'abord, informons l'appelant qu'il est connecté. Dans les propriétés du talk définir la valeur de Text {} à quelque chose comme Veuillez patienter pendant que nous vous connectons. ou le message de votre choix. N'hésitez pas à personnaliser cette expérience en sélectionnant une option Voice Name ou en utilisant les [balises SSML] (/voice/voice-api/concepts/customizing-tts).

Ensuite, ouvrez l'éditeur de nœuds connect et sélectionnez Phone en tant que Endpoint et tapez le numéro que vous souhaitez appeler dans le champ Number {} dans le champ

Laissez le champ From {} Laissez le champ vide pour que l'identification de l'appelant apparaisse comme inconnue, ou remplissez-le avec l'un de vos numéros virtuels Nexmo.

Defining an IVR switch when connected

Si vous souhaitez avoir un aperçu du produit fini, appelez votre numéro Nexmo et essayez-le ! Veillez à ne pas appuyer sur la touche 2 ou 3car nous n'avons pas encore mis en place ces itinéraires.

Vous pouvez également consulter notre article de blog [Renvoyer un appel via un proxy Voice avec Node-RED] (https://developer.vonage.com/en/blog/forward-call-via-voice-proxy-node-red-dr) pour une explication plus détaillée de ce chemin.

Itinéraire 4 : Envoyer à la messagerie vocale

Le cas suivant que nous allons couvrir est celui où l'appelant appuie sur 2et choisit de laisser un message vocal.
Si vous souhaitez créer une boîte vocale à partir de zéro, consultez notre tutoriel [Construisez votre propre boîte vocale avec Node-RED et Nexmo Voice API] (https://developer.vonage.com/en/blog/build-voicemail-node-red-voice-api-dr) pour obtenir un guide étape par étape.

Sinon, importez depuis le presse-papiers le fichier JSON suivant dans votre éditeur Node-RED :

[
    {
        "id": "1a10292a.0468d7",
        "type": "talk",
        "z": "5b66a8fe.c283c",
        "text": "Please leave your message at the tone.",
        "voicename": "",
        "bargein": false,
        "loop": "",
        "level": "",
        "x": 150,
        "y": 140,
        "wires": [
            [
                "9f6c7f15.1e4d48"
            ]
        ]
    },
    {
        "id": "9f6c7f15.1e4d48",
        "type": "record",
        "z": "5b66a8fe.c283c",
        "format": "mp3",
        "channel": "",
        "endonsilence": "3",
        "endonkey": "",
        "timeout": "",
        "beepstart": true,
        "eventurl": "YOUR_URL/record?from={{msg.call.from}}",
        "eventmethod": "post",
        "x": 360,
        "y": 140,
        "wires": [
            [
                "f5ae270b.51ba6"
            ]
        ]
    },
    {
        "id": "3062ef0c.58d478",
        "type": "http in",
        "z": "5b66a8fe.c283c",
        "name": "",
        "url": "/record",
        "method": "post",
        "upload": false,
        "swaggerDoc": "",
        "x": 230,
        "y": 300,
        "wires": [
            [
                "5b9e35c2.78611c",
                "a0e2a9ff.c666d8",
                "200966c.00b679a"
            ]
        ]
    },
    {
        "id": "200966c.00b679a",
        "type": "http response",
        "z": "5b66a8fe.c283c",
        "name": "",
        "statusCode": "",
        "headers": {},
        "x": 510,
        "y": 300,
        "wires": []
    },
    {
        "id": "5b9e35c2.78611c",
        "type": "getrecording",
        "z": "5b66a8fe.c283c",
        "creds": "",
        "filename": "recordings/{{msg.req.query.from}}_{{msg.payload.timestamp}}.mp3",
        "x": 460,
        "y": 360,
        "wires": [
            [
                "1c3d166.591956a"
            ]
        ]
    },
    {
        "id": "a0e2a9ff.c666d8",
        "type": "debug",
        "z": "5b66a8fe.c283c",
        "name": "",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "x": 470,
        "y": 240,
        "wires": []
    },
    {
        "id": "a4651c0b.926068",
        "type": "e-mail",
        "z": "5b66a8fe.c283c",
        "server": "smtp.gmail.com",
        "port": "465",
        "secure": true,
        "tls": true,
        "name": "",
        "dname": "",
        "x": 930,
        "y": 360,
        "wires": []
    },
    {
        "id": "1c3d166.591956a",
        "type": "change",
        "z": "5b66a8fe.c283c",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "topic",
                "pt": "msg",
                "to": "'Voicemail from ' & msg.req.query.from",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 720,
        "y": 360,
        "wires": [
            [
                "a4651c0b.926068"
            ]
        ]
    },
    {
        "id": "5a0c6126.26ff9",
        "type": "return ncco",
        "z": "5b66a8fe.c283c",
        "name": "",
        "x": 770,
        "y": 140,
        "wires": []
    },
    {
        "id": "f5ae270b.51ba6",
        "type": "talk",
        "z": "5b66a8fe.c283c",
        "text": "Thank you, good bye!",
        "voicename": "",
        "bargein": false,
        "loop": "",
        "level": "",
        "x": 550,
        "y": 140,
        "wires": [
            [
                "5a0c6126.26ff9"
            ]
        ]
    }
]

Il y a deux choses que vous devez faire pour que cela fonctionne.

  1. Tout d'abord, connectez la quatrième sortie du nœud switch au nœud talk nœud.

  2. Ensuite, dans les propriétés du record remplacez VOTRE_URL par l'adresse à laquelle vous hébergez l'éditeur Node-RED (YOUR_URL/record?from={{msg.call.from}}).

  3. Dans le nœud Get Recording sous Références Nexmo sélectionnez votre Voice Application dans le menu déroulant.

  4. Dans le nœud email définissez l'adresse électronique To l'adresse électronique à laquelle vous souhaitez envoyer les enregistrements vocaux, puis indiquez les informations d'identification de votre client de messagerie dans les champs Userid et Password dans les champs

Frapper Déployeret votre boîte vocale devrait être opérationnelle. Essayez-le !

Defining an IVR voicemail

Itinéraire 5 : Lien par SMS

La dernière route que nous devons construire concerne le cas où l'appelant appuie sur 3pour choisir de recevoir un lien de réservation en ligne par SMS.

Commençons par Importer depuis le presse-papiers l'extrait ci-dessous :

[
    {
        "id": "a69bd1e4.39586",
        "type": "sendsms",
        "z": "5b66a8fe.c283c",
        "creds": "",
        "to": "{{msg.call.from}}",
        "fr": "",
        "text": "This is supposed to be your link :)",
        "unicode": false,
        "x": 550,
        "y": 660,
        "wires": [
            [
                "3fd04afe.60abf6"
            ]
        ]
    },
    {
        "id": "3fd04afe.60abf6",
        "type": "debug",
        "z": "5b66a8fe.c283c",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "x": 750,
        "y": 660,
        "wires": []
    },
    {
        "id": "2af4d230.bb1bbe",
        "type": "talk",
        "z": "5b66a8fe.c283c",
        "text": "Your message is on its way!",
        "voicename": "",
        "bargein": false,
        "loop": "",
        "level": "",
        "x": 350,
        "y": 600,
        "wires": [
            [
                "a69bd1e4.39586",
                "6f1df801.8db2e8"
            ]
        ]
    },
    {
        "id": "6f1df801.8db2e8",
        "type": "return ncco",
        "z": "5b66a8fe.c283c",
        "name": "",
        "x": 610,
        "y": 600,
        "wires": []
    }
]

Après l'avoir ajouté à votre espace de travail, connectez la dernière sortie du nœud switch dans l'entrée du nœud talk à l'entrée du nœud

defining the path for the IVR sms

Examinons maintenant de plus près les différents nœuds de ce chemin.

talk

Nous utilisons le nœud talk pour indiquer à l'appelant qu'il se passe quelque chose. N'hésitez pas à faire preuve de créativité avec des [noms de voix personnalisés]((/voice/voice-api/guides/text-to-speech#voice-names)) ou des [balises SSML]((/voice/voice-api/concepts/customizing-tts)), mais un simple "Votre message est en route ! suffira également.

return NCCO

Il est suivi d'un nœud return NCCO pour fermer ce chemin et renvoyer notre "ensemble d'instructions" à l'API Nexmo. Aucune configuration n'est nécessaire ici.

Send SMS

Le nœud Send SMS se charge des tâches les plus lourdes, car c'est lui qui envoie le SMS.
Vous pouvez configurer ce nœud en double-cliquant dessus et en remplissant les paramètres ci-dessous. Vous trouverez API KEY et API SECRET en cliquant sur le bouton d'édition à côté de Nexmo Credentialsaprès avoir sélectionné Ajouter un nouveau nexmobasic dans la liste déroulante.

KEY DESCRIPTION
API KEY Your Nexmo API key, shown in your [account overview](${CUSTOMER_DASHBOARD_URL}/getting-started-guide).
API SECRET Your Nexmo API secret, shown in your [account overview](${CUSTOMER_DASHBOARD_URL}/getting-started-guide).
TO The number you are sending the SMS to. In this case {{msg.call.from}}, the caller.
FROM The number or text shown on a handset when it displays your message. You can set a custom alphanumeric FROM to better represent your brand, if this feature is [supported in your country](https://help.nexmo.com/hc/en-us/articles/115011781468). Otherwise, add one of your Nexmo numbers.
TEXT The content of your message. Time to get creative :)

An IVR sms  node

Le nœud debug est totalement facultatif, mais il est utile lorsque vous souhaitez voir un peu plus de détails dans la barre latérale de débogage.

Vous pouvez consulter notre guide [Comment envoyer des messages SMS avec Node-RED] (https://developer.vonage.com/en/blog/send-sms-messages-node-red-dr) pour en savoir plus sur l'utilisation de l'API SMS.

Essayez-le !

Félicitations ! Vous venez de créer un menu de réponse vocale interactive entièrement fonctionnel ! Il est enfin temps de l'essayer, alors profitez-en !

Wha tthe final IVR looks like

Quelle est la prochaine étape ?

Ressources

Essayez un autre tutoriel !

Partager:

https://a.storyblok.com/f/270183/372x373/36054b72d0/julia-biro.png
Julia BiroDéfenseur des développeurs

Julia s'engage à aider ses collègues développeurs en créant des tutoriels, des guides et des ressources pratiques. Grâce à son expérience en matière de sensibilisation et d'éducation, elle vise à rendre la technologie plus accessible et à améliorer l'expérience globale des développeurs. Vous pouvez souvent la trouver lors d'événements communautaires locaux.