Как настроить отправку SMS из 1С через SMPP-шлюз

Как настроить отправку SMS из 1С через SMPP-шлюз

Отправку SMS из 1С в 2026 году можно настроить через промежуточный модуль или обработку, которая передаёт сообщения в SMPP-шлюз. В 1С формируется текст и номер получателя, шлюз принимает запрос и возвращает статус доставки. Такой вариант подходит для уведомлений о заказах, счетах, оплате и готовности услуги. В статье разберём архитектуру подключения, параметры SMPP, сценарий без ручной отправки и проверку результата на тестовой базе.

Как устроена интеграция 1С с SMPP-шлюзом?

1С обычно не подключают к SMPP напрямую одной настройкой. Между учётной системой и шлюзом нужен программный слой: внешняя обработка, расширение конфигурации, отдельный коннектор или небольшой сервис. Он получает событие из 1С, собирает SMS и открывает соединение с SMPP-сервером.

В базовом сценарии цепочка выглядит так: менеджер или бухгалтер меняет статус документа, 1С создаёт задание на отправку, интеграционный модуль передаёт сообщение в шлюз, а затем записывает ответ. Если шлюз прислал идентификатор сообщения, его можно сохранить в 1С вместе со временем отправки и текущим статусом.

КомпонентЧто делаетЧто проверить
Определяет событие и формирует текстЕсть ли номер телефона и нужный статус документа
Интеграционный модульПередаёт данные по SMPPПоддерживает ли соединение, кодировку и повторную отправку
SMPP-шлюзПринимает SMS и направляет её операторуЛогин, пароль, адрес, порт и разрешённое имя отправителя
Отчёт или журнал 1СПоказывает результатСохраняются ли ответ шлюза и ошибка доставки

Для малого бизнеса полезно разделить создание сообщения и его отправку. 1С сначала записывает задание в очередь, а модуль отправляет его по одному или небольшими партиями. При временном сбое соединения документ не зависает, а сообщение остаётся в очереди с понятным статусом.

Какие параметры SMPP нужно получить до настройки?

До работы с 1С запросите у провайдера параметры подключения. Обычно нужны адрес SMPP-сервера, порт, логин, пароль, тип подключения и допустимое имя отправителя. Для полноценной диагностики также уточните формат статусов, правила кодировки и лимит длины сообщения.

  • Адрес сервера и порт для SMPP-соединения.
  • Логин и пароль для bind-запроса.
  • Режим подключения: transmitter, receiver или transceiver.
  • Имя отправителя и требования к его регистрации у провайдера.
  • Поддерживаемая кодировка, обычно GSM-7 или Unicode.
  • Правила получения delivery receipt, то есть отчёта о доставке.
  • Ограничения по числу одновременных соединений и скорости отправки.

Режим transceiver удобен, когда один канал должен и отправлять сообщения, и принимать отчёты о доставке. Если 1С только передаёт SMS, провайдер может предложить transmitter, а статусы будут приходить через отдельный механизм. Выбранная схема должна совпадать с возможностями модуля.

Кодировка влияет на длину текста. Кириллица обычно требует Unicode, поэтому длинное уведомление разбивается на несколько частей. Модуль должен корректно считать длину, передавать параметры esm_class и UDHI для составных SMS, а также не обрезать переменные из документа.

Как пошагово подключить 1С к SMPP?

  1. Опишите события, которые должны запускать SMS. Например, проведение счёта, поступление оплаты, изменение статуса заказа или готовность услуги.
  2. Составьте шаблоны сообщений. Оставьте в них только данные, которые нужны получателю: номер заказа, сумму в BYN, срок оплаты или адрес получения.
  3. Создайте очередь отправки в 1С. Для каждой записи храните номер, текст, дату создания, число попыток и статус.
  4. Настройте модуль SMPP. Внесите адрес, порт, учётные данные, имя отправителя и кодировку.
  5. Добавьте защиту от дублей. Ключом может быть связка «документ плюс тип уведомления», чтобы повторный запуск обработки не отправил одинаковое SMS.
  6. Проверьте соединение на тестовом номере. Сначала отправьте короткий текст без переменных, затем сообщение с кириллицей и подстановкой данных.
  7. Сохраните ответ шлюза. Идентификатор сообщения пригодится для сопоставления с delivery receipt и поиска ошибки.

Шаблон лучше хранить отдельно от кода обработки. Тогда бухгалтер сможет изменить формулировку без переписывания логики, а разработчику не придётся каждый раз менять модуль из-за новой подписи или срока оплаты.

Для отложенных уведомлений используйте очередь с датой отправки. Например, 1С создаёт сообщение сразу после проведения документа, но модуль отправляет его в заданное время. Технические варианты такой схемы разобраны в материале как настроить отложенную отправку SMS через SMPP.

Как связать SMS с заказами и счетами?

Для заказов обычно задают несколько независимых событий. Сообщение можно создать после регистрации заказа, после подтверждения менеджером и после изменения статуса готовности. Каждое событие должно иметь собственный код, чтобы отмена или повторное проведение документа не создали лишнюю отправку.

Пример шаблона для заказа: «Заказ №{{Номер}} принят. Сумма: {{Сумма}} BYN». Для счёта формулировка может содержать номер документа и дату оплаты: «Счёт №{{Номер}} на сумму {{Сумма}} BYN ожидает оплаты до {{Дата}}». Переменные нужно брать из реквизитов конкретного документа, а не вводить вручную.

Перед отправкой проверьте три условия: в документе есть телефон, статус соответствует правилу, а сообщение ещё не отправлялось. Если хотя бы одно условие не выполнено, запись лучше поместить в журнал с причиной пропуска. Так бухгалтер видит, почему SMS не ушло, и не создаёт повторную задачу вручную.

Событие в 1СЧто отправитьКогда не отправлять
Заказ созданНомер заказа и факт принятияНет телефона или заказ создан как черновик
Счёт проведёнНомер, сумма в BYN и срок оплатыДокумент отменён или уже отправлен ранее
Оплата поступилаПодтверждение оплатыПлатёж не связан со счётом
Услуга готоваСообщение о готовностиСтатус изменён обратно

Если в компании несколько типов уведомлений, добавьте справочник шаблонов. В нём можно хранить код события, текст, разрешённые переменные и признак активности. Это упрощает контроль: отключение одного сценария не затрагивает остальные.

Как проверять ошибки и стоимость отправки?

Тестирование проводите в два этапа. Сначала проверьте bind и отправку одного сообщения, затем прогоните очередь из нескольких записей. В журнале должны быть видны время подключения, результат submit_sm, идентификатор сообщения и финальный статус.

  • Ошибка авторизации означает неверные учётные данные или неподходящий режим bind.
  • Ошибка кодировки указывает на неправильную обработку кириллицы или составных сообщений.
  • Пустой статус часто связан с тем, что модуль не сохраняет delivery receipt.
  • Повторная отправка после тайм-аута требует проверки, принял ли шлюз первое сообщение.
  • Большая очередь при одном соединении может возникнуть из-за ограничения скорости отправки.

Разделяйте техническую ошибку и отказ доставки. В первом случае 1С может повторить попытку по правилам очереди. Во втором повторная отправка не всегда нужна: номер может быть недоступен или оператор мог отклонить сообщение. Отчёт должен показывать эти ситуации раздельно.

Расходы зависят от количества SMS, длины текста, кодировки и тарифа шлюза. Одно длинное кириллическое уведомление иногда превращается в несколько частей, поэтому перед запуском посчитайте размер типовых сообщений и заложите его в расчёт. Методика описана в материале как рассчитать стоимость SMS через SMPP в 2026 году.

Типичные ошибки при подключении 1С к SMPP

  • Отправка запускается при каждом открытии документа, поэтому одно уведомление дублируется.
  • Модуль не учитывает Unicode и режет кириллический текст посередине переменной.
  • 1С ждёт ответ шлюза в основном потоке и временно блокирует работу пользователя.
  • В журнале сохраняется только отметка «отправлено», без текста ошибки и идентификатора сообщения.
  • После разрыва соединения очередь запускает повторную отправку без проверки предыдущего результата.
  • Шаблон содержит слишком много полей, поэтому сообщение разбивается на несколько частей.

Перед запуском подготовьте один сценарий, например уведомление о поступлении оплаты. Проверьте его на тестовой базе, затем добавьте заказы и счета. Если нужен отдельный приоритет для коротких кодов подтверждения, полезно заранее изучить как настроить приоритет SMS-кодов в SMPP.

3 шага для запуска на этой неделе:

  1. Соберите параметры SMPP и опишите одно событие в 1С, которое должно создавать SMS.
  2. Настройте очередь, шаблон с переменными и журнал статусов.
  3. Проверьте короткое сообщение, кириллицу, повтор после сбоя и отчёт о доставке на тестовом номере.