「APIコールを実行する」ステップでは、会話ボットでREST APIリクエストを使用して、ShopifyやSalesforceなどの外部システムからデータを取り込むことができます。
このレシピでは、エンドユーザーによって提供された場所の天気データを取得するボット回答を作成します。ボット回答は、OpenWeather APIからデータを取得します。このレシピで作成した回答フローに基づいて、独自のAPIを使用した回答を作成することができます。
タスク1:セットアップの確認
このレシピを実行するには、以下のものが必要です。
- 公開済みの会話ボットがあるZendeskアカウント。必要であれば、本番環境で使用する前に、サンドボックスのテスト環境を使用して会話ボットをテストすることができます。
Webおよびモバイルのメッセージングチャネルで会話ボットをセットアップするには、「Webチャネルおよびモバイルチャネル用の会話ボットの作成」を参照してください。サンドボックス環境でのメッセージングの使用については、「サンドボックスでZendeskメッセージングを有効にする方法」を参照してください。
-
OpenWeatherアカウントのAPIキー。このレシピで使用するAPIは、OpenWeatherの無料プランで利用できます。
無料のOpenWeatherアカウントに登録するには、openweathermap.orgの「Create New Account」ページを参照してください。サインイン後に、OpenWeatherのアカウントページでAPIキーを入手することができます。
OpenWeather APIキーを有効にするには、アカウントのメールアドレスを確認する必要があります。メールアドレスを確認後、APIキーがアクティブになるまで最大で2時間かかることがあります。詳細については、openweathermap.orgのFAQを参照してください。
タスク2:APIコネクションの作成
まず最初に、OpenWeather APIキーを保存するためのAPIコネクションを作成します。会話ボットはこのコネクションを使用して、OpenWeather APIへのコールを認証できます。
- 管理センターで、サイドバーにある「 アプリおよびインテグレーション」をクリックし、「コネクション」>「コネクション」を選択します。
- 「コネクションを作成」をクリックします。
- APIキーの認証タイプを選択します。
- 「コネクション名」に「openweather_api_key」と入力します。
- 「ヘッダー名」に「x-api-key」と入力します。
- 「値」にOpenWeather APIキーを入力します。
- 「許可されたドメイン」に「api.openweathermap.org」と入力します。
- 「保存」をクリックすると、コネクションが作成されます。
タスク3:カスタムチケットフィールドの作成
次に、エンドユーザーから提供された場所を取得するために、カスタムチケットフィールドを作成します。
- 管理センターで、サイドバーの「 オブジェクトとルール」をクリックし、「チケット」>「フィールド」を選択します。
- 「フィールドを追加」をクリックします。
- フィールドタイプに「テキスト」を選択します。
- 「表示名」に「Location」と入力します。
- 「権限」で、「顧客は編集可能」を選択します。
- 「カスタマー」で、「顧客に表示されるタイトル」フィールドに「Location」と入力します。
- 「保存」をクリックします。
アカウントで1つのチケットフォームを使用している場合は、チケットフォームに自動的に新しいチケットフィールドが表示されます。フィールドを削除するには、「チケットフォームを編集する」を参照してください。
タスク4:ボットの回答の作成
このセクションでは、ボットビルダーで回答を作成し、その目的を設定し、回答のステップを追加する方法を説明します。これには、以下の手順が含まれます。
ステップ1:回答を作成する
ボットビルダーを使用して会話ボットの回答を作成します。
- 管理センターで、サイドバーにある「 チャネル」をクリックし、「AIエージェントと自動化」>「AIエージェント」を選択します。
- 「会話ボットを管理」をクリックします。
- 作業したい会話ボットをクリックします。
- 「回答」タブで、「回答を作成」をクリックします。
ステップ2:回答の目的を設定する
回答の目的とトレーニング用の表現を設定します。これには、会話の中で答えを引き出すための語句や単語も含まれます。
- ボットの編集ページの「回答」タブで、「回答を作成」をクリックします。
- 「独自の回答を作成」をクリックして、「次へ」をクリックします。
- 回答の「目的」に「Get weather」と入力します。
- 「トレーニング用の表現」で、「Get weather forecast」および「Get current temperature」と入力します。
- 「次へ」をクリックします。
回答がボットビルダーで開き、そこで回答を作成することができます。
ステップ3:最初のメッセージのステップを追加する
ユーザーに場所を尋ねるための「メッセージの送信」ステップを追加します。これは、回答のフローの最初のステップです。
- ボットビルダーで「ステップを追加」をクリックします。
- 「ステップの選択」で、「メッセージの送信」を選択します。
- 「ボットメッセージ」に、次のテキストを入力します。
What location would you like to get the weather for? Include the country code. For example: "Melbourne, AU" or "San Francisco, US"
ステップ4:エンドユーザーに場所を尋ねる
最初のメッセージの後、エンドユーザーに基本的なフォームを提示するために、「詳細を質問する」ステップを追加します。このフォームには、チケットフィールドの「Location」値のためのテキストボックスが含まれています。
- ボットビルダーで、ステップを追加アイコン()をクリックします。
- 「ステップの選択」で、「詳細を質問する」を選択します。
- 「名前」に「Get location」と入力します。
- 「フィールド」で、「Location」チケットフィールドと入力して選択します。
ステップ5:その場所の気象データを取得する
OpenWeather APIのCurrent weather dataエンドポイントから、その場所の天気データを取得するために、「APIコールを実行する」ステップを追加します。
- ボットビルダーで「ステップを追加」をクリックします。
- 「ステップの選択」で、「APIコールを実行する」を選択します。
- 「名前」に「Get weather」と入力します。
- 「APIの詳細」で、「エンドポイントURL」に
https://api.openweathermap.org/data/2.5/weather?units=metric&q=
と入力します。 -
変数を追加アイコン()を使用して、「Location」フィールドの変数を「エンドポイントURL」の値に追加します。
完成したエンドポイントURLの値は、以下のようになります。
- 「認証」で、openweather_apiコネクションを選択します。
- 「APIコールを実行する」をクリックして、APIリクエストをテストします。
- 「テストデータ」で、「場所」に「Melbourne, AU」を入力します。
- 「APIコールを実行する」をクリックします。
- 以下の変数をデフォルト名で保存します。
- main > temp
- weather > item 1 > description
ステップ6:エンドユーザーに天気予報のメッセージを送信する
天気データを取得したら、「メッセージの送信」ステップで天気データを含めたメッセージを返信します。
- ボットビルダーで、「Get weather」ステップの「APIコールに成功」分岐にある「ステップを追加」をクリックします。
- 「ステップの選択」で、「メッセージの送信」を選択します。
- 「ボットメッセージ」に、次のテキストを入力します。
It's {{temp}}° C with {{description}} in
-
変数を追加アイコン()を使用して、「Location」フィールドの変数を「ボットメッセージ」の値に追加します。次に、ピリオド(.)を追加します。
完成した「ボットメッセージ」の値は、次のようになります。
ステップ7:失敗メッセージを追加する
「APIコールを実行する」ステップで行ったリクエストは、失敗することもあります。たとえば、存在しない場所がリクエストに含まれている場合などです。「メッセージの送信」ステップをAPIコール失敗分岐に追加します。このステップは、OpenWeather APIコールが失敗した場合にメッセージを返します。
- ボットビルダーで、「Get weather」ステップの「APIコールに失敗」分岐にある「ステップを追加」をクリックします。
- 「ステップの選択」で、「メッセージの送信」を選択します。
- 「ボットメッセージ」に、次のテキストを入力します。
I'm sorry. I wasn't able to get weather data for
-
変数を追加アイコン()を使用して、「Location」フィールドの変数を「ボットメッセージ」の値に追加します。次に、ピリオド(.)を追加します。
完成した「ボットメッセージ」の値は、次のようになります。
ステップ8:更新したボットを公開する
回答をライブにするには、更新したボットを公開します。
- ボットビルダーの右上隅にある「完了」をクリックします。
- ボットページで、「ボットを公開」をクリックします。
- 「公開」をクリックします。
タスク5:変更点のテスト
変更を公開したら、更新したボットとの会話で「How’s the weather?」と尋ねて、新しい回答をテストできます。会話ボットのテストについての詳細は、「エンドユーザーのメッセージングエクスペリエンスのテスト」を参照してください。