Евангелист разработчиков Twilio здесь.
Вы абсолютно можете сделать это с помощью Twilio. Я также дам вам несколько вариантов, так как то, что вы описываете, не так просто. Так что будем к этому стремиться.
Самая простая версия того, что вы просите сделать, - это немного изменить поток, который вы описываете. Вы можете попросить пользователя нажать кнопку продукта, для которого он хочет записать звук, а затем попросить его номер телефона. Получив это, вы можете использовать аналогичную систему, которая была встроена в этот нажмите, чтобы вызвать руководство по PHP, чтобы перезвонить пользователю и получить его запись.
Ключевым моментом будет то, что вы можете включить параметр в URL-адрес, который вы используете при создании вызова, который записывает идентификатор продукта.
$call = $client->account->calls->create(
$_ENV['TWILIO_NUMBER'], // A Twilio number in your account
$number, // The user's phone number
"http://example.com/calls?productId=" . $productId // the product the user selected
);
Затем, когда вызов соединится, Twilio сделает HTTP-запрос к этому URL-адресу, передав ему идентификатор продукта, и вы сможете обрабатывать запись так же, как и раньше.
Однако вполне возможно делать то, что вы хотите. Однако это требует немного больше работы.
После того, как вы получили номер телефона пользователя, вы можете позвонить ему, как описано в приведенном выше примере с вызовом по щелчку. Вы захотите сохранить CallSid, который возвращает API, так как он понадобится вам позже.
$call = $client->account->calls->create(
$_ENV['TWILIO_NUMBER'], // A Twilio number in your account
$number, // The visitor's phone number
$url
);
$callSid = $call->sid;
URL-адрес, который вы указываете в этом вызове, должен возвращать TwiML, который говорит пользователю, чтобы он выберите элемент на странице. Что-то типа:
<Response>
<Say loop="0">Please select the product on the page you wish to record audio for.</Say>
</Response>
Затем, когда ваш пользователь нажимает кнопку, вам нужно будет инициировать другой вызов REST API, чтобы перенаправить вызов из повторяющегося сообщения в TwiML, который обрабатывает запись. Вот тут и нужен вызов Sid из созданного вами звонка. Ваш запрос будет выглядеть примерно так:
$call = $client->account->calls->get($callSid);
$call->update(array(
"Url" => "http://example.com/calls?productId=" . $productId
));
Подробнее об этом читайте в документации по изменению вызовов в реальном времени. .
Дайте мне знать, поможет ли это вообще.
person
philnash
schedule
06.06.2016