从 Watson Assistant 工作区删除日志的客户 ID 是什么



在改进部分(watsonplatform.net/eu-de/WA_INSTANCE_ID/workspaces/WA_WORKSPACE_ID/improve/userdata)的WA工作区中,我可以看到用户与我们的聊天机器人进行的所有对话。

我想尝试使用删除标记的数据 API 删除这些 - https://cloud.ibm.com/apidocs/assistant?curl=#delete-labeled-data

接口调用:

删除与指定客户 ID 关联的所有数据。方法 如果没有数据与客户 ID 关联,则不起作用。

在哪里可以找到客户 ID?

如文档中所述,您必须在/message POST 请求上设置一个标头,该标头将该消息与发送的客户 ID 相关联。

示例是

curl -X POST -u "apikey:3Df... ...Y7Pc9"
 --header
   'Content-Type: application/json'
   'X-Watson-Metadata: customer_id=abc'
 --data
   '{"input":{"text":"hello"}}'
  'https://gateway-eu-de.watsonplatform.net/assistant/api/v1/workspaces/{workspaceID}/message?version=2018-09-20'

必须创建并设置客户 ID,可以是机器人用户的用户 ID、UUID 会话 ID 或某个其他唯一标识符。

如果您在没有客户 ID 的情况下发送消息,则看起来无法删除这些消息。

如果您使用此处所述的用户分析,那么我建议将user_id设置为与客户 ID 相同的值。

如果使用 NodeJS SDK,则会在调用消息的有效负载中设置标头:

var payload = {
  workspace_id: workspace,
  context: req.body.context || {},
  input: req.body.input || {}
}
payload.headers = {'X-Watson-Metadata': `customer_id=${req.session.id}`}
assistant.message(payload, (err, data) => {
...

最新更新