logo
Development
検索
ユーザー概要

ユーザー概要

ユーザーとは、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ユーザーの一意識別子、ゲーム・コミュニティプラットフォーム用
Instagram anonymous_id = instagram_user_id Instagram送信者(Instagramユーザー)の一意識別子
Facebook 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 INSTAGRAM Instagramの会話ID
Facebook FACEBOOK 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階層絞り込みが可能です。