Watson Assistant API调用详细信息

时间:2018-12-19 18:05:28

标签: ibm-cloud ibm-watson watson-conversation watson-dialog

我们开发了Watson Assistant Chatbot,并与客户端应用程序集成。现在,我们想知道每个用户从客户端应用程序调用Watson服务的次数及其每人的账单详细信息。

我已使用以下方法启用了用户指标选项,并且使用用户数更新了“活跃用户”图。 但是我想知道每个用户的api调用详细信息,我已经在“计费”部分的viewLogs(IMPROVE TAB)和“用法”选项卡中签入,并且它没有显示每个用户的api调用和计费详细信息。 请让我知道我在哪里可以获得每个用户api调用详细信息的详细信息。

https://console.bluemix.net/docs/services/conversation/logs.html#user_id

 "context" : {
  "metadata" : {
   "user_id": "{UserID}"
   }
   }

1 个答案:

答案 0 :(得分:1)

没有用于显示来自特定用户的聊天的UI。相反,必须按照here所述,通过curl使用REST API来检索日志。

但是,当使用user_id时,您无法筛选特定用户。我实际上已经尝试过执行此操作,但是我无法检索特定user_id的日志。

您可以检索为customer_id过滤的日志,因此,我建议您将user_id和customer_id设置为相同的值,并使用customer_id进行过滤。

要设置customer_id,请按照SDK docs的说明进行操作,并将“标头”对象添加到使用值为customer_id的X-Watson-Metadata发送给Assistant的有效负载中。例如在NodeJS中:

payload.headers = {'X-Watson-Metadata': `customer_id=CUSTOMER_ID`}
assistant.message(payload, (err, data) => {

然后,您可以通过按customer_id进行过滤,从Assistant中检索特定客户的日志:

curl -X GET -u "apikey:KEY" 'https://gateway.watsonplatform.net/assistant/api/v1/workspaces/WORKSPACE/logs?version=2018-09-20&filter=customer_id::CUSTOMER_ID'