Вы торопитесь и вам нужен новый телефонный номер! Всё, что у вас есть — это SID вашего аккаунта Twilio, токен аутентификации и командная строка с установленным Ruby. Что вы будете делать?
Не волнуйтесь, просто садитесь за клавиатуру, открывайте терминал, и вы получите новый номер в два счета.
Убедитесь, что у вас установлен гем twilio-ruby. Это значительно упростит вызов REST API (хотя существует множество способов сделать HTTP-запрос с помощью Ruby).
#### Установка гема Twilio
Если у вас еще нет этого гема, установите его сейчас. В командной строке введите:
Теперь, когда гем установлен, мы можем приступить к работе. Для максимальной скорости мы напишем весь наш код в `irb`
, REPL-среде Ruby. При желании вы можете использовать pry вместо него.
#### Подготовка клиента API
Откройте `irb`
и подключите гем twilio-ruby. Вы можете сделать это за один шаг с помощью следующей строки:
Создайте клиент следующим образом:
#### Поиск идеального номера
Теперь, когда у нас есть аутентифицированный клиент, мы можем начать искать номера для покупки. Нам нужно выбрать страну, в которой мы будем искать номера. Поскольку я нахожусь в Великобритании, я буду искать красивый местный британский номер. Если вы хотите искать в другой стране, замените «GB» на двузначный код нужной вам страны.
Это дало нам список объектов `AvailablePhoneNumberCountryContext::LocalInstance`
, но мы хотим увидеть сами номера.
При выполнении этого поиска я получил список номеров из Кардиффа. Однако я в Лондоне, так что давайте попробуем найти лондонские номера. Мы сделаем это, выполнив поиск номеров, содержащих «4420».
Мы купили наш телефонный номер!
Единственное, что он пока ничего интересного не делает. Ему понадобятся URL-адреса, на которые Twilio будет отправлять запросы, когда номер получит входящий звонок или SMS. URL-адреса должны возвращать TwiML — подмножество XML, которое сообщает Twilio, что делать со звонком или сообщением.
#### Добавление поведения номеру с помощью TwiML Bins
Вы можете генерировать TwiML как угодно, но для этого телефонного номера я собираюсь использовать TwiML Bins, которые позволяют редактировать и размещать TwiML прямо из вашей консоли Twilio. TwiML Bins также более мощные, чем размещение обычного XML, поскольку они поддерживают шаблоны Mustache.
Откройте консоль и создайте два TwiML Bin: один для голосовых вызовов, а другой для SMS. Вот пример для голосовых вызовов, который использует TwiML-тег
А вот пример для SMS, который отправляет вам в ответ то же сообщение, которое вы отправили на этот номер:
Вы купили и настроили новый номер! Позвоните на него, и вы услышите сообщение из TwiML Bin. Отправьте на него SMS, и он отправит вам это же сообщение в ответ.
Это всё, что нужно сделать, чтобы купить себе новый номер Twilio. У нас ушло на это всего 8 строк кода на Ruby!
Теперь вы можете использовать это в своих приложениях для предоставления номеров вашим пользователям. Это особенно полезно при подмене телефонных номеров. Вы также можете использовать этот код для создания местных телефонных номеров в рамках кампании по отслеживанию звонков.
Дайте знать, что вы будете делать со своей новой способностью покупать телефонные номера в любое время. Напишите мне на @philnash или оставьте комментарий ниже.