
Teilen Sie:
Michael Crump arbeitet bei Vonage im Developer Experiences Team und ist Programmierer, YouTuber und häufiger Sprecher zu verschiedenen Themen der .NET- und Cloud-/Kommunikationsentwicklung. Seine Leidenschaft ist es, Entwicklern die Vorteile der jeweiligen Technologien auf einfache Art und Weise näher zu bringen.
Senden und Abfragen von Daten mit Webhooks mit AI Studio
Lesedauer: 6 Minuten
Einführung
Vonage AI Studio ist eine Low-Code/No-Code-Plattform für künstliche Intelligenz, die Unternehmen bei der Abwicklung komplexer Kundeninteraktionen über Sprache und Text unterstützt. Wenn Sie mit AI Studio virtuelle Agenten erstellen, wird es nicht lange dauern, bis Sie Daten aus einer Drittquelle wie einem Webhook abrufen müssen. In diesem Blogbeitrag erfahren Sie mehr:
Wie man Daten von einem Webhook in AI Studio von einem REST-Endpunkt abruft
Speichern der Daten als Parameter (zur späteren Verwendung)
Beispiele für bedingte Anweisungen zur Durchführung von Operationen mit den Daten
Um zu verstehen, wie man mit einem Webhook in AI Studio interagiert, verwenden wir ein Szenario, in dem eine Bank die Identität eines Kunden überprüfen möchte, indem sie eine Pin-Nummer mit der von einem Webhook abgerufenen Nummer abgleicht.
Verstehen der Nutzlastdaten
Nachfolgend finden Sie einen Ausschnitt der Daten, die in unserer Beispiel-Nutzlast zurückgegeben werden:
[
...
{
"id": 4,
"email": "michael.crump@vonage.com",
"phone": "14259999999",
"name": "Michael Crump",
"cc_balance": "76.31",
"pin": "1234"
}
]Sobald der Kunde die Telefonnummer der Bank wählt, verwenden wir die Telefon Nummer den richtigen Wert für die Pin über diesen Webhook.
Die Integration derWebhook
Zu diesem Zeitpunkt haben Sie bereits ein AI Studio Projekt erstellt, das eine Eingehende Aufruf verwendet. Wenn Sie dies noch tun müssen, dann folgen Sie bitte dieser Anleitung. Blättern Sie von der Seite Knoten Menü nach unten bis Sie zu Integrationenund wählen Sie Webhookund ziehen Sie ihn per Drag & Drop auf Ihre Leinwand.
integrations.png
Klicken Sie auf das neu erstellte Webhook-Ereignis, da Sie Ihre Endpunkt-URL angeben müssen.
Da die Abfrage auf der Grundlage der Telefonnummer erfolgt, verwenden wir die folgende fest kodierte URL (die auf eine bestimmte Telefonnummer verweist): https://my-json-server.typicode.com/mbcrump/ai-studio-api/customers?phone=14259999999. Nachdem Sie sie hinzugefügt haben, drücken Sie Anfrage testen wie unten gezeigt.
Wenn Sie mehr über den Chatbot Tester erfahren möchten, dann klicken Sie hier.
test-webhook-1.png
Wenn Sie einen Status von 200 sehen, bedeutet dies, dass die Anfrage erfolgreich zurückgegeben wurde (Sie können in der Antwort sehen Sie die Informationen, die wir auf der Grundlage der Telefonnummer dieses Benutzers (die fest einprogrammiert wurde) zurückerhalten haben.
Während diese Daten in der Abfrage-URL fest einkodiert wurden, wie übergibt AI Studio diese Informationen auf der Grundlage der aufgerufenen Nummer? An dieser Stelle werden wir einen der vordefinierten Systemparameter genannt ANRUFER_TELEFONNUMMER, wie unten gezeigt.
system_parameters.png
Sie können diesen Dialog aufrufen, indem Sie die Taste $ drücken und den gewünschten Systemparameter auswählen. Unsere URL lautet nun https://my-json-server.typicode.com/mbcrump/ai-studio-api/customers?phone=$CALLER_PHONE_NUMBER.
Sobald Sie fertig sind, drücken Sie bitte Speichern & Beenden.
webhook-with-phone-number.png
Wenn wir jetzt versuchen, den WebHook zu testen, erhalten wir einen 200-Statuscode, aber in der Antwort sind keine Daten enthalten.
no-data-returned.png
Wir können dies beheben, indem wir auf die Schaltfläche Einstellungen Symbol klicken und eine ANRUFER_TELEFONNUMMER, wie unten gezeigt.
setting-system-parameters.png
Wenn Sie nun auf Anfrage erneut sendendrücken, erhalten Sie eine korrekte Antwort, wie unten dargestellt.
successful-response.png
Einrichten von Parametern, um etwas mit den zurückgegebenen Daten zu tun
Da wir nun einen WebHook von AI Studio aus aufrufen und Daten zurückgeben können, werden wir folgende Parameter verwenden Parameter verwenden, um spezifische Informationen aus den Benutzereingaben zu extrahieren und zu nutzen. Um zum Beispiel die Informationen eines Benutzers zu erfassen (z.B. PIN oder Kontostand), müssen Sie einen Parameter definieren, der die Informationen speichert, damit sie später abgerufen werden können.
Zu zu erstellen einen Parameter zu erstellen, klicken Sie in der linken Navigation auf Eigenschaften dann Parameter.
parameters-selection.png
Fügen Sie einen Parameter hinzu, indem Sie auf die erste Zeile des Fensters Benutzerdefinierte Parameter Tabelle.
Wir müssen hier vier Parameter hinzufügen, um die zum Kunden gehörende PIN, die vom Kunden eingegebene PIN, den Namen des Kunden und den Kontostand für den Fall, dass der Kunde erfolgreich eine PIN-Nummer eingegeben hat, zu speichern.
| Name | Entity Type |
|---|---|
| pin_number | @ sys.number |
| input_number | @ sys.number |
| name | @ sys.any |
| balance | @ sys.number |
Ihr Bildschirm sollte nach Fertigstellung wie folgt aussehen:
parameters.png
Presse Schließen sobald Sie alle Informationen eingegeben haben.
Klicken Sie auf Webhaken 1 und schauen Sie unter Antwort-Mapping. Hier geben wir den ersten Objekt-Pfad als [0][name] ein und geben ihm den Parameter den wir erstellt haben namens Name.
response-mapping.png
Wir kassieren den Restbetrag und PIN während wir hier sind.
Nachdem Sie sie hinzugefügt haben, sollte Ihr Bildschirm wie folgt aussehen:
response-mapping-1.png
Wenn Sie fertig sind, vergessen Sie nicht, auf Speichern & Beenden.
Wir verwenden eine Eingabe sammeln Knoten, um den Benutzer nach seiner PIN zu fragen. Ziehen Sie den Knoten per Drag & Drop aus dem Bereich Konversation Menü.
collect-input.png
Für die Parameterverwenden Sie die Eingabe_Nummer die wir zuvor definiert haben. Für Aufforderungengeben Sie "Geben Sie Ihre vierstellige PIN-Nummer ein, um auf Ihr Konto zuzugreifen" oder etwas Ähnliches ein, wie unten gezeigt.
parameter-input-number.png
Jetzt verbinden wir den Webhook 1 mit dem Eingabe sammeln 1 Knoten wie unten gezeigt.
connect-webhook-collect-input.png
Ziehen und Ablegen einer Bedingung Knoten aus dem Bereich Konversation Menü. Klicken Sie auf "Standard" innerhalb der Notiz und drücken Sie Bedingung erstellen.
Wie unten dargestellt, erstellen wir eine Bedingung, die überprüft, ob die Eingabenummer die eingegeben wurde, mit der PIN von unserem Webhook übereinstimmt.
condition-req.png
Wenn Sie fertig sind, vergessen Sie nicht, auf Speichern & Beenden.
Ziehen und Ablegen von zwei weiteren Sprechen Konversationsknoten auf die Leinwand. Für den Sprechen 2 Knoten geben Sie die Nachricht ein, Verification Successful Welcome $name. Your balance is $balance. Dabei ist $name der Parameter ist, den wir zuvor definiert haben.
speak-2-node.png
Für die Sprechen 3 geben Sie die Nachricht "Es tut mir leid, das war nicht korrekt." ein, wobei $name der Parameter ist, den wir zuvor definiert haben. Wenn Sie fertig sind, drücken Sie Enter und vergessen Sie nicht, auf Speichern & Beenden.
Fügen Sie schließlich einen Aufruf beenden Knoten auf der Leinwand hinzu.
Nun müssen Sie die Bedingung 1 (Neue Bedingung) mit Sprich 2 und Bedingung 1 (Standard) zu Sprechen Sie 3. Dann verbinden Sie Speak 2 und Lautsprecher 3 mit dem Anruf beenden 1 Knoten, wie unten gezeigt.
final-result.png
Drücken Sie den Prüfgerät oben rechts auf dem Bildschirm, und wählen Sie dann Eingehender Anruf als Ereignis und dann Chat starten. Sie müssen die anfänglichen Parameter einstellen, wie wir es bereits für die ANRUFER_TELEFONNUMMER und setzen Sie sie auf 14259999999.
set-initial-parameters.png
Wenn Sie nun das Prüfprogramm erneut ausführen, können Sie eine vierstellige Nummer eingeben (z. B. 1234), und der virtuelle Agent gibt Ihren Nameund Kontostand aus der Datei db.json Datei wie unten gezeigt.
tester-chat-completed.png
Großartig! Wir haben erfolgreich einen Webhook implementiert und eine Logik für die zurückgegebenen Daten erstellt.
Nachbereitung
Jetzt sind Sie an der Reihe. Es gibt mehrere Möglichkeiten, wie wir die Anwendung erweitern können, z. B.:
Die Logik für einen Fall, in dem keine PIN gefunden wird
Webhook-Authentifizierung für Sicherheitszwecke wie Authentifizierungstoken usw.
Maximale Anzahl von Wiederholungsversuchen im Falle eines Fehlversuchs
Worauf warten Sie noch? Gehen Sie rüber zu AI Studio um Ihre Reise zu beginnen.
Wenn Sie Fragen oder Feedback haben, besuchen Sie den Vonage Entwickler-Slack oder senden Sie mir einen Tweet auf Twitterund ich werde auf Sie zurückkommen. Nochmals vielen Dank fürs Lesen, und wir sehen uns beim nächsten Mal!
Teilen Sie:
Michael Crump arbeitet bei Vonage im Developer Experiences Team und ist Programmierer, YouTuber und häufiger Sprecher zu verschiedenen Themen der .NET- und Cloud-/Kommunikationsentwicklung. Seine Leidenschaft ist es, Entwicklern die Vorteile der jeweiligen Technologien auf einfache Art und Weise näher zu bringen.