设置用户ID
GPTBots 支持开发者在不同渠道(如:网站、APP 、LiveChat )为 Bot 用户设置唯一身份ID,通过该用户ID(UserId
) 可以在不同渠道之间进行用户 身份关联,实现跨渠道用户身份合并、 通过 Tools 实现业务业务查询、维护用户属性和聊天记录等。具体应用场景如下:
- Tools: AI Bot 在调用 Tools 向开发者业务 API 发起请求时,会将 UserId 放在 Header 中,便于开发者识别用户身份。
- 用户属性:开发者设置 UserId 后,用户属性信息将被归属于该 UserId。
- 对话日志:开发者设置 UserId 后,用户与 Bot 的对话日志记录将被归属于该 UserId。
- 对话日志:开发者设置 UserId 后,用户与 Bot 的对话日志记录将被归属于该 UserId。
- 事件回调: 开发者设置 UserId 后,在 iframe/widget 中所产生的事件回调上报至GA4/webhook 时会携带该信息。
⚠️用户ID(
UserId
) 应是用户在开发者业务系统内的唯一身份标识。通过该 UserId 可以查询到该用户的 VIP 等级、用户标签、用户订单等业务数据信息。
API 设置用户ID
开发者通过 API 集成 Bot 能力为用户提供服务时,通常需要为不同的用户创建一个对话 ID(conversation_id
) 作为提供 AI 服务的基础载体,创建converstation_id
的前提条件是必须设置一个用户ID 方可创建成功。
- 请求地址
POST
https://api.gptbots.ai/v1/conversation - 请求示例
curl -X POST https://api.gptbots.ai/v1/conversation \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"user_id": "your_user_id" // 说明:支持 Bot 开发者设置自定义用户ID
}'
创建 contersation_id 的方法和具体指南请参考 创建对话。
Bubble Widget 设置用户ID
开发者使用 Bubble Widget 方式集成 Bot 至开发者网站提供服务时,可在网站用户处于登录状态时,通过调用 GPTBots Bubble Widget SDK 提供的 API 接口设置用户ID。
window.ChatBot.setUserId("your_user_id")
// 说明:支持 Bot 开发者设置自定义用户ID
更多详细的操作指南请参考 部件气泡-高级用法。
iframe 设置用户ID
开发者使用 iframe 方式集成 Bot 至开发者网站提供服务时,可在网站用户处于登录状态时,通过调用 GPTBots 提供的 iframe 方法设置用户ID。
- 方案一:网页嵌入 iframe 地址规则为:
iframe_url
+?user_id=your_user_id
说明:支持 Bot 开发者设置用户身份ID,若不设置则使用 GPTBots 默认生成的用户身份ID
- 方案二:通过 javascript 代码动态设置用户ID
Array.from(document.getElementsByTagName('iframe')).filter(iframe => iframe.src.includes('gptbots')).forEach(iframe => iframe.contentWindow.postMessage('{"type":"UserId","data":"your_user_id"}', '*'))
说明:以上是给 iframe 模式,动态设置 userId 的示例,将your_user_id 替换为实际的 userId 即可 更多详细的操作指南请参考 iframe-高级用法。
LiveChat 设置用户ID
当开发者使用 Livechat 的 Widget 面向网站用户提供客服服务,同时使用GPTBots AI Bot 提供客户服务时,可通过设置用户ID 的方式实现Bot用户
与网站登录用户
之间的身份打通。可在网站用户处于登录状态时,通过调用 LiveChat Widget SDK 提供的 API 接口设置用户ID。
LiveChatWidget.call("set_session_variables", {
user_id: "your_user_id" // 网站用户登录后的身份ID
});