在WA工作区的“改进”部分(watsonplatform.net/eu-de/WA_INSTANCE_ID/workspaces/WA_WORKSPACE_ID/improve/userdata)中,我可以看到用户与聊天机器人进行的所有对话。
我想尝试使用带有删除标签的数据api-https://cloud.ibm.com/apidocs/assistant?curl=#delete-labeled-data
删除它们api调用:
删除与指定客户ID相关联的所有数据。方法 如果没有数据与客户ID关联,则无效。
在哪里可以找到客户ID?
答案 0 :(得分:2)
此处in the docs中所述,您必须在/ 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可以是机器人用户的用户ID,UUID会话ID或其他唯一标识符。
如果您一直在发送没有客户ID的邮件,那么看起来这些邮件无法删除。
如果您按照here的说明使用用户分析,则建议将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) => {
...