https://d226lax1qjow5r.cloudfront.net/blog/blogposts/action-flows-that-you-can-do-with-the-voice-api/action-flows_python_voiceapis.jpg

Flux d'actions que vous pouvez réaliser avec l'API Voice

Publié le March 27, 2023

Temps de lecture : 5 minutes

Vous pouvez créer des applications vocales programmables de haute qualité dans le nuage avec Voice API de Vonage de Vonage et Python. Par exemple, vous pouvez gérer les appels sortants et entrants dans des objets de contrôle d'appel, enregistrer et stocker des appels, créer une conférence téléphonique, envoyer des messages de synthèse vocale dans de nombreuses langues avec des variétés de voix et d'accents.

NCCO - Il s'agit d'objets de contrôle d'appel (NCCO) qui décrivent le flux d'un appel de l'API Voice. Le NCCO est représenté par un tableau JSON. L'objet de contrôle est une partie essentielle d'un appel qui contient des instructions qui doivent se produire pendant l'appel. Par exemple, l'ordre et la manière dont la conversation doit se dérouler.

Cet article décrit comment utiliser le NCCO builder à l'aide d'extraits de code Python à titre d'exemple.

NCCO builder, Python SDK

Utilisez le constructeur pour construire des actions NCCO valides, qui sont modélisées dans le SDK en tant que Pydantic et les intégrer dans un NCCO. Dans les modèles pydantiques décrits les paramètres obligatoires et facultatifs pour l'action NCCO correspondante. Les actions NCCO prises en charge par le constructeur sont les suivantes :

NCCO action Sample of NCCO Python object
Record record = Ncco.Record(eventUrl=['https://example.com'])
Conversation conversation = Ncco.Conversation(name='Audio demo')
Connect connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'})
Talk talk = Ncco.Talk(text='Press 1 for maybe and 2 for not sure followed by the hash key', language='en-GB')
Stream stream = Ncco.Stream(streamUrl='https://nexmo-community.github.io/ncco-examples/assets/voice_api_audio_streaming.mp3')
Input input = Ncco.Input(type=['dtmf', 'speech'], dtfm={'maxDigits':'1'})
Notify notify = Ncco.Notify(payload={"foo": "bar"}, eventUrl='https://example.com/webhooks/event')

Voulez-vous utiliser le constructeur NCCO dans votre application ? Tout d'abord, vous devez installer le SDK de Vonage

pip install vonage

Et importer des paquets Vonage

import vonage
from vonage import Ncco

S'intégrer dans un OCNI

Méthode Ncco.build_ncco peut créer un NCCO à partir des actions. Celui-ci sera renvoyé sous la forme d'une liste de dictionnaires représentant chaque action et pourra être utilisé dans les appels à l'API Voice.

La liste des paramètres obligatoires et facultatifs se trouve sur la page de référence du NCCO page de référence du NCCO

Créons un NCCO capable de connecter deux utilisateurs.

Le code suivant construit les actions, parler et se connecter, dont nous avons besoin

talk = Ncco.Talk(text='Please wait while we connect you.')
connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'}, from_ = '12345678', timeout='20')

L'action Connect a chaque type de point d'extrémité valide (téléphone, application, WebSocket, SIP et VBC) spécifié en tant que modèle Pydantique, de sorte qu'ils peuvent être validés, bien qu'il soit également possible de passer un dict avec les propriétés du point d'extrémité directement dans l'objet Ncco.Connect directement dans l'objet

Créons un NCCO avec la méthode build_ncco et deux actions

ncco = Ncco.build_ncco(talk, connect)

Le fichier JSON suivant sera créé

[
   {
      "action": "talk",
      "text": "Please wait while we connect you."
   },
   {
      "action": "connect",
      "endpoint" :[
         {
            "type": "phone",
            "number": "123456789"
         }
      ],
      "from": "12345678",
      "timeout":20
   }
]

Si vous utilisez un objet NCCO, vous pouvez le valider ici.

Si vous utilisez NCCO builder, vous pouvez recevoir des messages d'erreur dans le terminal La chaîne suivante peut afficher un message d'erreur dans le terminal si l'une des options d'action requises n'est pas valide

string does not match regex "^[1-9]\d{6,14}$" (type=value_error.str.regex; pattern=^[1-9]\d{6,14}$)

Synthèse

Le nouveau NCCO builder simplifie et automatise la création d'actions. Sur la base de la documentation officielle et des exemples de ce tutoriel, vous pouvez utiliser NCCO builder pour votre application. Inscrivez-vous gratuitement gratuitement et créez votre application Voice en utilisant la nouvelle création programmatique des objets de contrôle d'appel.

Partager:

https://a.storyblok.com/f/270183/400x409/b965ab37c0/oleksii-borysenko.png
Oleksii BorysenkoAnciens de Vonage

Oleksii est Developer Advocate chez Vonage, auteur et conteur. Il s'intéresse à l'IA/ML, aux communications unifiées, aux technologies de l'éducation, aux technologies cloud et à l'open source.