用户概述
用户是指 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
,生成的具体业务流程如下:
三方平台匿名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 用户的唯一数字标识符,用于游戏和社区平台中的用户识别 |
匿名ID= Instagram senderId | instagram_user_id | Instagram 分配给消息发送者(即 Instagram 用户)的唯一标识符 | |
匿名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 产生的对话ID | |
Facebook 产生的对话ID | |
SO_BOT | Sobot 产生的对话ID |
ZOHO_SALES_IQ | Zoho Sales IQ产生的对话ID |
INTERCOM | Intercom 产生的对话ID |