https://d226lax1qjow5r.cloudfront.net/blog/blogposts/announcing-vonage-ruby-sdk-version-7-4-0/blog_ruby-sdk-update_1200x600.png

Annonce de la version 7.4.0 du SDK Ruby de Vonage

Publié le March 19, 2021

Temps de lecture : 3 minutes

Le SDK Ruby de Vonage a récemment publié une nouvelle version, v7.4.0. Cette nouvelle version apporte pour la première fois au SDK la possibilité de créer des actions (" NCCO ") pour les appels vocaux programmables !

Examinons le raisonnement qui le sous-tend et son fonctionnement.

Qu'est-ce qu'un NCCO ?

L'API Voice de Vonage peut être considérée comme une conversation entre vous et l'API par l'intermédiaire de votre code. Vous indiquez à l'API comment vous voulez qu'elle se comporte pendant l'appel téléphonique avec des actions construites en JSON que vous envoyez à l'API Voice. Ces actions sont appelées NCCO.

Vous pouvez envoyer de la synthèse vocale, lancer l'enregistrement d'un appel, créer une conférence téléphonique et une myriade d'autres activités avec les NCCO. La Voice API agit sur chaque NCCO dans l'ordre séquentiel et, pour l'essentiel, de manière synchrone. Par exemple, supposons que vous souhaitiez commencer un appel par un message d'accueil en synthèse vocale, suivi d'une collecte de données vocales. Votre NCCO ressemblerait à ceci :

[
  {
    :action => "talk",
    :text => "Hello, please say something!"
  },
  {
    :action => "input",
    :type => ["speech"],
    :context => ["continue", "hangup", "main menu"]
  }
]

Dans l'exemple ci-dessus, la première action NCCO lit le message d'accueil "Bonjour, dites quelque chose !", tandis que l'action NCCO suivante recueille les données vocales. Nous incluons un paramètre facultatif supplémentaire de context dans l'action input qui donne des indications verbales au moteur de reconnaissance vocale sur le type de mots qu'il peut s'attendre à entendre de la part de la personne.

Construction du NCCO dans le SDK

Le processus de construction des BCN peut devenir assez complexe au fur et à mesure que les besoins de votre application ou de votre service augmentent. Chaque action du NCCO a ses propres exigences en matière de structure de données, et le fait d'essayer de se souvenir de chacune d'entre elles ou de devoir se référer continuellement au Guide de référence NCCO peut s'avérer accablant.

L'équipe SDK de Vonage estime que si un SDK se contente d'exécuter les requêtes HTTP vers l'API, il ne remplit pas pleinement son objectif. Un SDK doit permettre aux développeurs de construire avec les API de Vonage d'une manière plus rationnelle et plus agréable.

Maintenant, avec la version 7.4.0 du SDK Ruby de Vonage, il devient possible de créer des actions NCCO de façon programmatique avec une rétroaction et un soutien en temps réel en Ruby ! Voyons comment cela fonctionne.

Comment cela fonctionne-t-il ?

Le nouveau générateur de NCCO est similaire à la fonctionnalité du générateur de JWT en ce sens qu'il ne fait pas partie de l'instanciation du client du SDK. Il n'est pas nécessaire de transmettre des informations d'identification pour commencer à construire un NCCO.

Chaque action NCCO peut être construite en invoquant son nom en tant que méthode sur la Vonage::Voice::Ncco de la classe. Par exemple, l'action talk devient la méthode #talk et on y accède en invoquant Vonage::Voice::Ncco.talk. Chaque méthode accepte les paramètres énumérés dans le Guide de référence NCCO sur le portail du développeur API de Vonage.

En outre, le constructeur de NCCO fournit un retour d'information en temps réel sous la forme d'exceptions en cas de paramètres incorrects. Cela s'avère très utile lorsque vous construisez une action dont les exigences en matière de type ou de structure de données sont très spécifiques. Par exemple, un numéro de téléphone doit être dans la norme E.164 . Le constructeur du NCCO lèvera une exception en cas de paramètres incorrects. Le NCCO builder soulèvera une erreur et vous informera si le numéro que vous avez fourni ne correspond pas à cette spécification.

Nous avons commencé par l'exemple de deux actions NCCO, une talk et un discours inputpeut être construit avec le nouveau constructeur NCCO de la manière suivante :

talk = Vonage::Voice::Ncco.talk(text: 'Hello, please say something!')
input = Vonage::Voice::Ncco.input(type: ['speech'], context: ["continue", "hangup", "main menu"])

La dernière étape de la construction de votre BCN consiste à invoquer la méthode #build est d'invoquer la méthode La méthode #build accepte les objets d'action du NCCO et construit une structure JSON du NCCO complètement prête avec les NCCO dans l'ordre où ils ont été transmis. Ainsi, pour compléter les objets d'action talk et input nous devrions invoquer la méthode #build comme suit :

ncco = Vonage::Voice::Ncco.build(talk, input)

# => [{:action=>"talk", :text=>"Hello, please say something!!"}, {:action=>"input", :type=>["speech"], :speech=>{:context=>["continue", "hangup", "main menu"]}}]

Quelle est la prochaine étape ?

Nous avons d'autres projets passionnants pour le SDK Ruby ! Nous continuons à développer les fonctionnalités du SDK afin de l'aligner sur notre objectif d'être une ressource qui ne se contente pas de faire des requêtes HTTP pour vous, mais qui rend vos tâches plus faciles et plus rationnelles.

La participation de la communauté est toujours la bienvenue. N'hésitez pas à nous rejoindre sur GitHub et sur Communauté Vonage Slack.

Partager:

https://a.storyblok.com/f/270183/384x384/e5480d2945/ben-greenberg.png
Ben GreenbergAnciens de Vonage

Ben est un développeur en seconde carrière qui a auparavant passé une décennie dans les domaines de la formation pour adultes, de l'organisation communautaire et de la gestion d'organisations à but non lucratif. Il a travaillé comme défenseur des développeurs pour Vonage. Il écrit régulièrement sur l'intersection du développement communautaire et de la technologie. Originaire de Californie du Sud et ayant longtemps vécu à New York, Ben réside aujourd'hui près de Tel Aviv, en Israël.