#twilio #twilio-api
#twilio #twilio-api
Вопрос:
У меня есть задача с таким описанием:
Внедрите кнопку вызова:
- При нажатии на значок вызова Twilio сначала набирает номер телефона # 1 (администратор)
- Как только администратор поднимает трубку, вызывается номер # 2 (провайдер).
- Оба подключены.
На данный момент я выяснил, как звонить через браузер на телефонные номера (например, администратор может звонить провайдеру в браузере).
Но я не могу найти никакой информации, как подключить людей через Twilio соответственно задаче. Есть ли какой-либо способ реализовать это решение?
Ответ №1:
Я не совсем понимаю, хотите ли вы щелкнуть номер телефона на веб-сайте или вы хотите полностью соединить два телефонных номера автоматически.
Сценарий 1: Пользователь набирает номер вашей учетной записи Twilio
Вы настраиваете URL обратного вызова для этого номера и веб-конечную точку, которая генерирует ответ, подобный следующему (XML, TwiML):
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
В моем примере я использую шаблоны TypeScript / JavaScript для замены переменных callerId
и targetNumber
в соответствии с нашей системной логикой.
Раздел 2: Вы хотите соединить два телефонных номера через Twilio
В этом сценарии ваше программное обеспечение сначала проверяет, что Twilio вызывает вашего администратора. Это может быть сделано с помощью вызова REST или API Twilio. Существует множество вариантов в зависимости от того, какой язык программирования вы используете, и хотите ли вы использовать библиотеку из Twilio. Но основная идея задокументирована здесь:
https://www.twilio.com/docs/voice/make-calls
И в конечном итоге вы всегда будете выполнять вызов REST против /2010-04-01/Accounts/{AccountSid}/Calls
, чтобы инициировать вызов.
В запросе вы снова указываете URL, по которому Twilio затем может считывать XML / TwiML, чтобы понять, что он должен делать с подключенным вызовом. И снова здесь вы можете использовать почти тот же TwiML, что и выше:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Just a second you are going to be connected to your provider.</Say>
<Dial callerId="${callerId}">${targetNumber}</Dial>
</Response>
В приведенном выше примере я также добавил <Say>
инструкцию таким образом, чтобы администратор знал, что они будут подключены и должны быть терпеливы, пока вызов не будет окончательно подключен.
Важные замечания:
В сценариях наших приложений мы пытаемся скрыть номера телефонов подключенных сторон. Цель состоит в том, чтобы абонент, который набирает номер в нашей системе, при желании имел возможность оставаться полностью анонимным. Итак, мы указываем, с callerId
помощью какого идентификатора вызывающего абонента мы хотим отправлять исходящий телефонный звонок. Имейте в виду, что это должен быть номер телефона, которым вы владеете (номер, арендованный через Twilio, или номер телефона, который вы зарегистрировали в Twilio).