2016-06-22 5 views

Antwort

1

Sie könnten dies tun, indem StatusCallBack nutzen, etwas wie folgt aus:

$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
    $token = "your_auth_token"; 
    $client = new Services_Twilio($sid, $token); 

$call = $client->account->calls->create("+18668675309", "+14155551212", "http://demo.twilio.com/docs/voice.xml", array(
    "Method" => "GET", 
    "IfMachine"=>"Hangup", 
    "StatusCallback" => "https://www.myapp.com/check_call_status.php", 
    "StatusCallbackMethod" => "POST" 
    )); 

StatusCallBack: eine URL, die Twilio asynchrone Webhook Anfragen bei jedem Aufruf Ereignis im StatusCallbackEvent Parameter angegeben schicken . Wenn kein Ereignis vorhanden ist, sendet Twilio den Standardcode . Wenn ein ApplicationSid-Parameter vorhanden ist, wird dieser Parameter ignoriert. URLs müssen einen gültigen Hostnamen enthalten (Unterstriche sind nicht zulässig).

Also in Ihrem StatusCallBack URL (https://www.myapp.com/check_call_status.php) würden Sie eine gewisse Logik haben, um zu bestimmen, ob der Anruf beantwortet wurde, und wenn es von einem Menschen nicht ein Anrufbeantworter beantwortet. Ihr StatusCallBack-Endpunkt würde etwa so aussehen:

<?php 

if($_REQUEST['CallStatus'] == 'no-asnwer' || $_REQUEST['AnsweredBy'] == 'machine'){ 
     // call again! 
     $sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
     $token = "your_auth_token"; 
     $client = new Services_Twilio($sid, $token); 

    $call = $client->account->calls->create("+18668675309", "+14155551212", "http://demo.twilio.com/docs/voice.xml", array(
     "Method" => "GET", 
     "IfMachine"=>"Hangup", 
     "StatusCallback" => "https://www.myapp.com/check_call_status.php", 
     "StatusCallbackMethod" => "POST" 
     )); 
} 
Verwandte Themen