在 Web 聊天中管理用户身份信息
watsonx Assistant 的费用基于每月唯一活动用户数 (MAU)。
如果您在会话开始时没有为用户提供标识符,网络聊天会为您创建一个标识符。 它会使用生成的匿名标识来创建第一方 cookie。 该 cookie 会保持 45 天有效。 如果同一用户在当月晚些时候返回到您的站点,并再次与助手聊天,那么 Web 聊天集成会识别到该用户。 同一匿名用户在一个月内多次与助手进行交互时,只会向您收取一次费用。
如果要执行需要知道提交输入的用户的任务,则必须将用户 ID 传递给网络聊天集成。 选择人类无法识别的标识。 例如,不要使用个人的电子邮件地址作为用户 ID。
此外,要删除请求被遗忘者创建的任何数据,需要 customer_id
与用户输入相关联。 定义了 user_id
时,该产品可以将其复用于传递 customer_id
参数。 (有关删除用户数据的更多信息,请参阅 标记和删除数据。)
由于提交的 user_id
值会包含在添加到每个消息请求中 customer_id
头的 X-Watson-Metadata
值中,因此 user_id
语法必须满足 RFC 7230 中定义的头字段需求。
为支持这些基于用户的功能,请在将代码段粘贴到网页之前,在代码段中添加 updateUserID()
方法。
如果启用了安全功能,则在 JSON 网络令牌中设置用户 ID。 有关更多信息,请参阅 在 Web 聊天中认证用户。
在以下示例中,向脚本添加了用户标识 L12345
。
<script>
window.watsonAssistantChatOptions = {
integrationID: 'YOUR_INTEGRATION_ID',
region: 'YOUR_REGION',
serviceInstanceID: 'YOUR_SERVICE_INSTANCE',
onLoad: function(instance) {
instance.updateUserID('L12345');
instance.render();
}
};
setTimeout(function(){
const t=document.createElement('script');
t.src='https://web-chat.global.assistant.dev.watson.appdomain.cloud/versions/' +
(window.watsonAssistantChatOptions.clientVersion || 'latest') +
'/WatsonAssistantChatEntry.js';
document.head.appendChild(t);
});
</script>
Apple 设备
在 Apple 设备上,Intelligent Tracking Prevention 功能会在 7 天后自动删除任何客户端 cookie。 这意味着如果匿名客户访问您的网站,并在两周后再次访问,那么这两次访问将被视为两个不同的 MAU。
要避免此问题,请在 Web 应用程序中使用服务器端第一方 cookie。 例如,当匿名用户首次访问您的 Web 站点时,您可以生成唯一的用户标识,并将其存储在具有您选择的任何到期日期的服务器端 cookie 中。 然后,您的代码可以使用 updateUserID()
实例方法来设置用户标识。 然后,您可以使用相同的 cookie 在将来的任何访问中为此客户设置相同的用户标识,直到其到期为止。
更多信息
有关计费的更多信息,请参阅 基于用户的套餐说明。
有关每个套餐的 MAU 限制的更多信息,请参阅 定价。
有关删除用户数据的更多信息,请参阅 标记和删除数据。