logo
開發者文件
搜尋
用户概述

用户概述

用户是指 Agent 发起对话的终端用户,GPTBots 支持开发者为不同用户设置唯一身份标识ID,通过该用户IDuser_id可以在不同渠道之间进行用户 身份关联,实现跨渠道用户身份合并、 通过 Tools 实现业务业务查询、维护用户属性和聊天记录等。

定义

用户

用户是指与 Agent 产生对话的终端用户。

用户ID(user_id)

由企业开发者为终端用户所赋予的身份唯一标识ID,通过 API 接口支持开发者为某个匿名ID设置UserId。UseId 的使用场景和高级用法请参考设置用户ID

  • userId匿名ID
  • 多个匿名ID可以同时属于一个userId

匿名ID(anonymous_id)

用户在三方平台(如:Telegram、WhatsApp、LINE等)与 Agent 进行对话时,GPTBots 会使用该三方平台的用户惟一标识符作为anonymous_id。 匿名ID的生成逻辑请参考[匿名ID取值逻辑](## 匿名ID取值逻辑)。

三方平台

GPTBots 平台当前支持将 Agent 集成至众多三方平台,包含:intercom 、webchat、 livechat 、 telegram 、 WhatsApp 等

对话ID(conversation_id)

对话ID 即conversationID用于标识用户Agent的一次对话场景,是不同业务场景隔离的最小单位(通常包含多个消息ID)。

  • conversationID 的自动过期时间为 60分钟,但通过 API 渠道生成的conversationID 没有过期时间。
  • 三方平台和部件气泡等渠道所生成的conversationID在过期后会再次生成一个全新的conversationID开启一轮新对话。

消息ID(message_id)

消息ID 即messageID用于标识 Agent 与用户的一次对话消息,是 Agent 与用户的一次对话的最小单位。

  • messageID 是由 GPTBots 平台生成的,开发者无法自定义messageID
  • messageID 归属于conversationID,一个 conversationID通常包含多个messageID

对话ID(conversation_id)的生成原理

当用户通过三方平台与 Agent 发起对话时,系统会根据用户所在的三方平台,为用户生成的匿名ID,并基于匿名ID自动生成conversationID用于承载用户与 Agent 的一轮对话。

  • 开发者通过 API 方式使用时,必须先生成conversationID,再传入conversationID参数方可发起与 Agent 的对话。
  • 非 API 的其他渠道平台,GPTBots 会自动生成conversationID,生成的具体业务流程如下:
    alt text

三方平台匿名ID(anonymous_id)取值逻辑

集成渠道 匿名ID取值逻辑 三方平台字段 说明
Telegram 匿名ID=Telegram用户ID tg_user_id Telegram 用户的唯一数字标识符,用于区分不同用户
Telegram 群聊 匿名ID=Telegram chatID + Telegram 用户ID tg_chat_id + tg_user_id 群聊的聊天会话标识符与用户标识符的组合,用于在群组环境中唯一标识用户互动
LINE 匿名ID=LINE 用户ID line_user_id LINE 用户的唯一标识符,用于识别平台内的个体用户
LiveChat 匿名ID= LiveChat threadId lc_thread_id LiveChat 会话线程的唯一标识符,用于跟踪和管理用户对话线程
Slack 匿名ID=Slack 用户ID slack_user_id Slack 用户的唯一标识符,用于识别平台内的个体用户
Slack Public Channel 匿名ID=Slack(teamId+channelId+UserId) slack_team_id + slack_channel_id + slack_user_id Slack 团队标识符、公共频道标识符与用户标识符的组合,用于在公共频道中唯一标识用户
Intercom 匿名ID=Intercom用户ID intercom_user_id Intercom 用户的唯一标识符,用于客户支持平台中的用户追踪和管理
钉钉 匿名ID= 钉钉 senderId dd_user_id 钉钉用户的唯一标识符,用于企业协作平台中的用户区分
钉钉群聊 匿名ID=钉钉(senderId+群聊ID) dd_chat_id + dd_senderId 钉钉分配给消息发送者的唯一标识符、群聊的唯一标识符,用于企业协作平台中的用户区分
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 用户的唯一数字标识符,用于游戏和社区平台中的用户识别
Instagram 匿名ID= Instagram senderId instagram_user_id Instagram 分配给消息发送者(即 Instagram 用户)的唯一标识符
Facebook 匿名ID= senderId facebook_user_id Facebook 分配给消息发送者(即 Instagram 用户)的唯一标识符
sobot 匿名ID= Sobot memberId sobot_memberId sobot 用户 ID
Sobot 群聊@用户 匿名ID=Sobot(guildId + channelId + memberId) guildId + channelId + memberId Sobot 群聊@用户的唯一标识符,用于在群聊环境中唯一标识用户互动
Intercom 匿名ID= senderId intercom_senderId Intercom 用户 ID
Zoho Sales IQ 匿名ID= zoho conversationId zoho_sales_iq_conversationId Zoho Sales IQ 的对话惟一标识符
微信客服 匿名ID=微信客服用户ID wechat_customer_service_user_id 微信客服 用户 ID

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
Widget 匿名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 钉钉机器人产生的对话ID
DISCORD Discord 产生的对话ID
SLACK Slack 产生的对话ID
ZAPIER Zapier 产生的对话ID
WXKF 微信客服 产生的对话ID
TELEGRAM Telegram 产生的对话ID
LIVECHAT LiveChat 产生的对话ID
LINE LINE 产生的对话ID,若存在多个 LINE Channel,则会有多个 Channel 选项
INSTAGRAM Instagram 产生的对话ID
FACEBOOK Facebook 产生的对话ID
SO_BOT Sobot 产生的对话ID
ZOHO_SALES_IQ Zoho Sales IQ产生的对话ID
INTERCOM Intercom 产生的对话ID