Как использовать csh или tcsh для совершения звонка с нового номера Twilio

Автор: | 04.08.2026

*Emacs или vi?* Сегодня мы обойдем весь этот спор и будем совершать звонки с помощью Twilio прямо из csh (или, что более вероятно, tcsh). Не прощаясь с C Shell, мы пройдем через поиск доступного номера, его покупку и совершение звонка с использованием API Twilio и встроенных команд *NIX.

Перейдите в консоль Twilio, чтобы начать. Войдите в свой существующий аккаунт или зарегистрируйтесь для бесплатной учетной записи (обязательно подтвердите свой номер, он понадобится позже). Когда это будет сделано, найдите **Сводку аккаунта**, как показано ниже:

Используя эту информацию, замените переменные `account_sid` и `auth_token` ниже на значения ‘ACCOUNT SID’ и ‘AUTH TOKEN’ из консоли Twilio. (Нажмите на значок глаза, чтобы увидеть ваш AUTH TOKEN).

Выполните следующие команды в вашей оболочке:

«`

set account_sid=»ACXXXXXXXXXXXXXXXXXXXXX»

set auth_token=»ваш_auth_token»

«`

Теперь, когда наш Account SID и токен аутентификации настроены, мы можем запросить REST API Twilio, чтобы найти доступные телефонные номера. Нам нужно найти один (и купить его), чтобы совершать звонки из нашего скрипта.

«`

set 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/.*//;s/<\/PhoneNumber.*//;p;}"` echo $available_number ``` Если вы вставите эту команду выше и нажмете Enter, переменная `available_number` будет установлена на первый номер, который вернет Twilio. Давайте разберем, что происходит в этой насыщенной строке: `set available_number=` — это синтаксис для установки локальной переменной. Все, что содержится в обратных кавычках, будет выполнено и присвоено переменной *available_number*. Мы используем пакет программного обеспечения cURL и HTTP-глагол GET, чтобы запросить у конечной точки доступных номеров Twilio свободный номер. Флаг '-u' используется для предоставления учетных данных аккаунта через HTTP Basic Auth. `curl -X GET "https://api.twilio.com/[опущено] -u "${account_sid}:${auth_token}"` — внутри двойных кавычек происходит подстановка переменных, которые мы установили ранее в эту команду. **"|"** Символ конвейера в оболочке означает, что результаты предыдущей команды передаются следующей команде (в данном случае мы передаем ответ Twilio в **sed**). Используется пакет для манипуляции потоками sed, чтобы извлечь только первое вхождение тегов из XML-ответа Twilio. `sed -n «/PhoneNumber/{s/.*//;s/<\/PhoneNumber.*//;p;}"` позволяет нам объединять команды в оболочке. **&&** выводит переменную `echo $available_number` `available_number` в оболочку. *(Для опытных пользователей: обратите внимание, что 'US' после AvailablePhoneNumbers в URI — это код страны ISO.)* **Примечание:** Если вы не используете пробный аккаунт, покупка этого номера будет стоить денег. Подробнее на нашей странице с ценами. Twilio только что вернул нам доступный номер — давайте его купим. Выполните следующую команду, чтобы купить номер и добавить его в ваш аккаунт: ``` curl -X POST -F "PhoneNumber=${available_number}" \ "https://api.twilio.com/2010-04-01/Accounts/${account_sid}/IncomingPhoneNumbers" \ -u "${account_sid}:${auth_token}" ``` Нажмите Enter, и вы станете счастливым обладателем нового номера Twilio (если нет, возможно, номер уже был куплен кем-то другим — повторите шаг поиска доступного номера и попробуйте снова). Если вы внимательны, то, вероятно, заметите: - Теперь мы используем метод HTTP POST - Мы отправляем параметр `PhoneNumber` на конечную точку IncomingPhoneNumbers и подставляем номер телефона, который нашли на предыдущем шаге Если все прошло хорошо, теперь вы владеете номером `available_number` и готовы к главному результату. TwiML, язык разметки Twilio, — это язык, который вы пишете, чтобы дать инструкции Twilio о том, как обрабатывать телефонные звонки. У TwiML много функций (ознакомьтесь с нашей документацией по TwiML), которые стоит изучить, когда вы закончите работу с командной строкой. Также обратите внимание, что Twilio может размещать ваш пользовательский TwiML в TwiML-бинах, избавляя вас от необходимости настраивать хостинг для изучения. Для этого руководства мы будем использовать пример TwiML, предоставленный Twilio, который можно найти здесь. Замените переменную `your_number` ниже на подтвержденный номер Twilio в вашем аккаунте и выполните следующую строку: ``` set your_number="+15555555555" curl -X POST \ --data-urlencode "Url=https://demo.twilio.com/docs/voice.xml" \ --data-urlencode "To=${your_number}" \ --data-urlencode "From=${available_number}" \ "https://api.twilio.com/2010-04-01/Accounts/${account_sid}/Calls" \ -u "${account_sid}:${auth_token}" ``` Если все прошло хорошо, вы должны услышать сообщение от нашего голоса Alice (больше вариантов ), за которым последует расслабляющая музыка. Мы знали правила игры и сыграли в нее.

Будь то для прототипирования или добавления функций в ваши производственные скрипты, работа с API Twilio из командной строки — полезный навык. С этим руководством вы теперь знаете, как найти, купить и использовать новый номер Twilio все из csh или tcsh. Мы знаем, что вы нас не подведете — напишите нам в Twitter @twilio о том, что вы создадите!

Дальнейшее изучение: