ユーザー概要
「ユーザー」とは、エージェントとやり取りする最終利用者を指します。GPTBotsでは、開発者が各ユーザーに対して一意のID(UserId
)を設定することができ、これによりチャネルをまたいだユーザー識別や連携が可能になります。このUserIdを使うことで、IDの一元管理、業務問い合わせ時のツール利用、ユーザー属性の管理、チャット履歴の管理などを実現できます。
定義
ユーザー
ユーザーとは、エージェントと対話を行うエンドユーザーを指します。
ユーザーID(user_id)
企業の開発者がエンドユーザーに付与する一意の識別子です。API経由で特定の匿名ID
にUserId
を設定することができます。UserIdの利用シーンと高度な使用方法についてはユーザーIDの設定をご参照ください。
userId
は匿名ID
より優先されます- 複数の
匿名ID
を1つのuserId
に関連付けることができます
匿名ID(anonymous_id)
ユーザーがサードパーティプラットフォーム(Telegram、WhatsApp、LINEなど)でエージェントと対話する際、GPTBotsはそのプラットフォームのユーザー固有識別子をanonymous_id
として使用します。匿名IDの生成ロジックについては[匿名IDの値設定ロジック](## 匿名IDの値設定ロジック)をご参照ください。
サードパーティプラットフォーム
GPTBotsプラットフォームは現在、多数のサードパーティプラットフォームとの連携をサポートしており、Intercom、WebChat、LiveChat、Telegram、WhatsAppなどが含まれます。
会話ID(conversation_id)
会話ID(conversationID
)は、ユーザーとエージェントの1回の対話シーンを識別するために使用され、異なるビジネスシーンを分離する最小単位です(通常、複数のメッセージIDを含みます)。
conversationID
の自動期限切れ時間は60分ですが、API経由で生成されたconversationID
には期限切れはありません。- サードパーティプラットフォームやウィジェットのチャットバブルなどのチャネルで生成された
conversationID
は、期限切れ後に新しいconversationID
が生成され、新しい対話が開始されます。
メッセージID(message_id)
メッセージID(messageID
)は、エージェントとユーザー間の1回の対話メッセージを識別するために使用され、エージェントとユーザーの1回の対話の最小単位です。
messageID
はGPTBotsプラットフォームによって生成され、開発者が独自に設定することはできません。messageID
はconversationID
に属し、1つのconversationID
は通常複数のmessageID
を含みます。
会話ID(conversation_id)の生成原理
ユーザーがサードパーティプラットフォームを通じてエージェントとの会話を開始すると、システムはそのプラットフォームに基づいて匿名ID
を生成し、その匿名ID
を基にconversationID
を自動的に生成して、ユーザーとエージェント間の1回の会話を管理します。
- 開発者がAPI経由で利用する場合は、まず
conversationID
を生成し、そのconversationID
パラメータを渡してからエージェントとの会話を開始することができます。 - API以外のチャネルプラットフォームでは、GPTBotsが自動的に
conversationID
を生成します。生成の具体的な業務フローは以下の通りです:
サードパーティプラットフォームの匿名ID(anonymous_id)の設定ロジック
連携チャネル | 匿名IDの設定ロジック | プラットフォームフィールド | 説明 |
---|---|---|---|
Telegram | 匿名ID = Telegramユーザーの固有ID | tg_user_id | Telegramユーザーを識別するための固有の数値識別子 |
Telegram グループチャット | 匿名ID = Telegram chatID + Telegram ユーザーID | tg_chat_id + tg_user_id | グループチャットでのユーザー識別のため、チャットIDとユーザーIDを組み合わせた識別子 |
LINE | 匿名ID = LINE ユーザーID | line_user_id | LINEプラットフォーム内でユーザーを識別するための固有識別子 |
LiveChat | 匿名ID = LiveChat スレッドID | lc_thread_id | LiveChatの会話スレッドを追跡・管理するための固有識別子 |
Slack | 匿名ID = Slack ユーザーID | slack_user_id | Slackプラットフォーム内でユーザーを識別するための固有識別子 |
Slack パブリックチャンネル | 匿名ID = Slack(チームID+チャンネルID+ユーザーID) | slack_team_id + slack_channel_id + slack_user_id | パブリックチャンネルでユーザーを識別するための、チーム、チャンネル、ユーザーの各識別子の組み合わせ |
Intercom | 匿名ID = Intercomユーザーの固有ID | intercom_user_id | カスタマーサポートプラットフォームでユーザーを追跡・管理するための固有識別子 |
DingTalk | 匿名ID = DingTalk 送信者ID | dd_user_id | DingTalkプラットフォーム内でユーザーを識別するための固有識別子 |
DingTalkグループチャット | 匿名ID = DingTalk(送信者ID+グループID) | dd_chat_id + dd_senderId | グループチャットでのユーザー識別のため、送信者IDとグループIDを組み合わせた識別子 |
WhatsApp by Meta | 匿名ID = WhatsApp ユーザーID | wa_user_id | WhatsAppユーザーの固有識別子(通常、国際形式の電話番号に@c.usを付加) |
WhatsApp by EngageLab | 匿名ID = WhatsApp ユーザーID | wa_user_id | WhatsAppユーザーの固有識別子(通常、国際形式の電話番号に@c.usを付加) |
Discord | 匿名ID = Discordユーザーの固有ID | discord_user_id | Discordプラットフォーム内でユーザーを識別するための数値識別子 |
匿名ID = Instagram 送信者ID | instagram_user_id | Instagramメッセージ送信者の固有識別子 | |
匿名ID = 送信者ID | facebook_user_id | Facebookメッセージ送信者の固有識別子 | |
Sobot | 匿名ID = Sobot メンバーID | sobot_memberId | Sobotプラットフォームのユーザー識別子 |
Sobotグループメンション | 匿名ID = Sobot(ギルドID+チャンネルID+メンバーID) | guildId + channelId + memberId | グループチャットでメンションされたユーザーを識別するための固有識別子 |
Intercom | 匿名ID = 送信者ID | intercom_senderId | Intercomプラットフォームのユーザー識別子 |
Zoho Sales IQ | 匿名ID = Zoho 会話ID | zoho_sales_iq_conversationId | Zoho Sales IQの会話を識別するための固有識別子 |
WeChat カスタマーサービス | 匿名ID = WeChatカスタマーサービスユーザーID | wechat_customer_service_user_id | WeChatカスタマーサービスのユーザー識別子 |
GPTBots内蔵チャネルの匿名ID(anonymous_id)設定ロジック
連携チャネル | 匿名IDの設定ロジック | 説明 |
---|---|---|
API | 匿名IDなし | ユーザーはuser_idのみを使用して会話IDを生成可能 |
ワークスペース | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントに基づくランダムID生成。キャッシュクリアやシークレットモードで新しいIDが生成される可能性あり |
シェア | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントに基づくランダムID生成。キャッシュクリアやシークレットモードで新しいIDが生成される可能性あり |
Iframe | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントに基づくランダムID生成。キャッシュクリアやシークレットモードで新しいIDが生成される可能性あり |
AI検索 | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントに基づくランダムID生成。キャッシュクリアやシークレットモードで新しいIDが生成される可能性あり |
AI検索(iframe) | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントに基づくランダムID生成。キャッシュクリアやシークレットモードで新しいIDが生成される可能性あり |
ウィジェット | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントに基づくランダムID生成。キャッシュクリアやシークレットモードで新しいIDが生成される可能性あり |
GPTBotsプラットフォームの会話ID(conversation_id)ソースフィールド値一覧
会話ID(conversation_id)は agent_id と user_id / anonymous_id から生成され、異なるチャネルのユーザーが生成する会話IDのタイプは、異なるソースフィールド値でマークされます。このソースフィールド値を使用してチャネルごとにチャット履歴データを照会できます。
ソースフィールド値 | 説明 |
---|---|
ALL | すべてのタイプの会話ID |
SPACE | ワークスペース(workspace)で生成された会話ID |
API | API呼び出しで生成された会話ID |
EMBED | Iframeで生成された会話ID |
WIDGET | ウィジェットバブルで生成された会話ID |
AI_SEARCH | AI検索で生成された会話ID |
SHARE | シェアで生成された会話ID |
WHATSAPP_META | WhatsApp by Metaで生成された会話ID |
WHATSAPP_ENGAGELAB | WhatsApp by EngageLabで生成された会話ID |
DINGTALK | DingTalkボットで生成された会話ID |
DISCORD | Discordで生成された会話ID |
SLACK | Slackで生成された会話ID |
ZAPIER | Zapierで生成された会話ID |
WXKF | WeChat カスタマーサービスで生成された会話ID |
TELEGRAM | Telegramで生成された会話ID |
LIVECHAT | LiveChatで生成された会話ID |
LINE | LINEで生成された会話ID(複数のLINE Channelが存在する場合、複数のChannelオプションがあります) |
Instagramで生成された会話ID | |
Facebookで生成された会話ID | |
SO_BOT | Sobotで生成された会話ID |
ZOHO_SALES_IQ | Zoho Sales IQで生成された会話ID |
INTERCOM | Intercomで生成された会話ID |