logo
Development
検索
有人対応サービス(Manual Service)

有人対応サービス(Manual Service)

開発者がWebhook を手動サービスの接続方式として選択した場合、まず自分のサーバー環境に Webhook サービスを構築する必要があります。
開発者は、有人対応リクエスト、ユーザーメッセージ、およびオペレーターからの返信メッセージを受信するために、仕様に従って以下の3つのインターフェースを提供する必要があります
また、GPTBots 側も、カスタマーサービスの返信メッセージと会話の終了指示を受け取るための2つのインターフェースを提供しています。

会話IDの作成

ユーザーからの有人対応リクエストメッセージを送信するためのconversation_id を作成する際に使用します。

リクエストメソッド

POST

エンドポイント

https://your_domain/conversation/establish

リクエスト例

curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \ -H 'Content-Type: application/json' \ -d '{ "body": [ { "text": "human service", "message_type": "QUESTION" }, { "text": "", "message_type": "ANSWER" } ], "timestamp": 1742265090895, "email": "bob@gmail.com", "conversation_id": "67d8db020fa31d1ef64f53dg", "bot_id": "665d88b03ce2b13cf2d573454", "user_info": { "phone": null, "email": "bob@gmail.com", "user_id": "KDslas", "anonymous_id": "652face5184b30540a6ea7fe" } }'
                      
                      curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \
-H 'Content-Type: application/json' \
-d '{
  "body": [
    {
      "text": "human service",
      "message_type": "QUESTION"
    },
    {
      "text": "",
      "message_type": "ANSWER"
    }
  ],
  "timestamp": 1742265090895,
  "email": "bob@gmail.com",
  "conversation_id": "67d8db020fa31d1ef64f53dg",
  "bot_id": "665d88b03ce2b13cf2d573454",
  "user_info": {
    "phone": null,
    "email": "bob@gmail.com",
    "user_id": "KDslas",
    "anonymous_id": "652face5184b30540a6ea7fe"
  }
}'

                    
このコードブロックをポップアップで表示

リクエストパラメータ

パラメータ タイプ 説明
conversation_id String 会話ID。カスタマーサービスの返信インターフェースでGPTBotsに渡す必要があります。
timestamp Long タイムスタンプ
email String ユーザーのメールアドレス。一部の有人対応システムでは、適切なサービス提供のためにメールが必要です。
bot_id String エージェント(旧ボット)のID
body List<Object> メッセージ本文
body.message_type String メッセージの種類、QUESTION/ANSWER
body.text String ユーザーがカスタマーサービスに対して送信する質問およびそのコンテキスト
user_info Object ユーザー情報
user_info.phone String ユーザーの電話番号。現在は WhatsApp 経由で有人対応に切り替える場合のみ取得可能です。
user_info.email String ユーザーのメールアドレス。ユーザーがメールアドレスを入力した場合に取得可能。
user_info.user_id String ユーザーID。企業の開発者が定義した固有の識別子で、匿名IDに対して開発者が設定します。
user_info.anonymous_id String 匿名ID。API以外のチャネルでユーザーがエージェントと会話を始めた場合、システムがチャネル情報を含む匿名IDを生成します。

email フィールドに関する注意事項:

  • iframe/共有リンク/バブルウィジェット 経由で有人対応を開始する場合、ユーザーはメールアドレスの入力が必要です。ただし、開発者がユーザーのメールアドレスをカスタマイズ設定することで、入力を省略させることも可能です。
  • WhatsApp/Telegram/LiveChat などの外部プラットフォーム経由で有人対応をリクエストする場合、デフォルトで使用されるメールアドレスは support@gptbots.ai です。なお、LiveChatでは開発者がユーザーのメールアドレスをカスタマイズ可能です。
  • API 経由で有人対応をリクエストする場合、email フィールドは空でも構いません。空の場合、デフォルトで support@gptbots.ai が使用されます。

レスポンス

パラメータ タイプ 説明
code Int レスポンスコード
message String 詳細

チャットインターフェース

作成したconversation_idを使用して、ユーザーのメッセージを有人対応サービスに送信します。

リクエストメソッド

POST

エンドポイント

https://your_domain/chat

リクエストのパラメータ

パラメータ タイプ 説明
conversation_id String 作成された conversation_id を使用して、ユーザーのメッセージを有人対応サービスに送信します
timestamp Long タイムスタンプ
body String ユーザーのメッセージ

レスポンス

パラメータ タイプ 説明
code Int レスポンスコード
message String 詳細

会話終了インターフェース

ユーザーとの会話がタイムアウトした場合や、エージェントユーザーが自発的に会話を終了した場合に、このインターフェースが呼び出されて会話を終了します。

リクエストメソッド

POST

エンドポイント

https://your_domain/conversation/close

リクエストヘッダー

フィールド タイプ 説明
Authorization Bearer ${API Key} 認証には Authorization: Bearer ${API Key} を使用してください。トークンはAPIキーページから取得できます。
Content-Type application/json データの形式は application/json を設定してください。

リクエストのパラメータ

パラメータ タイプ 説明
conversation_id String 会話ID。カスタマーサービスの返信インターフェースで GPTBots に渡す必要があります。
timestamp Long タイムスタンプ
type String 終了タイプ。TIMEOUT(タイムアウトによる終了)または USER_CLOSED(ユーザーによる手動終了)から選びます。

レスポンス

パラメータ タイプ 説明
code Int レスポンスコード
message String 詳細

カスタマーサービスメッセージの受信

開発者がwebhook を有人対応の連携方法として選択した場合、GPTBots は Webhook エンドポイントからの有人カスタマーサービス返信メッセージを受信するためのインターフェースを提供し、そのメッセージ内容をユーザーに送信します。

リクエストメソッド

POST

エンドポイント

https://api-${endpoint}.gptbots.ai/v1/human/message/receive

リクエストヘッダー

フィールド タイプ 説明
Authorization Bearer ${API Key} 認証には Authorization: Bearer ${API Key} を使用してください。トークンはAPIキーページから取得できます。
Content-Type application/json データの形式は application/json を設定してください。

リクエストのパラメータ

パラメータ タイプ 説明 必須
conversation_id String 会話ID。会話作成インターフェースおよびチャットインターフェースで渡されるもので、そのまま引き継いで渡します。 必須
timestamp Long タイムスタンプ 必須
body String 有人対応サービスからの返信内容 必須

レスポンス

パラメータ タイプ 説明
code Int レスポンスコード
message String 詳細

有人対応サービスによる会話の終了

開発者が webhook を有人対応サービスの連携方法として選択した場合、 GPTBots が提供する有人対応サービスは必要に応じて能動的に会話を終了することができます。
会話が終了すると、ユーザーが再度有人カスタマーサービスの会話を開始しない限り、有人対応サービスからメッセージを受け取ることはありません。

リクエストメソッド

POST

エンドポイント

https://api-${endpoint}.gptbots.ai/v1/human/close

リクエストヘッダー

フィールド タイプ 説明
Authorization Bearer ${API Key} 認証には Authorization: Bearer ${API Key} を使用してください。トークンはAPIキーページから取得できます。
Content-Type application/json データの形式は application/json を設定してください。

リクエストパラメータ

パラメータ タイプ 説明
conversation_id String 会話ID。カスタマーサービスの返信インターフェースで GPTBots に渡す必要があります。
timestamp Long タイムスタンプ

レスポンス

パラメータ タイプ 説明 必須
conversation_id String 会話ID。会話作成インターフェースおよびチャットインターフェースで渡されるもので、そのまま引き継いで渡します。 必須
timestamp Long タイムスタンプ 必須