Dialogflow CX - 如何清除参数

Lim*_*Wei 1 dialogflow-cx

https://i.stack.imgur.com/uq9Yv.png

https://i.stack.imgur.com/jaPaz.png

https://i.stack.imgur.com/SHIuS.png

当我说“不”时,如何获取“数字”参数来清除并输出提示“说一个数字”?

小智 6

如需清除表单填写会话中的参数,您必须先将会话中的参数值设置为空,然后再转换回表单填写页面。

\n

在会话中将参数值设置为 null 有两种方法:

\n
    \n
  1. 在页面意图/条件路由的履行参数预设中添加需要清除为空值的参数。

    \n

    A。在您的情况下,您可以在 \xe2\xe2\x80\x9cNo\xe2\x80\x9d 意图路由的履行参数预设中添加带有 null 值的 \xe2\x80\x9cnumber\xe2\x80\x9d 参数x80\x9c确认号码\xe2\x80\x9d页。

    \n

    在此输入图像描述\nb. 当\xe2\x80\x9cNo\xe2\x80\x9d意图路由\xe2\x80\x9cConfirm Number\xe2\x80\x9d页面触发时,\xe2\x80\x9cnumber\xe2\x80\x9d参数将将在会话中清除,并将转换回 \xe2\x80\x9cInsert Number\xe2\x80\x9d 页面以再次询问号码。\n在此输入图像描述

    \n
  2. \n
  3. 通过fulfillment webhook 将参数值设置为null。下面是一个示例代码供参考:

    \n
     app.post("/clearnumber", async (request, response) => {\n   let params = request.body.sessionInfo.parameters; //get the current parameters in the session\n   let message = "\\n\\n number parameter has been cleared... ";\n   console.log("request body:" + request.body);\n   console.log(".....number........... :" + params.number);\n   params.number = null; // setting the number parameter to null\n   console.log("..after.resetting.number........... :" + params.number);\n   request.body.sessionInfo.parameters = params; //add the parameter changes in the sessionInfo that will be sent back to the agent\n   let fulfillmentResponse = {\n     fulfillmentResponse: {\n       messages: [{\n         text: {\n           text: []\n         }\n       }]\n     },\n     sessionInfo: request.body.sessionInfo\n\n   };         fulfillmentResponse.fulfillmentResponse.messages[0].text.text.push(message);\n   response.json(fulfillmentResponse);\n });\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
\n

\xe2\x80\x83 正如您在下面的屏幕截图中看到的,结果与在控制台中使用参数预设相同。\n在此输入图像描述

\n