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

Aktionsabläufe, die Sie mit der Sprach-API durchführen können

Zuletzt aktualisiert am March 27, 2023

Lesedauer: 4 Minuten

Sie können hochwertige programmierbare Sprachanwendungen in der Cloud erstellen mit Vonage Sprach-API und Python erstellen. Sie können zum Beispiel ausgehende und eingehende Anrufe in Call Control Objects verwalten, Anrufe aufzeichnen und speichern, eine Telefonkonferenz erstellen, Text-to-Speech-Nachrichten in vielen Sprachen mit einer Vielzahl von Stimmen und Akzenten.

NCCO - sind Call Control Objects (NCCOs), die den Ablauf eines Voice-API-Anrufs beschreiben. NCCO wird durch ein JSON-Array dargestellt. Control Object ist ein wesentlicher Teil eines Anrufs, der Anweisungen enthält, die während des Anrufs erfolgen müssen. Zum Beispiel, in welcher Reihenfolge und wie das Gespräch ablaufen soll.

Dieser Artikel beschreibt, wie man den NCCO-Builder am Beispiel von Python-Code-Schnipseln.

NCCO-Erstellung, Python SDK

Verwenden Sie den Builder, um gültige NCCO-Aktionen zu erstellen, die im SDK wie folgt modelliert sind Pydantic Modelle modelliert sind, und bauen sie in ein NCCO ein. In pydantischen Modellen beschrieben erforderliche und optionale Parameter für zugehörige NCCO-Aktionen. Die vom Builder unterstützten NCCO-Aktionen sind:

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')

Möchten Sie den NCCO-Builder in Ihrer Anwendung verwenden? Zuerst müssen Sie Vonage SDK installieren

pip install vonage

Und importieren Sie Vonage-Pakete

import vonage
from vonage import Ncco

Einbindung in ein NCCO

Die Methode Ncco.build_ncco kann eine NCCO aus den Aktionen erstellen. Dieser wird als eine Liste von Wörterbüchern zurückgegeben, die jede Aktion repräsentieren, und kann in Aufrufen der Sprach-API verwendet werden.

Die Liste der erforderlichen und optionalen Parameter finden Sie auf der NCCO-Referenzseite

Erstellen wir ein NCCO, das zwei Benutzer verbinden kann.

Der folgende Code konstruiert die Aktionen, Talk und Connect, die wir benötigen

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

Bei der Aktion "Verbinden" ist jeder gültige Endpunkttyp (Telefon, Anwendung, WebSocket, SIP und VBC) als Pydantic-Modell spezifiziert, so dass diese validiert werden können, obwohl es auch möglich ist, ein Diktat mit den Endpunkteigenschaften direkt an das Ncco.Connect Objekt zu übergeben.

Erstellen wir ein NCCO mit build_ncco Methode und zwei Aktionen

ncco = Ncco.build_ncco(talk, connect)

Das folgende JSON wird erstellt

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

Wenn Sie ein NCCO-Objekt verwenden, können Sie es validieren hier.

Wenn Sie NCCO builder verwenden, können Sie Fehlermeldungen im Terminal erhalten Die folgende Zeichenfolge kann eine Terminal-Fehlermeldung anzeigen, wenn eine der erforderlichen Aktionsoptionen nicht gültig ist

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

Nachbereitung

Der neue NCCO-Builder vereinfacht und automatisiert die Erstellung von Aktionen. Anhand der offiziellen Dokumentation und der Beispiele in diesem Tutorial können Sie den NCCO-Builder für Ihre Anwendung nutzen. Anmelden/registrieren kostenlos an und erstellen Sie Ihre Voice-Anwendung mit der neuen programmatischen Erstellung von Call Control Objects.

Share:

https://a.storyblok.com/f/270183/400x409/b965ab37c0/oleksii-borysenko.png
Oleksii BorysenkoVonage Ehemalige

Oleksii ist ein Developer Advocate bei Vonage, Autor und Geschichtenerzähler. Seine Interessen umfassen KI/ML, Unified Communications, Bildungstechnologien, Cloud-Technologien und Open Source.