Skip to content

チャットボット連動Webhook

チャットボットを介してWebhookを送信するタイミングは以下の通りです。

  • ルームでチャットボットを選択して、任意のメッセージを送信したとき
  • チャットボットとのコンタクトで、任意のメッセージを送信したとき

チャットボットのWebhookを利用する準備

Webhookを利用するには、システム管理者権限のユーザーでチャットボットの作成とWebhookの設定を行う必要があります。

  1. システム管理者権限のユーザーでログインし、システム管理者設定画面を表示します。
  2. 左側のメニューから、「外部サービス連携設定」の「チャットボット管理」を選択します。
  3. チャットボットの作成を行います。「チャットボット設定」の「ボット種別」項目で「Webhook」を選択し、ご利用になる外部システムのURLを設定します。
    ※ ご利用になる外部のシステムに応じて、アクセストークンを発行してください。
  4. ルームでWebhookを利用する場合、ルーム管理者のユーザーでログインしルームのメンバーにWebhook設定が行われたチャットボットを追加します。
  5. コンタクトでWebhookを利用する場合、任意のユーザーでログインしコンタクトにWebhook設定が行われたチャットボットを追加します。

仕様

WebhookによるHTTPの通信に失敗した場合、チャットボットがエラーメッセージを表示します。
チャットボットがエラーメッセージを表示するタイミングは以下の通りです。

  • WebhookのHTTPリクエストに対して、ステータスコードが「200」以外でHTTPレスポンスが返ったとき
  • HTTPステータスコードが「200」で以下のようなJSON形式のHTTPレスポンスを返したとき
    ※ チャットボットに独自のエラーメッセージを表示させたい場合に以下のようなデータを返してください。

レスポンス内容

フィールド名フィールド値、意味
resultWebhookの通知を失敗させるには"ng"を指定してください。
error_messageチャットボットに独自のエラーメッセージを表示させたい場合、メッセージの内容を指定してください。

レスポンス内容の例

jsonc
{
  "result": "ng",
  "error_message": "独自のエラーメッセージ。"
}

Webhookの通知内容(ルームでメッセージ送信)

ルームでチャットボットを選択してメッセージを送信したとき、Webhookによる通知の内容は以下の通りです。

HTTPリクエストの情報:

  • method : POST
  • content-type : application/x-www-form-urlencoded

リクエスト内容

フィールド名フィールド値備考
access_tokenチャットボットに対するAPIアクセスキーWebhookを送信したチャットボットのAPIアクセスキー。
bot_idチャットボットのシステムIDWebhookを送信したチャットボットのシステムID。
chat_idルームのシステムIDメッセージが投稿されたルームのシステムID。
chat_nameルーム名メッセージが投稿されたルームの名前。
chat_typegroupルームの種類。
(group=ルーム、user=コンタクト)
created_byユーザーのシステムIDメッセージを投稿したユーザーのシステムID。
created_by_nameユーザー名メッセージを投稿したユーザーの氏名。
messageメッセージの内容投稿されたメッセージの内容。
message_idメッセージのシステムID投稿されたメッセージのシステムID。
message_typeメッセージの種類投稿されたメッセージの種類。
webhook_access_tokenWebhookアクセストークン外部のサービスでチャットボットを識別するために利用するアクセストークン。
webhook_timeWebhookが送信された時間Webhookが送信された時間(UTC)。

送信内容(リクエストボディ)の例

jsonc
{
  "access_token": "a7HPfVxUOkntn1dw/oGoPWxs4Bd7lJPo7ETXYSmwZAY",
  "bot_id": "1lqlft4ev05f",
  "chat_id": "1lqo94vs3k9g",
  "chat_name": "お客様プレゼントグッズ企画",
  "chat_type": "group",
  "created_by": "1lqlfc4g8b75",
  "created_by_name": "伊藤守",
  "message": "おはようございます。",
  "message_id": "1lqo9hkkxgj9",
  "message_type": "message",
  "webhook_access_token": "tt1ZdXUK3qYyfh+YCQNwpuoMgV0BrjdwAUvfDM/ySeo",
  "webhook_time": "2021-11-10T04:01:22"
}

Webhookの通知内容(コンタクトでメッセージ送信)

チャットボットとのコンタクトでメッセージを送信したとき、Webhookによる通知の内容は以下の通りです。

HTTPリクエストの情報:

  • method : POST
  • content-type : application/x-www-form-urlencoded

リクエスト内容

フィールド名フィールド値備考
access_tokenチャットボットに対するAPIアクセスキーWebhookを送信したチャットボットのAPIアクセスキー。
bot_idチャットボットのシステムIDWebhookを送信したチャットボットのシステムID。
chat_idコンタクトのシステムIDメッセージが投稿されたコンタクトのシステムID。
chat_nameコンタクト名チャットボットとのコンタクトの名前。
chat_typeuserルームの種類。
(group=ルーム、user=コンタクト)
created_byユーザーのシステムIDチャットボットとのコンタクトでメッセージを投稿したユーザーのシステムID。
created_by_nameユーザー名チャットボットとのコンタクトでメッセージを投稿したユーザーの氏名。
messageメッセージの内容投稿されたメッセージの内容。
message_idメッセージのシステムID投稿されたメッセージのシステムID。
message_typeメッセージの種類投稿されたメッセージの種類。
webhook_access_tokenWebhookアクセストークン外部のサービスでチャットボットを識別するために利用するアクセストークン。
webhook_timeWebhookが送信された時間Webhookが送信された時間(UTC)。

送信内容(リクエストボディ)の例

jsonc
{
  "access_token": "rilJTmvoO8QfaqADj30lYasQ4MmqpSanNaZRcn6FuVI",
  "bot_id": "1lqo9aoo9q16",
  "chat_id": "1lqo94so62kx",
  "chat_name": "山田太郎-チャットボット",
  "chat_type": "user",
  "created_by": "1lqlfc4pr8xv",
  "created_by_name": "山田太郎",
  "message": "13時までにお客様にメールの返信を行うこと。",
  "message_id": "1lqolwigavls",
  "message_type": "message",
  "webhook_access_token": "TZBDgPBxAbvlbaDPsA2NyxoP4egzDSBsprqRN6bRUs0",
  "webhook_time": "2021-11-11T01:30:15"
}