https://d226lax1qjow5r.cloudfront.net/blog/blogposts/building-a-resilient-voice-agent-a-guide-to-failover-systems/voiceagent.png

回復力のあるVoice Agentの構築:フェイルオーバーシステムガイド

最終更新日 April 23, 2024

所要時間:2 分

1980年以降に生まれた人は、電話に出ることや電話をかけることを恐れている可能性が約80%ある(ドイツとアメリカの調査による)。 ドイツとアメリカの研究).企業にとっては、世界の消費者の半数以上がまもなく「電話恐怖症」になることを意味する。

音声通話は効率的なコミュニケーション手段だが、企業は顧客の好みに合わせて別の方法を導入するのが賢明だ。簡単な解決策は、テキスト、WhatsApp、または電子メールによるフォローアップである。これは、アポイントメントの確認、支払いのリマインダー、アウトバウンド・マーケティングなど、多くの実世界での応用が可能だ。

VonageのAI Studioでは、直感的なノーコード/ローコード・プラットフォームでアウトバウンド・テレフォニー・チャットボットを構築できます。このプラットフォームは簡単に始めることができ、強力な統合を構築して顧客体験を次のレベルに引き上げることができます。このブログポストでは、エージェントからのアウトバウンドコールをトリガーし、コールが失敗したときにフォローアップの SMS メッセージと Email を送信する方法を学びます。

前提条件

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

アウトバウンド・テレフォニー・チャットボットの作り方

エージェントを作成するには、AI Studio ドキュメントに記載されている手順に従ってください。 こちら.エージェントには3つの重要なオプションがあります:

  • タイプ テレフォニー

  • テンプレート ゼロから始める

  • イベント アウトバウンド

作成したい機能は、何らかの方法で失敗したコールに基づいているため、最も単純なエージェントのみを構築する必要があります。単一の 「ノードを1つ追加し、エージェントが話すフレーズを追加します。次に 通話終了ノードを追加してフローを終了します。

Simple Voice Agent in AI StudioSimple Voice Agent in AI Studio

最後のステップは、エージェントをバーチャル番号に接続することです。このガイドでは エージェントを公開する.

アウトバウンド・テレフォニー・チャットボットをトリガーする方法

エージェントを作成したら、AI Studioの アウトバウンドコールAPI.これを行うには、Postmanを使用します。ログインしたら、新しい コレクションを作成します。.次に、POSTタイプの新しいHTTPリクエストを作成します。

エージェントの所在地は「エージェントの詳細」で確認できます。

ヘッダー

ヘッダー」タブで、AI Studioを追加する必要があります。 X-Vgai-Key.を追加する必要があります。 X-Vgai-Keyをクリックします。user "アイコンをクリックし、"Generate API Key "をクリックします。

Outbound Agent Triggered From PostmanOutbound Agent Triggered From Postman

ボディ

次に Bodyタブを開き raw optionを選択し、ドロップダウンから JSON.最後に、以下を追加する:

{

    "to": “TESTING_NUMBER",
    "agent_id": "YOUR_AGENT_ID",
    "status_url": ""

}

に置き換えてください。 TESTING_NUMBERをあなたの電話番号またはあなたが電話を受けたい番号に置き換えてください。Numbersは国際番号形式でなければなりません。 +または 0.に置き換えてください。 YOUR_AGENT_IDをVonage AI StudioエージェントのIDに置き換えてください。これはエージェントの詳細で確認できます。を空白のままにします。 status_urlを空白にしておいてください。これはアプリケーションのサーバのURLで更新されます。

Outbound Agent Postman Request with DataOutbound Agent Postman Request with Data

保存」をクリックし、「送信」をクリックしてエージェントをテストしてください。エージェントから電話がかかってくるはずです!

失敗した呼び出しを処理するノードアプリケーションの作成方法

次に、その呼び出しを処理するアプリケーションを作成する。 status_urlアプリケーションを作成します。ターミナルを開き、新しいプロジェクトを作成する:

mkdir aistudio-failover-example cd aistudio-failover-example

次に、プロジェクトを Nodeアプリケーションとして初期化し Expressパッケージをインストールします:

npm init -y npm install express

最後に app.js.ここに我々のコードを置く。

touch app.js

app.jsファイルに以下を追加します。この定型的なコードは、ポート3000で動作し、POSTリクエストを処理するExpressサーバーを作成します。POSTリクエストを受信すると、アプリケーションはリクエストの内容をconsole.logに記録します。

// app.js

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;

// Use bodyParser middleware to parse JSON requests
app.use(bodyParser.json());

// Handle POST requests to the root endpoint
app.post('/', (req, res) => {
  
  // Display the payload in the console
  console.log('Received POST request. Payload:', req.body);

  // Send a response back to the client
  res.status(200).send('POST request received successfully');
});

// Start the server
app.listen(port, () => {
  console.log(\`Server is running on http://localhost:${port}\`);
});

app.jsを保存し、アプリケーションを実行する:

node app.js

最後に、アプリケーションを ngrokを使って.ターミナルで新しいタブを開き、実行する:

ngrok http 3000

ターミナルでngrokがトンネルURLを作成します。の値にトンネルURLをコピー&ペーストする必要があります。 status_urlの値としてコピーペーストする必要があります。

Outbound Voice Agent with Status URL WebhookOutbound Voice Agent with Status URL Webhook

これでSendを押して通話をテストできる。ただし、今回は電話に出ないこと。次に、アプリケーションのサーバーを実行しているターミナルのタブに戻ります。AI StudioからのPOSTリクエストのペイロードが表示されるはずです!

Node Server with Status URL PayloadNode Server with Status URL Payload

POSTリクエストを受信できない理由

ペイロードを受信せず、すべて正しく行ったことを確認した場合、それはあなたの責任ではないかもしれません!status_url エンドポイントは、電話通信事業者から受け取った情報に依存しています。提供されるデータは国やプロバイダによって異なります。異なるネットワークプロバイダの電話番号を試すことで、これをテストすることができます。

フェイルオーバーSMSチャットボットの作り方

次に、2つ目のエージェントを作成する必要があります。この例では SMS をフェイルオーバーとして使用しますが、WhatsApp や HTTP も同様に使用できます。エージェントには3つの重要なオプションがあります:

  • タイプ SMS

  • テンプレート ゼロから始める

  • イベント アウトバウンド

私たちのSMSエージェントは非常にシンプルです。2つのノードを追加する:

  1. A SMS送信こんにちは、私たちはあなたに電話しようとしました。

    • To "フィールドには$SENDER_PHONE_NUMBERシステム・パラメータを設定する必要があります。

    • From "フィールドは$AGENT_PHONE_NUMBERに置き換えてください。

  2. A メール送信ノードを作成し、件名とメッセージを設定することができます。

Simple SMS Agent in AI StudioSimple SMS Agent in AI Studio

しかし、このエージェントはどうやって発動するのだろうか?ご想像の通りです!Voiceエージェントと同じようなPOSTリクエストです。このPOSTリクエストは、ノードアプリケーションの内部から送られます。そのためには axiosパッケージ.サーバを停止して、axiosをインストールしてください:

npm i axios

それから、app.jsファイルを少し更新する必要がある。axiosパッケージをrequireする必要があります。 送信SMSリクエストを準備し、Voice Agentからステータスを受け取ったらリクエストをトリガーします。最終的なコードをご覧ください:

// app.js

const express = require('express');
const bodyParser = require('body-parser');
const axios = require('axios');

const url = 'https://studio-api-eu.ai.vonage.com/messaging/conversation';
const data = {
  "to": "DESTINATION_NUMBER",
  "agent_id": "YOUR_AGENT_ID",
  "channel": "sms"
  // optional to pass status_url
  // "status_url": "string"
}

const headers = {
  'Content-Type': 'application/json',
  'X-Vgai-Key': 'YOUR_VGAI_KEY',
};

const app = express();
const port = 3000;

// Use bodyParser middleware to parse JSON requests
app.use(bodyParser.json());

// Handle POST requests to the root endpoint
app.post('/', (req, res) => {
  axios.post(url, data, { headers })
    .then(response => {
    
    })
    .catch(error => {
      console.error('Error:', error);
    });

  // Send a response back to the client
  res.status(200).send('POST request received successfully');
});

app.get('/', (req, res) => {
  // Send a response back to the client
  res.status(200).send('GET request received successfully');
});


// Start the server
app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

それで終わりだ!Postmanリクエストを実行し、電話を無視すれば、携帯電話にテキストが届き、受信トレイにメールが届くはずだ!なんてクールなんだろう?

に注意してください。 agent_idここには、送信SMSエージェントのIDを指定する。

結論

このチュートリアルでは、Vonage の AI Studio を使用して発信電話チャットボットを構築する方法と、POST リクエストを使用してチャットボットをトリガーする方法について説明しました。また、失敗した通話を処理し、SMS または電子メールでフォローアップメッセージを送信する Node アプリケーションの作成方法についても説明しました。このチュートリアルで説明したステップに従うことで、現代の消費者の好みに適応したシームレスな顧客体験を作成することができます。

AI Studioをどのように楽しんでいる(あるいは嫌っている)のか知りたいのです!私たちの 開発者コミュニティSlackまたは X(旧Twitter.この記事はSlackでの質問にインスパイアされたものです。もしかしたら、私の次のブログ記事はあなたにインスパイアされるかもしれません!

その他のリソース

シェア:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin Aronovデベロッパー・アドボケイト

Benjamin AronovはVonageの開発者支援者です。彼はRuby on Railsのバックグラウンドを持つ実績のあるコミュニティ・ビルダーです。Benjaminは故郷であるテルアビブのビーチを楽しんでいる。テルアビブを拠点に、世界最高のスタートアップの創設者たちと出会い、学ぶことができる。技術以外では、完璧なパン・オ・ショコラを求めて世界中を旅するのが好き。