我正在使用Twilio Autopilot的收集功能通过电话或短信收集用户输入。在收集任务结束时,我通过POST重定向到Spring Boot应用程序中的endpoint。我想让我的Spring Boot应用程序验证用户的输入,然后将预期的操作JSON返回给Twilio,让用户知道他们的数据已经成功记录和验证。以下是我的收集任务的外观:
{
"actions": [
{
"say": "Hello!"
},
{
"collect": {
"name": "get_prices",
"questions": [
{
"question": " Please enter the current price for 100 low led using the dial pad. When you are finished, press pound.",
"voice_digits": {
"finish_on_key": "#"
},
"name": "price_100ll",
"type": "Twilio.NUMBER",
"validate": {
"on_failure": {
"messages": [
{
"say": "Sorry, I didn't quite get that."
}
],
"repeat_question": true
},
"on_success": {
"say": "Great, we have successfully recorded your 100 low led price."
}
}
}
],
"on_complete": {
"redirect": {
"method": "POST",
"uri": "https://<ngrok url pointing at my Spring Boot app>/report"
}
}
}
}
]
}
以下是Spring Boot中我的控制器中的POSTendpoint:
@PostMapping(value = "/report", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public ResponseEntity<Void> report(Object body) {
return ResponseEntity.ok().build();
}
我相信我的POSTendpoint设置不正确。body
始终是一个空对象。我有TwilioSDK作为依赖项,但我不确定使用哪些类从POST请求中获取包含用户输入数据的Memory
body。有Twilio留档可用于使用Twilio函数来使用它,但没有外部应用程序。有人对如何做到这一点有任何想法或建议吗?
我没有使用自动驾驶仪,但从我看到的情况来看,它会用“Memory”参数将答案发送到endpoint。
假设传入请求如下所示:
<代码>https://
您可以如下获取此请求,然后将其转换为模型或键值存储。
@PostMapping(value = "/report")
@CrossOrigin(origins = "*", allowedHeaders = "*")
public ResponseEntity<Void> report(@RequestParam(value = "Memory") String memory) {
try {
Map<String, Object> answer = new ObjectMapper()
.readValue(memory, Map.class);
return ResponseEntity.ok().build();
} catch (Exception e) {
return ResponseEntity.internalServerError().build();
}
}
我正在使用带有可编程语音的Twilio自动驾驶仪作为输入通道,我想记录客户端与机器人的整个对话。 我在哪里以及如何做到这一点? 我正在使用重定向到Autopilot URL的twiML bin。
聊天机器人:嘿,你介意回答几个问题吗? 顾客:如果是,继续提问/如果不是,向顾客致谢并停止对话。 我在Twilio Autopilot上使用了示例调查机器人,但它实际上没有“if/else”场景。如果Twilio没有它,那么还有其他适合于此的聊天机器人吗?
我试图创建一个web表单,用户可以输入他们的电话号码,通过Twilio的自动驾驶仪启动短信对话。我在Webhooks教程和fetch-node教程之间忙得不可开交,可能需要一些帮助。 目标是: 从web窗体接受电话号码 传入Twilio函数 解析电话号码 重定向到Twilio自动驾驶启动SMS对话 我想不通的是: > 我创建了一个函数(代码如下),并将该webhook放入表单的UI中--这是正确的
我是spring MVC和JUnit的新手。基本上,我想自动连接服务类,这个类应该在spring上下文中加载。 服务 应用程序-上下文 Junit类 在执行测试时,我将得到以下异常跟踪