如何在twilio中获得回调状态

时间:2017-12-25 12:49:21

标签: twilio

如何在twilio中回调状态,例如在php中。

require __DIR__ . '/vendor/autoload.php';
use Twilio\Rest\Client;

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "---------------";
$token = "-----------------;
$client = new Client($sid, $token);

$call = $client->calls->create(
    $to, $from,
    array(
        "url" => "http://demo.twilio.com/docs/voice.xml",//this line complete
        "method" => "GET",
        "statusCallbackMethod" => "POST",
        "statusCallback" => "https://www.myapp.com/events", //in this line no idea
        "statusCallbackEvent" => array(
            "initiated", "ringing", "answered", "completed"
        )
    )
);

echo $call->sid;

在此示例中,如何在调用后获取事件

1 个答案:

答案 0 :(得分:1)

您的代码适用于注册来自Twilio的通话状态通知。对于您在statusCallbackEvent数组中指定的每个事件,Twilio将对statusCallback参数中指定的URL发出异步HTTP请求。有关详细信息,请参阅this文章。

现在,您需要通过以下网址提供服务:https://www.myapp.com/events,收听Twilio发送的通知。在您的情况下,这些将是POST请求,给定您在statusCallbackMethod参数中指定的方法。您需要告知通知哪个事件的参数是CallStatus。有关详细信息,请参阅this文档。

我们不使用PHP,但如果您想进行快速测试,只需创建一个Twilio Function并在其中粘贴以下代码即可查看您的事件通知:

exports.handler = function(context, event, callback) {
  let response = { get_started: true };

  console.log(`Call status notified was '${event.CallStatus}'.`);

  callback(null, response);
};