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

AI Studioを使ったWebhooksによるデータの送信とリクエスト

最終更新日 November 29, 2022

所要時間:2 分

はじめに

ボンテージAIスタジオはローコード/ノーコードの会話型AIプラットフォームで、企業がVoiceやテキストを通じて複雑な顧客とのやり取りを処理できるよう支援します。AI Studioでバーチャルエージェントを作成すると、Webhookのようなサードパーティのソースからデータを取得する必要が出てきます。このブログポストでは、次のことを学びます:

  • AI StudioでRESTエンドポイントからWebhookのデータを取得する方法

  • データをパラメータとして保存する方法(後で使用するため)

  • データに対して操作を実行するための条件文の例

AI StudioでWebhookとどのようにやり取りするかを理解するために、銀行がWebhookから取得した番号とピン番号を照合することで顧客の身元を確認するシナリオを使用します。

ペイロードデータを理解する

以下は、サンプルのペイロードで返されるデータのスニペットです:

[
  ...
  {
    "id": 4,
    "email": "michael.crump@vonage.com",
    "phone": "14259999999",
    "name": "Michael Crump",
    "cc_balance": "76.31",
    "pin": "1234"
  }
]

顧客が当行の電話番号にダイヤルすると、当行はその電話番号を使用する。 電話番号の正しい値を調べます。 ピンこのWebhookを通じて

を統合する。ウェブフック

この時点で、あなたはすでにAI Studioプロジェクトを作成しています。 インバウンドコールを使用するAI Studioプロジェクトを作成済みです。まだ必要な場合は、次のガイドに従ってください。 ガイド.から下にスクロールして ノードメニューから 統合までスクロールし ウェブフックを選択し、それをキャンバスにドラッグ・アンド・ドロップします。

Integrations Dialogintegrations.png

新しく作成したWebhookイベントをクリックし、エンドポイントURLを入力します。

電話番号に基づいてクエリーするので、以下のハードコードされたURL(特定の電話番号を指す)を使用します: https://my-json-server.typicode.com/mbcrump/ai-studio-api/customers?phone=14259999999.これを追加したら テストリクエストを押してください。

チャットボット・テスターについてもっと知りたい方は をクリックしてください。.

Testing our Webhook calltest-webhook-1.png

ステータスが200であれば、リクエストは正常に返されたことになります。 レスポンスに、このユーザーの電話番号(ハードコードされたもの)に基づいて返された情報を見ることができます。

このデータはクエリURLにハードコードされていますが、AI Studioは呼び出された番号に基づいてどのようにこの情報を渡すのでしょうか。ここで、定義済みの システムパラメータと呼ばれる caller_phone_number、を使用します。

Testing our Webhook callsystem_parameters.png

このダイアログは $を押し、使用したいシステム・パラメータを選択することでこのダイアログを呼び出すことができます。これでURLは https://my-json-server.typicode.com/mbcrump/ai-studio-api/customers?phone=$CALLER_PHONE_NUMBER.

完了したら 保存して終了.

Testing our Webhook callwebhook-with-phone-number.png

今WebHookをテストしようとすると、200のステータスコードが返ってきますが、レスポンスの中にはデータはありません。

No Data Returnedno-data-returned.png

この問題は 設定アイコンをクリックして 発信者電話番号を指定します。

Specifying a Phone Numbersetting-system-parameters.png

ここで リクエストを再送するを押すと、以下のように適切なレスポンスが返ってくる。

Resent Webhook Requestsuccessful-response.png

返されたデータで何かをするためのパラメータの設定

AI StudioからWebHookを呼び出してデータを返すことができるようになったので、次のように使用します。 パラメータを使用して、ユーザーの入力から特定の情報を抽出して利用します。例えば、ユーザーの情報(暗証番号やAccount残高など)を収集するには、後でアクセスできるように情報を保存するパラメータを定義する必要があります。

作成 作成するにはをクリックします。 プロパティ次に パラメータ.

Parameters Selectionparameters-selection.png

の最初の行をクリックしてパラメータを追加します。 カスタムパラメータテーブルの最初の行をクリックしてパラメータを追加します。

ここに4つのパラメータを追加して、顧客に属するPIN、顧客が入力したPIN、顧客の名前、PIN番号の入力に成功した場合のAccount残高を保存する必要がある。

Name Entity Type
pin_number @ sys.number
input_number @ sys.number
name @ sys.any
balance @ sys.number

完了すると、画面は以下のようになるはずです:

Custom Parametersparameters.png

プレス 閉じるを押してください。

をクリックしてください。 ウェブフック1をクリックし レスポンスマッピング.ここで、最初の オブジェクトパス[0][name]を入力し パラメータという名前で作成した 名前.

Response Mappingresponse-mapping.png

残金を回収する 差額そして 暗証番号を集めます。

追加後、画面は以下のようになるはずだ:

Response Mappingresponse-mapping-1.png

完了したら 保存して終了.

を使用します。 入力を収集するノードを使用します。このノードを 会話メニューからノードをドラッグ&ドロップします。

Collect Input Nodecollect-input.png

については パラメーターには input_numberを使う。プロンプト プロンプトには、"Enter your four-digit pin number to access your account." などと入力する。

Collect Input Nodeparameter-input-number.png

次に ウェブフック1Collect Input 1ノードに接続します。

Connect Webhook Collect Inputconnect-webhook-collect-input.png

をドラッグ&ドロップする。 条件ノードを 会話メニューから条件ノードをドラッグ&ドロップする。ノートの中の "Default "をクリックして 条件を作成.

以下に示すように、以下の条件を作成します。 入力番号PINと一致するかどうかをチェックする条件を作成します。

Condition Requirementscondition-req.png

完了したら 保存して終了.

ドラッグ&ドロップであと2つ 会話会話ノードをキャンバスにドロップします。その際 スピーク2ノードにメッセージを入力します、 Verification Successful Welcome $name. Your balance is $balance.ここで $nameは先ほど定義したパラメータです。

Speak 2 Nodespeak-2-node.png

について スピーク3というメッセージを入力します。 $nameは先ほど定義したパラメータです。入力が完了したら、Enterキーを押し、忘れずに 保存して終了.

最後に 終了コールノードを追加する。

を接続する必要があります。 コンディション1(新しい条件)を スピーク2条件1(デフォルト)を スピーク3.次に スピーク2スピーク3通話終了1ノードに接続する。

Final Resultfinal-result.png

を押す テスターボタンを押し、次に インバウンドコールを選択し、次に チャットを開始.初期パラメータを設定する必要があります。 の初期パラメータを設定する必要があります。に設定する必要があります。 14259999999.

Set Inital Parametersset-initial-parameters.png

テスターツールを再実行する場合、4桁の数字(1234など)を入力すると、バーチャルエージェントはあなたの 名前口座残高を返します。 db.jsonファイルから見つかった口座残高が返されます。

Tester Chat Completedtester-chat-completed.png

すごい!Webhookの実装に成功し、返されたデータを使ってロジックを作成しました。

まとめ

次はあなたの番です。アプリケーションを拡張する方法はいくつかある:

  • PINが見つからない場合のインスタンスのロジック

  • 認証トークンなどのセキュリティ目的のためのWebhook認証。

  • 失敗した場合の最大再試行回数

何を待っている?AIスタジオ AI Studioにアクセスしてください。

ご質問やフィードバックがありましたら Vonage開発者向けSlackに参加するか ツイッターをお送りください。また次回もお楽しみに!

シェア:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael Crumpデベロッパー・エクスペリエンス・マネージャー

マイケル・クランプはVonageのデベロッパーエクスペリエンスチームに所属し、コーダー、YouTuber、そして様々な.NETやクラウド/通信開発トピックについて頻繁に講演を行っています。彼は、開発者がそれぞれの利点を分かりやすく理解できるようにすることに情熱を注いでいます。