我使用此api:Ask Fast与我的客户沟通。我用这个来打电话给我的客户,让他们更新订单状态。我需要知道客户是拿起电话还是我已经收到了他们的语音邮件。在文档中没有这样的方法。有没有办法知道这个?在这两种情况下,服务器都会提供200个代码。
我打这个电话:
url:http://api.aks-fast.com/dialoghandler/rpc
{
"method": "outboundCallWithMap",
"params": {
"addressMap": {
"003110xxxxxxx": "me"
},
"url": "my url",
"accountID": "xxxxxxxxxxxxx",
"senderName": "me",
"subject": "test message"
}
}
答案 0 :(得分:1)
没有这样的方法,因为携带者认为在两种情况下电话都被拿起。解决方法是创建交互。例如:在提供信息之前询问问题:"我不知道你是否是人类可以按下按钮"如果10秒钟没有按下按钮,你就知道它是语音邮件。实现这一目标的一种方法是:
初步问题json
{
"question_id":<some_id>,
"question_text":"I do not know if you are human can you press a button",
"type":" closed",
"url":"<referral url>",
"answers":[
{
"answer_id":<some_id>,
"answer_text":"Press one if you are human",
"callback":"The real question url"
}
],
"event_callbacks":[
{
"event":"timeout",
"callback":"i am not a human url or leave empty if you want to hang up"
},
],
"media_properties": [
{
"medium": "BROADSOFT",
"properties":
{
"TIMEOUT": "10s"
}
}
]
}
在此您询问客户是否愿意回复。如果没有发生这种情况,手机将挂断,并且您的网址将被调用。
在TIMEOUT
中,您可以指定调用超时方法所需的时间。
希望这有帮助。