Twilio для .NET разработчиков. Часть 3: Использование библиотеки-помощника Twilio REST API

Автор: | 24.07.2026

*Эта серия статей знакомит вас с различными библиотеками-помощниками .NET, предоставляемыми Twilio, и проводит вас через их использование.*

*Эти библиотеки упрощают использование Twilio REST API для .NET разработчиков и предоставляют набор утилит, которые облегчают работу с TwiML и Twilio Client. Обязательно прочитайте первую и вторую части серии.*

В этой статье мы рассмотрим, как вы можете использовать библиотеку-помощник для выполнения вызовов к Twilio REST API. REST API позволяет инициировать исходящие телефонные звонки, отправлять SMS-сообщения, а также отправлять или получать другие данные в Twilio и из него. Библиотека-помощник .NET оборачивает весь REST API в набор управляемых API, позволяя вам получить доступ к тем же возможностям, которые предоставляет REST API, но через привычный API .NET. Это избавляет вас от необходимости понимать тонкости выполнения REST-вызовов и получения JSON-результатов в .NET.

Для начала убедитесь, что вы добавили библиотеку-помощник Twilio в свой проект с помощью NuGet:

Основным классом, который вы будете использовать из библиотеки-помощника, является класс TwilioRestClient. При создании экземпляра этого класса вы должны предоставить ваш Account SID и Auth Token, которые можно получить из панели управления вашего аккаунта twilio.com (если вы еще этого не сделали, перейдите на twilio.com, создайте новый аккаунт):

Теперь, когда вы создали экземпляр класса TwilioRestClient, вы можете начать взаимодействовать с API. Чтобы продемонстрировать основы API библиотек-помощников, давайте используем его для отправки SMS-сообщения, вызвав метод SendSmsMessage:

По умолчанию метод SendSmsMessage принимает три параметра: телефонные номера To и From, а также сообщение (Message). Значения, предоставленные для параметров To и From, должны быть телефонным номером Twilio или номером, который вы проверили с Twilio, и оба значения (To и From) должны быть отформатированы в соответствии с правилами форматирования телефонных номеров Twilio. Дополнительную информацию вы можете найти в документации Twilio:

Каждый метод, предоставляемый классом TwilioRestClient, возвращает объект, содержащий информацию о статусе вызова. В случае метода SendSmsMessage он возвращает экземпляр объекта SMSMessage, который вы можете использовать для проверки статуса вызова:

В этом примере мы используем объект SMSMessage для проверки свойства RestException, чтобы узнать, произошла ли ошибка во время вызова REST API. В будущей статье мы рассмотрим использование свойства RestException для отладки ошибок приложений.

По умолчанию метод SendSmsMessage работает синхронно, что означает, что он будет блокировать продолжение работы вашего приложения до завершения. Поскольку вы выполняете вызов к удаленному веб-сервису, возможно, что вызов займет некоторое время, и ваше приложение станет неотзывчивым. Для решения этой проблемы многие методы позволяют вам предоставить параметр Action;, который будет вызван методом по завершении его выполнения:

В этом примере проверка значения RestException инкапсулирована в анонимный метод, который будет вызван при завершении работы метода SendSmsMessage.

Наконец, некоторые вызовы REST API позволяют указать большое количество опций в рамках REST-запроса, большинство из которых необязательны. Вместо предоставления методов с большим количеством необязательных параметров, библиотека-помощник .NET преобразует их в объекты, свойства которых вы можете установить, а затем передать в методы.

Чтобы увидеть пример этого, давайте посмотрим, как вы можете использовать метод InitiateOutboundCall для совершения исходящих звонков из Twilio. Сигнатура метода InitiateOutboundCall по умолчанию принимает экземпляр объекта CallOptions. Этот объект позволяет вам указать все различные свойства, разрешенные Twilio.

В этом примере мы не только указываем параметры To, From и Url, необходимые для REST API, но и устанавливаем параметры Timeout и IfMachine. В данном случае Url, который мы указываем, будет URL, который Twilio вызовет при ответе на звонок. После того, как все опции установлены, мы просто передаем весь объект CallOptions в метод InitiateOutboundCall.

Еще один важный момент, который следует отметить в этом примере, — это формат значения, предоставляемого свойству Url. При указании значений URL с помощью библиотеки-помощника вы всегда должны убедиться, что предоставляете абсолютные URL.

Вот и все, что вам нужно для использования библиотеки Twilio.API для доступа к REST API. В следующем посте мы рассмотрим, как вы можете использовать библиотеку Twilio.TwiML для генерации TwiML-ответов.

*Прочитайте остальную часть серии .NET:*

*Twilio для .NET разработчиков. Часть 1: Знакомство с библиотеками-помощниками*

*Twilio для .NET разработчиков. Часть 2: Добавление библиотек-помощников Twilio в ваш проект*

*Эта серия написана евангелистом разработчиков Twilio Девином Рэдером. Будучи соучредителем St. Louis .NET User Group, действующим членом правления Central New Jersey .NET User Group и бывшим членом правления INETA, он активно поддерживает сообщество .NET разработчиков. Он также является соавтором или техническим редактором многочисленных книг по .NET, включая Professional Silverlight 4 и Professional ASP.NET 4 от Wrox. Следите за Девином в Twitter @devinrader*