Как настроить SMS-шлюз: с нуля до первого сообщения (руководство 2026)
Что такое SMS-шлюз и как он работает?
SMS-шлюз — это инфраструктура, которая соединяет ваше приложение с сетями мобильных операторов и позволяет программно отправлять и получать текстовые сообщения. Когда ваше приложение обращается к API шлюза с запросом на отправку сообщения, шлюз преобразует его в протоколы, понятные операторам (SMPP, SS7 или SIP), маршрутизирует через соответствующую сеть и доставляет на телефон получателя. Шлюз берёт на себя подключение номеров, соблюдение требований операторов, получение отчётов о доставке и логику повторных попыток — вам не нужно самостоятельно выстраивать прямую интеграцию с каждым оператором. В этом руководстве мы разберём каждый шаг настройки SMS-шлюза с нуля: выбор провайдера, конфигурация аккаунта, интеграция API, подключение номеров, регистрация 10DLC и отправка первого сообщения.
Шаг 1: Определите требования к SMS-рассылкам
Прежде чем сравнивать провайдеров, зафиксируйте свои конкретные потребности.
Объём и частота
| Вопрос | Почему это важно |
|---|---|
| Сколько сообщений в месяц? | Определяет ценовой тариф и необходимость общей или выделенной инфраструктуры |
| Пиковый объём за час? | Влияет на требования к пропускной способности и количеству номеров |
| Транзакционные, маркетинговые или оба типа? | Разные требования к соответствию и маршрутизации |
| Односторонние или двусторонние? | Двусторонние (получение ответов) требуют дополнительной настройки |
Географический охват
- Только внутри страны (США): стандартные 10DLC длинные коды или бесплатные номера (toll-free)
- Международные: нужны sender ID для конкретных стран, локальные номера или буквенно-цифровые отправители
- Несколько стран: требуется шлюз с глобальными партнёрствами с операторами и маршрутизацией по каждой стране
Отрасль и тип контента
- Низкий риск (e-commerce, SaaS, логистика): большинство шлюзов подойдут
- Высокий риск (crypto, азартные игры, контент для взрослых, CBD, финансы): нужен специализированный шлюз с приватной маршрутизацией
- Регулируемые отрасли (здравоохранение, финансовые услуги): необходим расширенный инструментарий для соответствия требованиям
Технические требования
- REST API, SMPP или оба?
- Поддержка webhook для отчётов о доставке и входящих сообщений?
- SDK для вашего языка программирования (Node.js, Python, PHP, Java и т.д.)?
- Дашборд для нетехнических сотрудников?
Шаг 2: Выберите провайдера SMS-шлюза
Вариант A: Облачные CPaaS-платформы (Twilio, Sinch, MessageBird, Telnyx)
Плюсы: быстрое подключение, подробная документация, SDK для любого языка, глобальный охват
Минусы: непрозрачная маршрутизация, общая инфраструктура, ограниченная поддержка высокорисковых вертикалей, высокая стоимость при масштабировании
Лучший выбор для: стартапов и среднего бизнеса с низкорисковым контентом и объёмом до 100 тысяч сообщений в месяц
Время до первого сообщения: 30 минут
Вариант B: Приватный SMS-шлюз (Dach, кастомный SMSC)
Плюсы: выделенная инфраструктура, маршрутизация под конкретного оператора, поддержка высокорисковых вертикалей, контроль доставляемости, оплата криптовалютой
Минусы: немного более длительная начальная настройка, более высокий минимальный порог входа
Лучший выбор для: бизнеса, которому нужна надёжная доставка при больших объёмах, высокорисковых вертикалей, агентств, управляющих несколькими брендами
Время до первого сообщения: 1–3 дня (включая подключение номеров)
Вариант C: Собственный SMS-шлюз
Плюсы: полный контроль, независимость от вендора
Минусы: требует контрактов с операторами, экспертизы в SMPP, инфраструктуры соответствия требованиям и постоянного обслуживания. Только заключение контрактов с операторами занимает 3–6 месяцев.
Лучший выбор для: телекоммуникационных компаний, крупных предприятий или бизнеса с особыми требованиями к суверенитету данных
Время до первого сообщения: 3–6 месяцев
Чек-лист для оценки провайдеров
| Критерий | Приоритет | Примечания |
|---|---|---|
| Доставляемость по операторам | Высокий | Запрашивайте метрики по каждому оператору, а не усреднённые |
| Поддержка вашей отрасли | Высокий | Уточняйте явно, не принимайте на веру |
| Прозрачность цен | Средний | Следите за скрытыми комиссиями за сегменты, регистрацию и поддержку |
| Качество API-документации | Средний | Протестируйте документацию перед подписанием договора |
| Время ответа поддержки | Высокий | Критично для инцидентов в продакшне |
| Скорость подключения номеров | Средний | Как быстро можно получить новые номера? |
| Инструменты соответствия требованиям | Высокий для регулируемых вертикалей | Журналы согласий, проверка контента, аудиторские следы |
| Путь масштабирования | Средний | Как перейти с общей инфраструктуры на выделенную? |
Шаг 3: Создайте аккаунт и выполните базовую настройку
Настройка аккаунта (типовой процесс)
- Зарегистрируйтесь на сайте провайдера
- Подтвердите личность — большинство провайдеров требуют верификации бизнеса (название, EIN, сайт)
- Включите доступ к API — сгенерируйте API-ключи или токены
- Настройте webhook — укажите URL для получения отчётов о доставке и входящих сообщений
- Настройте параметры отправки по умолчанию — задайте sender ID по умолчанию, настройки кодировки и политику повторных попыток
Настройка безопасности
- Храните API-ключи в переменных окружения, никогда — в исходном коде
- Используйте IP-белые списки, если провайдер их поддерживает
- Включите двухфакторную аутентификацию (2FA) на аккаунте шлюза
- Установите лимиты расходов или оповещения для предотвращения неконтролируемых трат
Шаг 4: Подключите телефонные номера
Типы номеров и когда использовать каждый
| Тип номера | Ежемесячная стоимость | Пропускная способность | Лучший выбор для |
|---|---|---|---|
| Локальный длинный код (10DLC) | $1–$2 | 15–75 MPS (после регистрации) | Локальные транзакционные и маркетинговые рассылки |
| Бесплатный номер (8XX) | $2–$5 | 10–40 MPS (после верификации) | Федеральные кампании, клиентская поддержка |
| Короткий код (5–6 цифр) | $500–$1 500 | 100+ MPS | Высокообъёмный маркетинг, ключевые слова |
| Приватная сетка (100+ номеров) | $300–$500 итого | Сотни MPS | Высокий риск, большие объёмы, подбор под оператора |
Стратегия выбора номеров
- Подбирайте коды городов под аудиторию — локальные номера повышают доверие и улучшают показатели откликов
- Разделяйте по типу сообщений — отдельные номера для OTP, маркетинга и поддержки
- Планируйте рост — подключайте больше номеров, чем нужно изначально, чтобы успеть их прогреть
- Учитывайте микс операторов — для трафика по США балансируйте номера Verizon, AT&T и T-Mobile пропорционально
Шаг 5: Завершите регистрацию 10DLC (трафик по США)
Если вы отправляете A2P-сообщения на американские номера через длинные коды, регистрация 10DLC обязательна. Процесс:
- Зарегистрируйте бренд в The Campaign Registry (TCR) через вашего провайдера — $4 единовременно
- Зарегистрируйте кампанию (сценарий использования + примеры сообщений + документация об opt-in) — $10–$15 единовременно
- Пройдите расширенную проверку, если нужна более высокая пропускная способность — $40 единовременно
- Привяжите номера к одобренной кампании
Сроки: 1–2 недели для стандартных сценариев использования, до 3–5 недель для высокорисковых вертикалей
Подробное пошаговое руководство смотрите в нашем материале Полное руководство по регистрации A2P 10DLC.
Шаг 6: Интегрируйте SMS API
Базовая схема интеграции API
Большинство API SMS-шлюзов следуют схожей RESTful-схеме. Общий порядок работы:
Отправка сообщения:
POST /api/v1/messages
{
"to": "+15551234567",
"from": "+15559876543",
"body": "Your verification code is 847291. It expires in 10 minutes."
}
Ответ:
{
"id": "msg_abc123",
"status": "queued",
"segments": 1,
"cost": 0.0075
}
Получение статуса доставки (webhook):
POST /your-webhook-url
{
"id": "msg_abc123",
"status": "delivered",
"carrier": "verizon",
"delivered_at": "2026-03-23T14:22:18Z"
}
Лучшие практики интеграции
- Реализуйте логику повторных попыток — используйте экспоненциальную задержку при временных сбоях (429, 503)
- Обрабатывайте отчёты о доставке асинхронно — не блокируйте основной поток в ожидании подтверждения доставки
- Логируйте всё — сохраняйте идентификаторы сообщений, временны́е метки, статусы доставки и коды ошибок
- Валидируйте номера телефонов перед отправкой — используйте lookup API провайдера для проверки типа линии и оператора
- Обрабатывайте отписки программно — получив ответ STOP, немедленно исключите этот номер из рассылки
- Используйте очереди сообщений — при больших объёмах отправки ставьте сообщения в очередь через Redis или RabbitMQ вместо синхронных вызовов API
Тестирование перед запуском в продакшн
- Используйте sandbox — большинство провайдеров предоставляют тестовые учётные данные, которые имитируют доставку без обращения к реальным операторам
- Сначала отправляйте на собственные номера — проверяйте форматирование, кодировку и тайминг доставки
- Тестируйте Unicode и длинные сообщения — убедитесь, что эмодзи и не-ASCII символы не вызывают неожиданного разбиения на сегменты
- Тестируйте обработку ошибок — имитируйте невалидные номера, сбои операторов и превышение лимитов запросов
Шаг 7: Прогрейте номера
Отправка сразу на полном объёме с новых номеров вызывает подозрение у операторов. Прогревайте номера в течение 5–7 дней:
| День | Объём | Примечания |
|---|---|---|
| 1 | 50–100 сообщений | Отправляйте внутренней команде и активным подписчикам |
| 2 | 200–500 | Расширяйте на недавних клиентов |
| 3 | 500–1 000 | Добавляйте новые сегменты |
| 4 | 1 000–2 500 | Следите за доставляемостью по каждому оператору |
| 5 | 2 500–5 000 | Проверяйте наличие ошибок 30007 |
| 6 | 5 000–10 000 | Корректируйте на основе метрик |
| 7 | Целевой объём | Полный выход на мощность при здоровых показателях |
Ключевые метрики для отслеживания во время прогрева:
- Доставляемость по каждому оператору (должна оставаться выше 95%)
- Код ошибки 30007 (нарушение требований оператора) — при появлении остановитесь и проведите расследование
- Процент отписок (должен быть ниже 1% во время прогрева)
- Задержка доставки (сообщения должны приходить в течение 5 секунд для внутренних отправлений)
Шаг 8: Настройте мониторинг и оповещения
Основной дашборд мониторинга
Отслеживайте эти метрики в режиме реального времени:
- Доставляемость по операторам — самая важная единственная метрика
- Средняя задержка доставки — время от вызова API до получения на устройстве
- Распределение кодов ошибок — классифицируйте сбои (невалидный номер, отклонение оператора, троттлинг, фильтр контента)
- Сегменты на сообщение — следите за неожиданными многосегментными расходами
- Процент отписок по кампании — ранний индикатор проблем с соответствием требованиям
- Стоимость доставленного сообщения — реальная юнит-экономика с учётом неудачных отправлений
Пороги оповещений
| Метрика | Предупреждение | Критично |
|---|---|---|
| Доставляемость | Ниже 95% | Ниже 90% |
| Ошибка 30007 | Выше 0,5% | Выше 2% |
| Задержка доставки | Выше 10 с | Выше 30 с |
| Процент отписок | Выше 2% | Выше 4% |
| Почасовые расходы | 150% от среднего | 300% от среднего |
Шаг 9: Запуск и оптимизация
Чек-лист первой кампании
- Номера зарегистрированы и привязаны к кампании 10DLC
- Прогрев завершён
- Документация об opt-in подготовлена
- Обработка отписок протестирована (ключевые слова STOP и HELP работают)
- Webhook для отчётов о доставке получает данные
- Оповещения мониторинга настроены
- Проверка шаблонов сообщений на соответствие требованиям завершена
- Тестовые сообщения успешно доставлены на все крупные сети операторов
- Лимиты расходов и оповещения настроены
Постоянная оптимизация
- Еженедельно: анализируйте доставляемость по операторам, выявляйте и устраняйте любую деградацию
- Ежемесячно: аудит трендов отписок, ротация неэффективных номеров, проверка документации о соответствии требованиям
- Ежеквартально: переоценка производительности провайдера, сравнение с отраслевыми стандартами, оценка потребности в модернизации инфраструктуры
Стоимость настройки SMS-шлюза: планирование бюджета
| Статья расходов | Диапазон цен | Когда |
|---|---|---|
| Создание аккаунта | $0 (у большинства провайдеров) | Единовременно |
| Телефонные номера | $1–$5 в месяц за номер | Ежемесячно |
| Регистрация бренда 10DLC | $4 | Единовременно |
| Регистрация кампании 10DLC | $10–$15 | Единовременно за кампанию |
| Расширенная проверка | $40 | Единовременно |
| За сообщение (внутри страны) | $0,005–$0,012 за сегмент | За отправку |
| За сообщение (международное) | $0,02–$0,15 за сегмент | За отправку |
| Приватная сетка (при необходимости) | $300–$500 в месяц | Ежемесячно |
| Плата за настройку сетки | $500–$1 500 | Единовременно |
Общие расходы за первый месяц для базовой настройки: $50–$150 (общая инфраструктура, малый объём)
Общие расходы за первый месяц для продакшн-настройки: $500–$2 000 (выделенные номера, 10DLC, умеренный объём)
Общие расходы за первый месяц для приватной инфраструктуры: $1 500–$3 000 (приватная сетка, подбор под оператора, высокий риск)
FAQ: Вопросы о настройке SMS-шлюза
Сколько времени занимает настройка SMS-шлюза?
Базовая настройка облачного API занимает 30–60 минут до первого тестового сообщения. Добавление регистрации 10DLC занимает 1–2 недели. Настройка приватной инфраструктуры с маршрутизацией под конкретного оператора — 3–7 рабочих дней. Общее время от нуля до готовности к продакшну обычно составляет 2–3 недели.
Сколько стоит настройка SMS-шлюза?
Первоначальные затраты на настройку варьируются от $0 (бесплатные уровни облачного API) до $1 500 (подключение приватной сетки). Текущие расходы включают телефонные номера ($1–$5 в месяц за каждый), плату за сообщения ($0,005–$0,012 внутри страны) и плату за платформу ($0–$500 в месяц в зависимости от тарифа). Закладывайте бюджет $500–$2 000 на настройку, готовую к продакшну.
Нужны ли технические навыки для настройки SMS-шлюза?
Базовая интеграция API требует определённых знаний программирования (HTTP-запросы, JSON, webhook). Большинство провайдеров предлагают SDK для популярных языков, упрощающие интеграцию. Для нетехнических команд некоторые шлюзы предоставляют отправку через дашборд и инструменты автоматизации без написания кода. Для внедрений уровня продакшна вам потребуется инженер, знакомый с интеграцией API, системами очередей и обработкой ошибок.
Можно ли настроить SMS-шлюз без зарегистрированного бизнеса?
Технически некоторые провайдеры допускают индивидуальные аккаунты. Однако регистрация 10DLC (обязательная для A2P-рассылок по США) существенно отдаёт предпочтение зарегистрированным юридическим лицам с EIN. Личные аккаунты получают более низкий рейтинг доверия, более низкие лимиты пропускной способности и сталкиваются с более высоким процентом отказов.
В чём разница между SMS-шлюзом и SMS API?
SMS-шлюз — это полный инфраструктурный стек (подключения к операторам, маршрутизация, управление номерами, соответствие требованиям). SMS API — это программный интерфейс, через который вы взаимодействуете с этим шлюзом. Каждый SMS API работает поверх шлюза, но не каждый шлюз открывает публичный API (некоторые предлагают только SMPP-соединения или доступ через дашборд).
Можно ли использовать один SMS-шлюз для нескольких стран?
Да. Большинство облачных провайдеров и приватных шлюзов поддерживают международные рассылки. Вам потребуются sender ID, специфичные для каждой страны (буквенно-цифровые отправители, локальные номера или короткие коды в зависимости от страны), а стоимость существенно варьируется в зависимости от пункта назначения. В некоторых странах требуется предварительная регистрация у местных регуляторов.
Заключение: начинайте с малого, масштабируйтесь осознанно
Настройка SMS-шлюза — это несложный процесс, однако правильный подход с самого начала позволяет избежать серьёзных проблем в дальнейшем. Начните с чёткого понимания своих требований к объёму, соответствию нормативам и доставляемости. Выбирайте провайдера, который соответствует вашей отрасли и вектору роста — а не просто предлагает самую низкую стоимость сообщения. Завершите регистрацию 10DLC до того, как вам понадобится высокая пропускная способность. Прогревайте номера. Настраивайте мониторинг с первого дня. И когда объём или профиль риска потребуют этого — инвестируйте в приватную инфраструктуру, которая даёт вам контроль над тем, что важнее всего: дойдут ли ваши сообщения до телефонов ваших клиентов.
Dach SMS Lab