У нас есть небольшое приложение twilio, которое мы используем для звонков на любой номер клиента с веб-сайта. Сейчас мы пытаемся добавить в наше приложение функционал трансферного звонка. Но мы не можем передать вызов с помощью php api. Вот что мы используем:
- Набираем номер с сайта, JS возвращает callid
- У нас есть другой номер, на который нам нужно перевести звонок через несколько минут
- Итак, у нас есть кнопка «Передать», которая вызывает ajax-вызов php-файла.
которые имеют следующий код:
<?php
$existing_call_sid = $_REQUEST['CallSid'];
$new_number = $_REQUEST['new_number'];
$call = $client->calls($existing_call_sid)->update(
array(
"url" => "transfer_xml_main.php?new_number=".$new_number,
"method" => "POST"
)
);
echo $call->to;
?>
transfer_xml_main.php содержит:
<Response>
<Dial><?php echo $_GET['new_number'];?></Dial>
<Say>Please be on line we are transferring your call</Say>
</Response>
- Но когда этот запрос происходит, существующий вызов сбрасывается, а вызов на новый номер отсутствует.
- также пусто $call->to
Я делаю что-то не так?
Обновить
После реализации ответа Филнаша я получаю следующую фатальную ошибку:
<b>Fatal error</b>: Uncaught exception 'Twilio\Exceptions\RestException' with message '[HTTP 400] Unable to update record: No 'To' number is specified' in /twilo/twillo_php_master_new/Twilio/Version.php:85
Stack trace:
#0 /twilo/twillo_php_master_new/Twilio/Version.php(127): Twilio\Version->exception(Object(Twilio\Http\Response), 'Unable to updat...')
#1 /twilo/twillo_php_master_new/Twilio/Rest/Api/V2010/Account/CallContext.php(109): Twilio\Version->update('POST', '/Accounts/AC618...', Array, Array)
#2 /twilo/twilo_call_transfer.php(26): Twilio\Rest\Api\V2010\Account\CallContext->update(Array)
#3 {main}
thrown in <b>/twilo/twillo_php_master_new/Twilio/Version.php</b> on line <b>85</b><br />
Однако я правильно получаю идентификатор родительского вызова, и в $child_calls я правильно получаю и от того, кто звонит первым, и от того, кому звонит пользователь. Все еще что-то не так?
И да, мы хотим точно так же, как вы сказали: 1. Пользователь 1 (агент) позвонил на один номер (клиент А) из JS-клиента twilio 2. Теперь пользователь 1 (агент) хочет перевести вызов на другой номер, который может быть агентом или другим номером.
Также нет ошибок в отладчике
new_number
, что вы переадресовываете вызов? Можете ли вы поделиться этим JS? - person philnash   schedule 22.02.2017