经过一段时间编写REST api和TwiML应用程序,我一直试图在REST api中编写顺序拨号应用程序,但经过许多错误和问题,我被难住了。我已经在TwiML中编写了一个顺序拨号应用程序,但在REST中编写相同的应用程序是地狱....
我一直试图在REST api中做的是创建这个程序,其中一个人a有一个人B C D E F G H I J K的列表,人a想要发送短信到twilio号码,twilio然后使用REST api调用一个接一个的人的列表,直到其中一个接起。流程如下:
1) Person A text's Twilio number
2) Twilio gathers its array of phone numbers of persons B C D E F G H I J K
3) Twilio's REST api calls person B
4) Person B does **NOT** pick up (busy or doesn't pick up so answering machine) so then REST api calls person C next
5) Person C does **NOT** pick up (busy or doesn't pick up so answering machine) so then the REST api calls person D
6) Person D **DOES** pick up and twilio **reads the SMS sent by person A and then hangs up**
7) application ends, so person E F G H I J K are not called because one person picked up so **not everyone** had to be called
我试图在REST api中实现这一点,但经过几个小时的尝试,我已经放弃了…我唯一的问题是:这是可能的REST api吗?如果有,那是怎么回事?
我已经能够使一个应用程序,我短信twilio, twilio回与REST api和读取我的短信,但顺序拨号是如此不同…
我试着和Twilio的工作人员交谈,但我没能找到一种方法来使顺序调用工作,因为我不知道还有什么可以做....我已经尝试使用StatusCallback和更多,但现在我的想法。
是可能的。
这里是需要做的事情的大致轮廓:
<<h2>短信脚本/h2>这就是Twilio号码的短信指向的内容。它应该接受Body
参数并将其存储到数据库中(因为您需要在多个请求中持久化此参数)。它还需要获取应该调用的号码列表(可能来自数据库或公共配置文件)。
一旦正文被存储,SMS脚本应该发起呼叫列表上的第一个号码,其中'重拨脚本'作为StatusCallback
, '消息'脚本作为Url
。
为StatusCallback
和Url
添加一个id
参数(使用查询字符串应该可以),这样这些脚本就可以识别应该播放的消息。
处理通过列表的工作,它应该检查CallStatus
,看看呼叫是否被应答。如果是,那么直接退出。如果没有,则遍历数字列表(同样是从数据库或公共配置文件中提取的),直到将To
参数与列表中的数字匹配为止。
一旦匹配完成,脚本应该启动对列表中下一个号码的调用,再次使用'拨号脚本'作为StatusCallback
, '消息'脚本作为Url
将消息id
作为参数传递给两个脚本。
这是Twilio在调用被应答时请求的脚本,它只是检查id
参数,从数据库中提取消息,并读取它。
注意,使用数据库不是必须的您可以传递完整的消息而不是id。您还可以将消息脚本替换为Twimlet。