Twilio电话民意调查

时间:2014-07-11 07:16:06

标签: twilio

我们在我们的网站上集成了电话投票,但是当发起号码呼叫时,默认情况下拨打3次,但我们希望将呼叫从默认值控制3次到一次或两次或多于3次。这怎么可能?

1 个答案:

答案 0 :(得分:0)

Twilio传道者在这里。

听起来您正在同时向客户打三次电话。我不确定你为什么这样做,但我怀疑你想要做的是等待第一个电话完成,然后如果需要再做一次,可能是第三次电话。

有几种方法可以知道通话是否完成。当您进行第一次外拨呼叫时,可以在对REST API的调用中包含StatusCallback参数。 StatusCallback参数允许您指定Twilio在呼叫结束时向其发出HTTP请求的URL。

要在PHP中执行此操作,可以使用create方法中的options参数。此参数采用一个数组,可让您将extra parameters添加到您的请求中:

call = $client->account->calls->create(
    '9991231234', // From this number
    '8881231234', // Call this number
    'http://example.com/call.xml',
    array(
        'StatusCallback' => 'http://example.com/callback',
        'StatusCallbackMethod' => 'GET'
    )
);

当Twilio向您指定为StatusCallback的URl发出请求时,您可以检查CallStatus参数以查看呼叫结束的原因。在无应答的情况下,您的应用程序可以将另一个呼叫排队给客户。

$callstatus = $_REQUEST["CallStatus"];
if (
    $callstatus == "no-answer" ||
    $callstatus == "busy" ||
    $callstatus == "failed") {
     //caller never answered, line was busy or call failed, so do something about that
}

如果来电者回答,那么您将使用<Gather>动词让客户输入1或其他值。 Gather动词包含一个名为action的参数,可让您指定Twilio在用户输入数字后应该请求的URL。您可以检查此请求中的Digits参数,以查看是否按下了1或其他数字。如果他们没有按1,您可以重新提示客户尝试再次输入数字或挂断并让您的应用程序排队再次打电话给客户。

希望有所帮助。