ユーザー概要
ユーザーとは、AgentやWorkflowとの対話を開始するエンドユーザーを指します。GPTBotsでは、開発者が異なるユーザーに対して一意の識別ID(user_id)を設定することが可能です。user_idを利用することで、異なるチャネル間でユーザーのアイデンティティを関連付け、クロスチャネルでのユーザー識別の統合、Toolsを介したビジネスクエリの実行、ユーザー属性やチャット履歴の管理などが実現できます。
ユーザーのCDP情報はAgent/Workflowごとに保存され、同一ユーザーであっても異なるAgent/Workflow間でデータは分離されています。
ユーザーシステム概要図
flowchart LR
subgraph Col1["ユーザーソースプラットフォーム"]
LC["Livechat"]
IC["Intercom"]
WG[" Widget "]
TG["Telegram"]
end
subgraph Col2_5["ソースプラットフォームのサブChannel"]
tgb01["TGBOT01"]
tgb02["TGBOT02"]
end
subgraph Col2["匿名 ID"]
a1["lc0001"]
a2["ic0001"]
a3["wg0001"]
tga1["tb0001"]
tga2["tg0001"]
end
subgraph Col3["UserId"]
U1["ABC123"]
U2["ABC456"]
end
subgraph Col4["ConversationId"]
c1["c001"]
c2["c002"]
c3["c003"]
c4["c004"]
c5["c005"]
end
subgraph Col5["Agent/Workflow"]
Bot["Agent
Workflow"]
end
LC -- 匿名IDを自動生成 --> a1
IC -- 匿名IDを自動生成 --> a2
WG -- 匿名IDを自動生成 --> a3
TG -- サブchannelからのユーザー --> tgb01 & tgb02
tgb01 -- 匿名IDを自動生成 --> tga1
tgb02 -- 匿名IDを自動生成 --> tga2
a1 -- user_idを設定 --> U1
a2 -- user_idを設定 --> U1
a3 -- user_idを設定 --> U2
tga1 -- user_idを設定 --> U2
tga2 -- user_idを設定 --> U2
U1 -- 新規会話IDを生成 --> c1
U1 -- 新規会話IDを生成 --> c2
U2 -- 新規会話IDを生成 --> c3
U2 -- 既存の会話IDを使用 --> c4
c4 -- 期限切れの場合(>60分)
新規会話IDを自動生成 --> c5
c1 --> Bot
c2 --> Bot
c3 --> Bot
c4 --> Bot
c5 --> Bot
LC:::redStyle
IC:::blueStyle
WG:::greenStyle
TG:::purpleStyle
tgb01:::purpleStyle
tgb02:::purpleStyle
a1:::redStyle
a2:::blueStyle
a3:::greenStyle
tga1:::purpleStyle
tga2:::purpleStyle
U1:::userGray
U2:::userGray
c1:::redStyle
c2:::blueStyle
c3:::greenStyle
c4:::purpleStyle
c5:::purpleStyle
classDef userGray fill:#f5f5f5,stroke:#e6e6e6,color:#222
classDef redStyle fill:#ffd6d6,stroke:#ffbdbd,color:#222
classDef blueStyle fill:#dff0ff,stroke:#cfeaff,color:#222
classDef greenStyle fill:#ecffd9,stroke:#d5ffb3,color:#222
classDef purpleStyle fill:#f1e0ff,stroke:#e1c7ff,color:#222
style Col1 stroke:#757575- 匿名ID(anonymous_id)は、GPTBotsシステムサービスによってユーザーの利用プラットフォームに基づき自動生成されます。
- user_idの設定は任意です。開発者はビジネス要件に応じて、異なるチャネル間でのユーザー識別の関連付けやユーザー属性の共有を実現するために、user_idを設定するかどうかを決定できます。
定義
ユーザー
エージェントと対話を行うエンドユーザー。
ユーザーID(user_id)
企業の開発者がエンドユーザーに付与する一意の識別子。API経由で特定の匿名IDにUserIdを設定できます。UserIdの利用シーンや高度な使用方法についてはユーザーIDの設定をご参照ください。
- user_idはanonymous_idよりも優先されます
- 複数のanonymous_idを1つのuser_idに紐付けることが可能です
匿名ID(anonymous_id)
ユーザーがサードパーティプラットフォーム(Telegram、WhatsApp、LINEなど)でエージェントと対話する際、GPTBotsはそのプラットフォームのユーザー固有識別子をanonymous_idとして使用します。匿名IDの生成ロジックについては匿名IDの値設定ロジックをご参照ください。
サードパーティプラットフォーム
GPTBotsは現在、多数のサードパーティプラットフォームとの連携をサポートしています。Intercom、WebChat、LiveChat、Telegram、WhatsAppなどが含まれます。
会話ID(conversation_id)
会話ID(conversation_id)は、エージェント、会話タイプ、およびuser_id(またはanonymous_id)から生成される一意の識別子です。conversation_idは異なるビジネスシーンを分離する最小単位となり、通常複数のメッセージIDを含みます。
- conversation_idの自動有効期限は60分です。ただし、API経由で生成されたconversation_idには有効期限はありません
- サードパーティプラットフォームやウィジェットバブルなどのチャネルで生成されたconversation_idは、期限切れ後に新しいconversation_idが生成され、新しい対話が開始されます
メッセージID(message_id)
メッセージID(message_id)は、エージェントとユーザー間の1回の対話メッセージを識別するために使用され、対話の最小単位となります。
- message_idはGPTBotsプラットフォームによって生成され、開発者が独自に設定することはできません
- message_idはconversation_idに属し、1つのconversation_idは通常複数のmessage_idを含みます
会話タイプ
会話タイプ(conversation_type)は、ユーザーが会話を開始するシーンを識別するために使用されます。例:ワークスペース-Workflow、WhatsApp、API、ワークスペース-Searchなど。
会話ID(conversation_id)の生成原理
ユーザーがサードパーティプラットフォームを通じてエージェントとの会話を開始すると、システムはそのプラットフォームに基づいてanonymous_idを生成し、そのanonymous_idを基にconversation_idを自動生成して、ユーザーとエージェント間の1回の会話を管理します。
- 開発者がAPI経由で利用する場合は、まずconversation_idを生成してから、エージェント/Workflowとの対話を開始できます
- API以外のチャネルプラットフォームでは、GPTBotsが自動的にconversation_idを生成します
匿名ID(anonymous_id)の値設定ロジック
| 匿名ID元プラットフォーム | 匿名ID値のロジック | 説明 |
|---|---|---|
| Telegram | anonymous_id = tg_user_id | tg_user_id:Telegramプラットフォームのユーザー一意識別子 |
| Telegram グループ | anonymous_id = tg_chat_id + tg_user_id | tg_chat_id:Telegramグループの一意識別子、tg_user_id:Telegramプラットフォームのユーザー一意識別子 |
| LINE | anonymous_id = line_user_id | LINEユーザーの一意識別子、プラットフォーム内の個人ユーザー識別用 |
| LiveChat | anonymous_id = lc_thread_id | LiveChat会話スレッドの一意識別子、ユーザー対話スレッドの管理用 |
| Slack | anonymous_id = slack_user_id | Slackユーザーの一意識別子、プラットフォーム内の個人ユーザー識別用 |
| Slack パブリックチャンネル | anonymous_id = slack_team_id + slack_channel_id + slack_user_id | Slackチーム識別子、パブリックチャンネル識別子、ユーザー識別子の組み合わせ |
| Intercom | anonymous_id = intercom_user_id | Intercomユーザーの一意識別子、顧客サポートプラットフォームのユーザー管理用 |
| DingTalk | anonymous_id = dd_user_id | DingTalkユーザーの一意識別子、企業コラボレーションプラットフォームのユーザー区分用 |
| DingTalk グループ | anonymous_id = dd_chat_id + dd_senderId | DingTalk送信者の一意識別子、グループの一意識別子 |
| WhatsApp by Meta | anonymous_id = wa_user_id | WhatsAppユーザーの一意識別子、通常は国際形式の携帯番号(@c.us) |
| WhatsApp by EngageLab | anonymous_id = wa_user_id | WhatsAppユーザーの一意識別子、通常は国際形式の携帯番号(@c.us) |
| Discord | anonymous_id = discord_user_id | Discordユーザーの一意識別子、ゲーム・コミュニティプラットフォーム用 |
| anonymous_id = instagram_user_id | Instagram送信者(Instagramユーザー)の一意識別子 | |
| anonymous_id = facebook_user_id | Facebook送信者(Facebookユーザー)の一意識別子 | |
| sobot | anonymous_id = sobot_memberId | sobotユーザーID |
| sobot グループ@ユーザー | anonymous_id = sobot_guildId + sobot_channelId + sobot_memberId | sobotグループ@ユーザーの一意識別子 |
| Intercom | anonymous_id = intercom_user_id | IntercomユーザーID |
| Zoho Sales IQ | anonymous_id = zoho_sales_iq_conversationId | Zoho Sales IQの会話一意識別子 |
| WeChatカスタマーサービス | anonymous_id = wechat_customer_service_user_id | WeChatカスタマーサービスユーザーID |
GPTBots内蔵チャネル匿名ID(anonymous_id)値のロジック
| 統合チャネル | 匿名ID値のロジック | 説明 |
|---|---|---|
| API | 匿名IDなし | ユーザーはuser_idのみで会話IDを生成可能 |
| ワークスペース | 匿名ID=ブラウザフィンガープリントID | ブラウザフィンガープリントでランダムID生成。キャッシュ削除やシークレットモードで新ID生成の可能性あり |
| シェア | 匿名ID=ブラウザフィンガープリントID | 同上 |
| Iframe | 匿名ID=ブラウザフィンガープリントID | 同上 |
| AI検索 | 匿名ID=ブラウザフィンガープリントID | 同上 |
| AI検索(iframe) | 匿名ID=ブラウザフィンガープリントID | 同上 |
| Widget | 匿名ID=ブラウザフィンガープリントID | 同上 |
ユーザーがGPTBotsプラットフォームにログインしている場合、システムは自動的に「GPTBotsアカウントID」をuser_idとして設定し、anonymous_id(ブラウザフィンガープリントID)と自動的に関連付けます。
会話タイプとソースID
会話タイプ(conversation_type)は、ユーザーが対話を開始する統合チャネル(例:ワークスペース、API、Iframe、WhatsApp、LINEなど)を識別します。conversation_typeフィールド値でログデータをタイプ別に検索可能です。
ソースID(source_id)は、ユーザーが対話を開始した統合チャネルのサブタイプ(例:LINEプラットフォームの異なるChannelアカウントID、Telegramプラットフォームの異なるBotIDなど)を識別します。source_idフィールド値でサブタイプのログデータを検索できます。
| 会話タイプ | conversation_type | 備考 |
|---|---|---|
| 全て | ALL | 統合-全チャネルの会話ID |
| ワークスペース-Search | C | 統合-ワークスペース-Agentの会話ID |
| ワークスペース-Agent | CHAT | 統合-ワークスペース-Searchの会話ID |
| ワークスペース-Workflow | C_WORKFLOW | 統合-ワークスペース-Workflowの会話ID |
| ワークスペース-Apps | C_APPS | 統合-ワークスペース-Market-AIアプリの会話ID |
| API | API | 統合-APIの会話ID |
| Iframe | EMBED | 統合-Iframeの会話ID |
| ウィジェットバブル | WIDGET | 統合-Widgetの会話ID |
| AI検索 | AI_SEARCH | 統合-AI検索の会話ID |
| シェア | SHARE | 統合-Shareの会話ID |
| WhatsApp by Meta | WHATSAPP_META | 統合-WhatsApp by Metaの会話ID |
| WhatsApp by EngageLab | WHATSAPP_ENGAGELAB | 統合-WhatsApp by EngageLabの会話ID |
| DingTalkボット | DINGTALK | 統合-DingTalkボットの会話ID |
| Discord | DISCORD | 統合-Discordの会話ID |
| Slack | SLACK | 統合-Slackの会話ID |
| Zapier | ZAPIER | 統合-Zapierの会話ID |
| WeChatカスタマーサービス | WXKF | 統合-WeChatカスタマーサービスの会話ID |
| Telegram | TELEGRAM | 統合-Telegramの会話ID |
| LiveChat | LIVECHAT | 統合-LiveChatの会話ID |
| LINE | LINE | LINEの会話ID。複数のLINE Channelがある場合は複数選択肢あり |
| Instagramの会話ID | ||
| Facebookの会話ID | ||
| Sobot | SO_BOT | Sobotの会話ID |
| Zoho Sales IQ | ZOHO_SALES_IQ | Zoho Sales IQの会話ID |
| Intercom | INTERCOM | 統合-Intercomの会話ID |
| Livedesk | LIVEDESK | 統合-Livedeskの会話ID |
⚠️ 注意:表のフィールド値は、APIで会話リスト取得のデータ絞り込み条件として利用できます。
LINEやTelegramなど複数サブチャネルを追加できるサードパーティプラットフォームでは、「Agent-ログ」で会話タイプの2階層絞り込みが可能です。
