doushi9856 2011-09-08 15:59
浏览 55
已采纳

Twilio REST api顺序调用可能吗?

After a while of writing REST api and TwiML apps I had been trying to write a sequential Dialing app in REST api but after much errors and issues I am stumped. I had written a sequential dialing app in TwiML but writing the same app in REST is hell....

What I have been trying to do in REST api is create this program where a person A has a list of people B C D E F G H I J K, person A wants to send an SMS to a twilio number, Twilio would then call using REST api to the list of people one by one until one of them pick up. The Process goes like this:

    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

I am trying to make this in REST api but after hours of trying I have given up...My only question is: is this possible with REST api? if so how?

I have been able to make an app where I sms twilio, twilio calls back with REST api and reads me the SMS but sequential dialling is so different...

I have tried talking to Twilio staff but I have not been able to figure out a way to make the sequential calling work as I don't know what else to do....I have tried using StatusCallback and much more but now I am out of ideas.

  • 写回答

1条回答 默认 最新

  • doufu5521 2011-09-09 14:30
    关注

    Yes, it is possible.

    Here's a rough outline of what needs to be done:

    SMS Script

    This is what you point the Twilio number's SMS to. It should take the Body parameter and store it to a database (because somehow you'll need to persist this over multiple requests). It will also need to grab the list of numbers that should be calls (presumably from a database or a common config file).

    Once the body is stored, the SMS script should initiate a call to the first number on the list with the 'Redial Script' as the StatusCallback, and the 'Message' script as the Url.

    Add an id parameter to the StatusCallback and the Url (using the query string should be fine), so those scripts can identify the message that should be played.

    Redial Script

    This handles working through the list, it should check the CallStatus to see if the call was answered. If it was, then simply exit. If not, it works through the list of numbers (again, pulled from a database or common config file) until it matches the To parameter to a nubmer in the list.

    Once that match is made, the script should initiate a call to the next number on the list, again using the 'Redial Script' as the StatusCallback, and the 'Message' script as the Url passing the message id to both scripts as a parameter.

    Message Script

    This is the script Twilio requests when the call is answered, it simply checks the id parameter, pulls the message from the database, and reads it.

    Note that using a database isn't necessary you could pass the full message instead of an id. You could also replace the message script with a Twimlet.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答