Существует два сценария взаимодействия с Twilio, которые обрабатываются REST API и TwiML. REST API предназначен для тех случаев, когда вы хотите сказать нам, чтобы мы инициировали действие, а TwiML - для тех случаев, когда мы предупреждаем вас о том, что происходит, чтобы вы могли сказать нам, что делать.
Позвольте мне сначала объяснить, что такое REST в контексте Twilio. REST - это способ описания того, какие URL содержат какие данные (также называемые ресурсами) и какие операции вы можете выполнять с этими данными. Например, вы можете получить доступ к /2010-04-01/Accounts/AC12345
для доступа к ресурсу экземпляра учетной записи для учетной записи с SID (идентификатор строки) AC12345 . Ресурс экземпляра возвращает представление (в JSON или XML) одного экземпляра данного ресурса. У нас также есть Список ресурсов , таких как /2010-04-01/Accounts/AC12345/Calls
, которые возвращают список ресурсов экземпляра.
Чтобы инициировать новый исходящий вызов, вам нужно добавить экземпляр Call в список Calls или, другими словами, опубликовать вызов в список вызовов (который мы затем преобразуем в реальный телефонный звонок или текстовое сообщение). Вы делаете это, отправляя HTTP POST
запрос к ресурсу /Calls
с данными для нового вызова, который вы хотите создать (To, From, Url и т. Д.). Указанный вами URL-адрес указывает на общедоступный URL-адрес, который возвращает TwiML, который мы получаем от вас и используем для управления вызовом.
TwiML API предназначен для тех случаев, когда нам нужно знать от вас, как что-то делать. В случае вызовов мы получаем доступ к вашему TwiML, когда получен входящий вызов (отправленный на голосовой URL-адрес на вызываемый номер телефона) ИЛИ на исходящий вызов, на который вы инициировали, получатель отвечает. В обоих случаях, когда на вызов получен ответ, мы получаем доступ к указанному URL-адресу и выполняем команды TwiML до тех пор, пока они не закончатся, завершив вызов.
Ресурсы: