
Teilen Sie:
Ben ist ein Entwickler im zweiten Beruf, der zuvor ein Jahrzehnt in den Bereichen Erwachsenenbildung, Community-Organisation und Non-Profit-Management tätig war. Er arbeitete als Anwalt für Entwickler bei Vonage. Er schreibt regelmäßig über die Überschneidung von Gemeindeentwicklung und Technologie. Ursprünglich aus Südkalifornien stammend und lange Zeit in New York City ansässig, wohnt Ben jetzt in der Nähe von Tel Aviv, Israel.
Ankündigung des Vonage Ruby SDK Version 7.4.0
Das Vonage Ruby SDK hat kürzlich eine neue Version, v7.4.0, veröffentlicht. Mit dieser neuen Version bietet das SDK zum ersten Mal die Möglichkeit, Aktionen ("NCCO") für programmierbare Sprachanrufe zu erstellen!
Lassen Sie uns untersuchen, was dahinter steckt und wie es funktioniert.
Was ist ein NCCO?
Die Vonage Voice API kann als ein Gespräch zwischen Ihnen und der API betrachtet werden, das durch Ihren Code vermittelt wird. Sie teilen der API mit, wie sie sich während des Telefonats verhalten soll, und zwar mit Aktionen, die Sie in JSON an die Voice API senden. Diese Aktionen werden als NCCOs bezeichnet.
Sie können Text-to-Speech senden, eine Gesprächsaufzeichnung initiieren, eine Telefonkonferenz einrichten und eine Vielzahl anderer Aktivitäten mit NCCOs durchführen. Die Voice API wirkt auf jeden NCCO in sequenzieller Reihenfolge und größtenteils synchron. Nehmen wir zum Beispiel an, Sie möchten einen Anruf mit einer Text-to-Speech-Ansage beginnen, gefolgt von der Erfassung von Spracheingaben. Ihr NCCO würde wie folgt aussehen:
[
{
:action => "talk",
:text => "Hello, please say something!"
},
{
:action => "input",
:type => ["speech"],
:context => ["continue", "hangup", "main menu"]
}
]
Im obigen Beispiel liest die erste NCCO-Aktion die Begrüßung "Hallo, bitte sagen Sie etwas!" vor, während die nächste NCCO-Aktion die Spracheingabe erfasst. Wir fügen einen zusätzlichen optionalen Parameter von context in die input ein, der der Spracherkennungsmaschine einige verbale Hinweise darauf gibt, welche Art von Worten sie von der Person erwarten kann.
NCCO-Gebäude im SDK
Der Prozess der Erstellung von NCCOs kann ziemlich komplex werden, wenn die Anforderungen Ihrer Anwendung oder Ihres Dienstes wachsen. Jede NCCO-Aktion hat ihre eigenen spezifischen Anforderungen an die Datenstruktur, und der Versuch, sich jede einzelne zu merken oder ständig auf das NCCO-Referenzhandbuch zurückgreifen zu müssen, kann überwältigend sein.
Das SDK-Team bei Vonage ist der Meinung, dass ein SDK, das nur die HTTP-Anfragen an die API ausführt, seinen Zweck nicht vollständig erfüllt. Ein SDK sollte es Entwicklern ermöglichen, mit den Vonage APIs auf eine Weise zu arbeiten, die effizienter und angenehmer ist.
Mit der Version 7.4.0 des Vonage Ruby SDK ist es nun möglich, NCCO-Aktionen programmatisch mit Echtzeit-Feedback und Unterstützung in Ruby zu erstellen! Schauen wir uns an, wie es funktioniert.
Wie funktioniert es?
Der neue NCCO-Builder ähnelt der JWT-Generatorfunktionalität, da er nicht Teil der Client-Instanziierung des SDK ist. Sie müssen keine Anmeldeinformationen übergeben, um mit der Erstellung eines NCCO zu beginnen.
Jede NCCO-Aktion kann erstellt werden, indem ihr Name als Methode in der Vonage::Voice::Ncco Klasse. Zum Beispiel, die talk Aktion wird die #talk Methode und wird durch den Aufruf von Vonage::Voice::Ncco.talk. Jede Methode nimmt die Parameter an, die im NCCO-Referenzhandbuch auf dem Vonage API-Entwicklerportal aufgeführt sind.
Darüber hinaus gibt der NCCO-Builder Echtzeit-Feedback in Form von Ausnahmen für falsche Parameter. Dies ist sehr hilfreich, wenn Sie eine Aktion konstruieren, die sehr spezifische Anforderungen an den Datentyp oder die Datenstruktur hat. Ein Beispiel: Eine Telefonnummer muss in E.164 Format vorliegen. Der NCCO-Builder gibt eine Fehlermeldung aus und informiert Sie, wenn die von Ihnen angegebene Nummer nicht dieser Spezifikation entspricht.
Das Beispiel, mit dem wir begonnen haben, sind zwei NCCO-Aktionen, eine talk und einer Rede inputkann mit dem neuen NCCO-Builder wie folgt aufgebaut werden:
talk = Vonage::Voice::Ncco.talk(text: 'Hello, please say something!')
input = Vonage::Voice::Ncco.input(type: ['speech'], context: ["continue", "hangup", "main menu"])Der letzte Schritt bei der Erstellung Ihres NCCO ist der Aufruf der #build Methode aufzurufen. Die #build Methode akzeptiert die NCCO-Aktionsobjekte und erstellt eine vollständig fertige NCCO-JSON-Struktur mit den NCCOs in der Reihenfolge, in der sie übergeben wurden. Um also die talk und input Aktionen zu vervollständigen, würden wir die #build Methode wie folgt aufrufen:
ncco = Vonage::Voice::Ncco.build(talk, input)
# => [{:action=>"talk", :text=>"Hello, please say something!!"}, {:action=>"input", :type=>["speech"], :speech=>{:context=>["continue", "hangup", "main menu"]}}]
Was kommt als Nächstes?
Wir haben weitere spannende Pläne für das Ruby-SDK in Arbeit! Wir bauen die Funktionen des SDKs weiter aus, um es noch besser auf unser Ziel auszurichten, eine Ressource zu sein, die nicht nur HTTP-Anfragen für Sie stellt, sondern vor allem Ihre Aufgaben einfacher und effizienter macht.
Wir freuen uns immer über die Beteiligung der Gemeinschaft. Sie können sich uns gerne auf GitHub und dem Vonage Community Slack.
Teilen Sie:
Ben ist ein Entwickler im zweiten Beruf, der zuvor ein Jahrzehnt in den Bereichen Erwachsenenbildung, Community-Organisation und Non-Profit-Management tätig war. Er arbeitete als Anwalt für Entwickler bei Vonage. Er schreibt regelmäßig über die Überschneidung von Gemeindeentwicklung und Technologie. Ursprünglich aus Südkalifornien stammend und lange Zeit in New York City ansässig, wohnt Ben jetzt in der Nähe von Tel Aviv, Israel.