Как получать SMS в Node.js с помощью Twilio и HyperDev

Автор: | 04.08.2026

Когда кто-то отправляет SMS на ваш номер телефона Twilio, Twilio делает HTTP-запрос к вашему приложению. Детали входящего сообщения, такие как его текст и номер отправителя, передаются в параметрах этого запроса.

В этой статье мы рассмотрим, как принимать и обрабатывать этот запрос в JavaScript с использованием Node.js и Express. Затем мы узнаем, как отвечать на входящее SMS своим собственным сообщением.

Чтобы быстро запустить это приложение, мы воспользуемся HyperDev — сервисом, который позволяет писать и запускать Node-приложения прямо в браузере.

Откройте этот проект HyperDev, нажмите кнопку *Remix*, чтобы создать собственную копию проекта, а затем откройте файл server.js. Давайте разберём этот JavaScript-код по частям.

Сначала мы создаём приложение Express и подключаем body-parser для обработки входящего HTTP-запроса.

Затем мы:

— создаём маршрут для получения POST-запроса по адресу /message;

— выводим request.body в консоль. Здесь содержатся все детали сообщения от Twilio;

— отправляем HTTP-ответ обратно в Twilio. Этот ответ оформляется в виде TwiML и указывает Twilio отправить ответное сообщение.

В завершение мы:

— создаём домашнюю страницу. На самом деле это нужно только для того, чтобы я мог добавить вам красивую кнопку *Remix*. Вам это не обязательно;

— запускаем сервер. А вот это вам точно понадобится.

Нажмите кнопку *logs* над деревом файлов. Здесь мы будем видеть тело запроса и любые ошибки, возникающие в процессе разработки.

Нажмите кнопку *Show Live* над кнопкой *Logs*. Ваш проект теперь доступен по адресу http://your-space.hyperdev.space (на самом деле он уже был запущен всё это время). Скопируйте URL вашего приложения в буфер обмена.

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

Купите номер. В конце процесса вам предложат *Настроить номер*. Прокрутите до раздела *Messaging* и найдите строку «Когда приходит сообщение». Здесь нужно указать URL вашего Node-приложения.

Вставьте URL вашего проекта HyperDev в поле и добавьте /message (например, https://your-space.hyperdev.space/message). Нажмите *Сохранить*.

Отправьте SMS на ваш новый номер Twilio и проверьте логи в HyperDev. Вы увидите что-то вроде этого:

Вау! Здесь много данных. Две самые полезные части:

— *тело* входящего сообщения. Оно находится в response.body.Body;

— номер телефона, с которого было отправлено сообщение. Он находится в response.body.From.

Давайте немного упростим этот вывод. Вернитесь в server.js и обновите маршрут /message так:

HyperDev автоматически сохранит файл и перезапустит сервер при внесении изменений. Отправьте сообщение на свой номер ещё раз и посмотрите на более читабельные логи.

Насколько это было просто? Получение SMS сводится к настройке базового веб-сервера и написанию нескольких строк JavaScript. Ответ на сообщение — это всего лишь отправка трёх строк XML. А с HyperDev написание и развёртывание Node-приложения становится таким же простым, как открытие браузера.

Если вы хотите глубже погрузиться в мир SMS от Twilio, рекомендую ознакомиться с:

— Node.js Helper Library;

— Twilio REST API;

— этим подробным руководством по отправке SMS и MMS-уведомлений в Node.

Если у вас есть вопросы, напишите мне на gb@twilio.com.