Давайте улучшим наши навыки работы с командной строкой, используя Programmable Messaging API от Twilio для отправки текстовых сообщений прямо из bash или zsh. Мы пройдем через поиск доступного номера, его покупку и отправку SMS, не покидая удобства командной строки.
Начнем!
Для начала перейдите в Twilio Console. Войдите в систему или зарегистрируйте бесплатный аккаунт — не забудьте подтвердить свой номер — и найдите раздел **Account Summary**, как показано ниже:
Вам нужно заменить значения переменных `account_sid` и `auth_token`, приведенные ниже, на **ACCOUNT SID** и **AUTH TOKEN**, скопированные из Twilio Console. Нажмите на значок глаза, чтобы увидеть ваш токен аутентификации, затем скопируйте и вставьте его в командную строку.
«`
account_sid=»ВАШ_ACCOUNT_SID_В_ФОРМАТЕ_ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX»
auth_token=»ВАШ_AUTH_TOKEN»
«`
Эти значения не генерируются в командной строке — мы просто взяли их со страницы вашего аккаунта Twilio в консоли и вручную добавили в переменные, которые будем использовать на следующем шаге.
После настройки account SID и auth token мы можем запросить у Twilio REST API доступные программируемые телефонные номера. Нам нужен один для отправки SMS из нашего скрипта:
«`
available_number=`curl -X GET \
«https://api.twilio.com/2010-04-01/Accounts/${account_sid}/AvailablePhoneNumbers/US/Local» \
-u «${account_sid}:${auth_token}» | \
sed -n «/PhoneNumber/{s/.*
`&&` (двойной амперсанд) означает, что следующая команда будет выполнена сразу после завершения предыдущих.
`echo $available_number` — это проверка, что мы получили результат, выводящий содержимое переменной в командной строке.
Теперь, когда мы нашли доступный номер Twilio для покупки, нужно его приобрести. Следующая команда купит найденный номер и добавит его в ваш аккаунт:
«`
curl -X POST -d «PhoneNumber=${available_number}» \
«https://api.twilio.com/2010-04-01/Accounts/${account_sid}/IncomingPhoneNumbers» \
-u «${account_sid}:${auth_token}»
«`
После выполнения этой команды вы станете счастливым обладателем нового телефонного номера от Twilio. Если этого не произошло, вероятно, номер только что был куплен — просто повторите шаг поиска доступного номера и попробуйте снова.
Здесь мы внесли несколько изменений при использовании curl с конечной точкой IncomingNumber:
— Теперь мы используем HTTP-метод `POST`.
— Мы отправляем параметр `PhoneNumber` на конечную точку IncomingPhoneNumbers, подставляя номер телефона, найденный на предыдущем шаге.
Предполагая, что все прошло успешно и теперь вы владеете номером `$available_number`, мы почти готовы к главному результату.
Замените переменную `your_number` ниже на ваш подтвержденный номер Twilio и выполните следующее:
«`
your_number=»+15555555555″
curl -X POST -d «Body=Привет, ваш новый номер телефона работает.» \
-d «From=${available_number}» -d «To=${your_number}» \
«https://api.twilio.com/2010-04-01/Accounts/${account_sid}/Messages» \
-u «${account_sid}:${auth_token}»
«`
Эта команда отправит `POST`-запрос на конечную точку Messages с тремя обязательными параметрами: `Body`, `From` и `To`. Вы можете изучить все переменные для конечной точки Messages, чтобы узнать, как отправлять изображения или настраивать URL-адреса обратного вызова для получения обновлений о статусе доставки сообщения.
Если все прошло хорошо, ваш телефон должен завибрировать, зазвенеть или замигать. Попробуйте отправлять SMS на другие номера или даже измените текст сообщения, добавив эмодзи.
Изучение Twilio API, не покидая удобства любимой командной оболочки, — отличный способ исследовать API Twilio и добавлять функции связи в ваши скрипты командной строки. Теперь вы можете искать номера, покупать их и отправлять SMS-сообщения с помощью встроенных инструментов *NIX и zsh или bash.
Дальнейшее изучение: