从 Watson Assistant Workspace 中删除日志的客户 ID 是什么?

What is the Customer ID to delete logs from a Watson Assistant Workspace?

在改进部分 (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

api调用:

deletes all data associated with a specified customer ID. The method has no effect if no data is associated with the customer ID.

在哪里可以找到客户 ID?

如此处所述in the docs,您必须在您的 /message POST 请求上设置 header,它将该消息与发送的客户 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 session ID 或您的机器人用户的其他一些唯一标识符。

如果您在没有客户 ID 的情况下发送消息,那么这些消息似乎无法删除。

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

如果使用 NodeJS SDK,header 将在消息调用的有效负载中设置:

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) => {
...