Становится проще сентиментально относиться к SMS с помощью Twilio Add-ons

Автор: | 05.08.2026

Twilio Add-ons — это маркетплейс сторонних сервисов, которые вы можете использовать для добавления суперспособностей в свои приложения Twilio. Я большой поклонник Add-ons, потому что они выполняют задачи, для которых нам в противном случае понадобился бы пользовательский код в наших приложениях. Мы также можем оптимизировать существующие приложения, заменяя наш код с помощью Add-on.

В прошлом году я писал об анализе тональности SMS-сообщений с использованием Twilio, Bluemix и AlchemyAPI. Не потребовалось много кода, чтобы создать основу мощного сервиса, основанного на анализе тональности входящих SMS-сообщений. Но с кодом я часто нахожу, что *меньше — значит больше*. По крайней мере, в моем представлении, чем меньше кода мне нужно поддерживать, тем лучше. Одна из моих любимых вещей — удаление кода, так давайте посмотрим, что произойдет, если мы возьмем исходный код и заменим явный вызов AlchemyAPI на IBM Watson Message Sentiment Add-on.

Мы будем опираться на исходное Ruby-приложение, которое я написал.

— Оно работает на платформе IBM Bluemix, которую вы можете использовать с бесплатной пробной версией.

— Вам также понадобится учетная запись Twilio, вы можете зарегистрироваться и для бесплатной учетной записи Twilio.

— Чтобы развернуть и запустить приложение, я рекомендую прочитать предыдущий пост.

Если у вас все это есть, давайте посмотрим, как мы можем улучшить этот проект.

Сначала нам нужно включить Add-on для нашей учетной записи. Откройте раздел Add-ons в консоли Twilio и найдите IBM Watson Message Sentiment Add-on (или нажмите здесь, чтобы перейти прямо к нему). Нажмите большую красную кнопку установки, прочитайте и согласитесь с условиями обслуживания IBM, и вы почти закончили. Просто поставьте галочку, которая включает Add-on для входящих SMS-сообщений, сохраните форму, и вы начнете получать анализ тональности с каждым текстовым сообщением.

Обратите внимание, что все входящие сообщения в вашу учетную запись будут проходить через этот сервис, и с вас будет взиматься плата в размере 0,0015 доллара США за запрос. Если вы не планируете использовать это после этой статьи в блоге, не забудьте отключить Add-on.

Теперь, когда работа по сбору анализа тональности из Watson выполняется Twilio, нам больше не понадобится AlchemyAPI gem. Удалите его из `Gemfile`.

.

И перестаньте требовать его в `helloWorld.rb`.

.

Нам больше не нужно будет получать наши учетные данные AlchemyAPI из `VCAP_SERVICES` Bluemix.

. Не нужно инициализировать обертку AlchemyAPI с ключом API.

Теперь перейдем к нашему эндпоинту `/messages`.

. Это путь, по которому Twilio будет отправлять POST-запросы SMS-сообщений по мере их поступления. Вместо того, чтобы получать сообщение и отправлять его тело в AlchemyAPI, мы будем получать анализ тональности вместе с сообщением.

Используя Twilio Add-ons, мы получаем дополнительный параметр, доставляемый с нашим сообщением, `AddOns`.

. Он содержит JSON-строку, которая содержит всю информацию, собранную Twilio на основе Add-ons, активированных в вашей учетной записи. Нам нужно разобрать JSON, выяснить, успешно ли Twilio получил результаты от Add-ons, а затем добраться до результатов и извлечь интересующие нас данные.

При использовании Add-on анализа тональности IBM Watson результаты находятся под ключом `ibm_watson_sentiment`.

. Вы можете узнать больше об этом в документации Add-on, но формат следующий:

Чтобы воспроизвести нашу предыдущую функцию, нам нужно получить `type` из поля `docSentiment`.

. Остальная часть запроса остается прежней. На самом деле, здесь есть некоторая обработка ошибок, которую я пропустил в первый раз. Мы проверяем, успешно ли вернулся Add-on, убедившись, что статус «successful», в случае, если у нас не было успешного результата, мы хотим вернуть общий ответ, который не основан на тональности. Поэтому мы добавляем `else` к этому условному оператору.

.

И это все! Отправьте свою работу на Bluemix, дождитесь завершения развертывания и отправьте себе положительное или отрицательное SMS.

Вы увидите, что у вас такие же результаты, но с одной меньшей зависимостью от gem, одним меньшим HTTP-запросом в нашем коде и всего на 3 строки меньше кода.

Сегодня мы увидели, что включение Add-on может сэкономить вам время, усилия и код. Использование Twilio Add-ons для такой функции, как анализ тональности, означает, что ваше приложение может быть более мощным и интеллектуальным, без необходимости писать кучу кода или изучать новый API или платформу. В нашем простом примере мы удалили зависимость и HTTP-запрос и потребовали меньше строк кода для достижения того же результата. Проверьте код сейчас.

Кроме анализа тональности, в Add-ons есть и другие возможности.

— Если вы хотите глубже изучить анализ, ознакомьтесь с IBM Watson Message Insights Add-on, который извлекает семантические метаданные из контента, чтобы вы могли понять, что говорят ваши пользователи.

— Вы также можете анализировать сам номер телефона с помощью Add-ons, таких как Whitepages Pro Phone Intelligence Add-on, который может помочь вам выявлять поддельные регистрации, узнать, к какому типу линии подключен номер телефона, и является ли он предоплаченным или нет.

— Или узнайте имя вашего вызывающего абонента и другие детали с помощью Next Caller’s Advanced Caller ID Add-on

Просмотрите все доступные Add-ons и узнайте, какие суперспособности может получить ваше приложение. Возможно, вы сможете удалить и часть кода!