Webhookを通じて外部アプリ/システムに対して処理に関する指示(リクエスト)を送信しても、常に同じ応答(レスポンス)があるとは限りません。顧客のデータを取得するためのリクエストを送信する場合、問題がなければ、対象となる顧客のデータがレスポンスとして出力されます。しかし、外部アプリ/システム側に対象のデータがない場合やサーバーで問題が発生した場合、エラーが出力されます。
このような場合に自動ガイドボットのWebhookブロックで条件分岐を設定することで、外部アプリ/システムのレスポンスに応じた処理を実行することが可能です。以下では、自動ガイドボットのWebhookブロックにおける条件分岐の概要やメリットについて説明します。
Webhookブロックにおける条件分岐とは
自動ガイドボットのWebhookブロックでは、リクエストに対して外部アプリ/システムが出力したレスポンスのステータスコードに応じて、条件分岐を設定できます。
例:
- レスポンスのステータスコードが200(リクエストの成功)の場合、サブスクリプションの詳細を表示する。
- レスポンスのステータスコードが404(対象のデータが見つからない)の場合、入力内容を確認するように促す。
- レスポンスのステータスコードが500(サーバーエラー)の場合、時間をおいて再度試すように促す。
このように、外部アプリ/システムから出力されたレスポンスのステータスコードに応じて、後続の処理を柔軟に設定することが可能です。
条件分岐処理の主な流れ
条件分岐の設定後、レスポンスコードに応じた処理が自動で行われます。手動で操作を行う必要はありません。
条件分岐処理の主な流れは、以下のとおりです。
- Webhookブロックを追加します。
- 設定を行い、APIに接続します。
- 複数のレスポンスのステータスコードを設定します。
- レスポンスの一覧のセクションで、APIによって出力されるレスポンスのステータスコードをすべて入力します。例:200、400、404、500
- 条件分岐が自動で有効になります。
- 複数のレスポンスのステータスコードを設定することで、複数のレスポンスの出力値があることをWebhookブロックに知らせることができます。これにより、条件分岐が有効になり、レスポンスのステータスコードに応じた経路(パス)が表示されます。
- 各経路をカスタマイズします。
- 各経路において、任意のブロックを追加します。以下は、各ステータスコードに応じたブロックの追加例です。
- ステータスコードが200の場合:メッセージブロックを追加して、顧客のサブスクリプションの詳細を表示します。
- ステータスコードが404の場合:メッセージブロックを追加して、入力内容を確認するように促すためのメッセージを表示します。
- ステータスコードが500の場合:メッセージブロックを追加して、時間をおいて再度試すように促すためのメッセージを表示します。
使用例
チャット内において、利用者がサービスのサブスクリプションのステータスを確認できるように会話フローを設定するとします。はじめに、Webhookブロックを使用して、対象の外部アプリ/システムのAPIに接続します。
対象の外部アプリ/システムのステータスコードとその内容は、以下のとおりです。
- 200:該当のユーザーは登録されていて、サブスクリプションが有効であることを表します。
- 404:指定したメールアドレスに該当するデータがないことを表します。
- 401:認証トークンが入力されていないか、期限が切れていることを表します。
- 500:サーバーでエラーが発生したことを表します。
この場合、ステータスコードに応じて、チャットボットを通じて以下のメッセージを表示することが可能です。
- 200の場合:現在、サブスクリプションは有効です。サブスクリプションの有効期限は9月30日です。
- 404の場合:該当のメールアドレスに関連するサブスクリプションは見つかりませんでした。メールアドレスが正しく入力されていることをご確認ください。
- 401の場合:ログインに関するエラーが発生しました。アカウントを認証しなおしてから、もう一度お試しください。
- 500の場合:サーバーでエラーが発生しました。時間をおいて、もう一度お試しください。
条件分岐処理のメリット
状況に応じたメッセージの表示
チャットの利用者に対して、レスポンスに応じたメッセージを表示できます。
エラーや例外に対する処理
エラーや例外が発生した際の対処方法を知らせることが可能です。
詳細な手順の説明
各経路の後続の手順に関して、詳細に説明できます。
時間の節約
ステータスコードに応じて経路を分岐させて詳細な手順を説明することで、問い合わせの対応時間を短縮させることが可能です。
会話フローの柔軟な設定
新しいレスポンスのステータスコードが追加された場合に、該当の経路をかんたんに追加できます。既存の会話フローを大幅に変更する必要はありません。
使用に関するヒント
200(リクエストの成功)、404(対象のデータが見つからない)、500(エラー)の一般的なステータスコードに関する設定をはじめに行うことをお勧めします。
400、401などのエラーによって同等の処理(例:再ログインを促す)が発生する場合、該当の経路において同じブロックを使用することが可能です。
条件分岐先の各経路で表示するメッセージは、簡潔でわかりやすくすることをお勧めします。
プレビューとテストを実施して、条件分岐先の各経路において処理が適切に行われるかどうかをご確認ください。