https://d226lax1qjow5r.cloudfront.net/blog/blogposts/send-and-request-data-with-webhooks-with-ai-studio/send-request-data_webhooks_ai-studio.png

Senden und Abfragen von Daten mit Webhooks mit AI Studio

Zuletzt aktualisiert am November 29, 2022

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 Dialogintegrations.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.

Testing our Webhook calltest-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.

Testing our Webhook callsystem_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.

Testing our Webhook callwebhook-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 Returnedno-data-returned.png

Wir können dies beheben, indem wir auf die Schaltfläche Einstellungen Symbol klicken und eine ANRUFER_TELEFONNUMMER, wie unten gezeigt.

Specifying a Phone Numbersetting-system-parameters.png

Wenn Sie nun auf Anfrage erneut sendendrücken, erhalten Sie eine korrekte Antwort, wie unten dargestellt.

Resent Webhook Requestsuccessful-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 Selectionparameters-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:

Custom Parametersparameters.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 Mappingresponse-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 Mappingresponse-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 Nodecollect-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.

Collect Input Nodeparameter-input-number.png

Jetzt verbinden wir den Webhook 1 mit dem Eingabe sammeln 1 Knoten wie unten gezeigt.

Connect Webhook Collect Inputconnect-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 Requirementscondition-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 Nodespeak-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 Resultfinal-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 Inital Parametersset-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 Completedtester-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:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael CrumpManager, Entwicklererfahrungen

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.