К статье
Практический материал

Автоматизация · 9 мин

Как настроить отправку СМС из 1С

Как настроить отправку СМС из 1С: подключение шлюза, настройка провайдера, типовой код отправки, проверка доставки, типичные ошибки и ответы на вопросы.

Отправка СМС из 1С нужна для уведомлений клиентов о статусе заказа, напоминаний о записи, подтверждения оплаты и служебных оповещений сотрудникам. В типовых конфигурациях на базе Библиотеки стандартных подсистем (УТ 11, ERP, КА, УНФ, БП 3.0) механизм уже встроен: достаточно выбрать провайдера и ввести учётные данные. В самописных и старых конфигурациях отправку придётся реализовать через HTTP-запрос к API шлюза.

Общая схема одинакова во всех случаях: 1С формирует текст сообщения и номер получателя, обращается к SMS-шлюзу провайдера по протоколу HTTP/HTTPS, а шлюз доставляет сообщение оператору связи. От вас требуется договор с провайдером, регистрация имени отправителя (альфа-имени) и корректная настройка в программе.

Что понадобится перед настройкой

До начала работы в 1С подготовьте три вещи. Во-первых, договор или аккаунт у SMS-провайдера — это сервис-шлюз, через который физически уходят сообщения. Популярные варианты, интегрированные в типовые конфигурации, — «1С-СМС» (шлюз фирмы «1С»), а также сторонние операторы, поддержка которых зависит от версии конфигурации. Во-вторых, зарегистрированное имя отправителя: операторы связи требуют согласования альфа-имени (буквенной подписи вместо номера), иначе сообщение уйдёт с произвольного номера или будет отклонено. В-третьих, положительный баланс на счёте шлюза — при нулевом балансе сообщения ставятся в очередь и не доставляются.

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

Настройка в типовых конфигурациях (УТ 11, ERP, КА, УНФ)

В конфигурациях на базе Библиотеки стандартных подсистем откройте раздел «Администрирование» и найдите подраздел «Органайзер» либо «Настройка работы с почтой и SMS» — точное название зависит от версии. Включите опцию отправки SMS и перейдите по ссылке настройки провайдеров. В списке выберите своего оператора шлюза, введите логин и пароль от личного кабинета провайдера и, если требуется, имя отправителя по умолчанию.

После сохранения настроек отправьте тестовое сообщение: в карточке контрагента или физического лица с заполненным мобильным телефоном используйте команду «SMS» из меню «Ещё» или кнопку на панели контактной информации. Если сообщение доставлено, настройка завершена. Для массовых рассылок в УТ 11 и УНФ используйте обработку «Рассылка SMS» или сегменты клиентов с автоматической подстановкой шаблонов.

Порядок действий в типовой конфигурации
  1. 1
    Заключите договор с SMS-провайдером и согласуйте альфа-имя отправителя
  2. 2
    Откройте «Администрирование» → «Органайзер» (или «Настройка SMS») и включите отправку SMS
  3. 3
    Выберите провайдера и введите логин и пароль от личного кабинета шлюза
  4. 4
    Укажите имя отправителя по умолчанию, если провайдер это поддерживает
  5. 5
    Отправьте тестовое SMS из карточки контрагента на свой номер
  6. 6
    Проверьте статус доставки в личном кабинете провайдера

Настройка в 1С:Бухгалтерии 3.0

В БП 3.0 отправка SMS используется в основном для уведомлений клиентов и взаимодействия с сервисами фирмы «1С». Настройка выполняется в разделе «Администрирование» → «Обмен электронными документами» либо через подсистему органайзера, если она включена в вашей версии. Учтите, что функциональность SMS в БП ограничена по сравнению с торговыми конфигурациями: произвольных массовых рассылок из коробки нет, для них подключают расширения или внешние обработки.

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

Отправка СМС через код: HTTP-запрос к API шлюза

В самописных конфигурациях, старых версиях и при использовании провайдера, которого нет в типовом списке, отправку реализуют программно. Практически все SMS-шлюзы принимают запросы по HTTPS: вы формируете URL или тело запроса с параметрами (логин, пароль или API-ключ, номер получателя, текст, имя отправителя) и выполняете вызов встроенными объектами платформы.

Типовой фрагмент кода на встроенном языке выглядит так:

ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();

Соединение = Новый HTTPСоединение("api.example-sms.ru", 443, , , , 30, ЗащищенноеСоединение);

Запрос = Новый HTTPЗапрос("/send?login=" + Логин + "&password=" + Пароль

+ "&phone=" + НомерТелефона + "&text=" + ТекстСообщения);

Ответ = Соединение.Получить(Запрос);

Если Ответ.КодСостояния = 200 Тогда

// сообщение принято шлюзом

КонецЕсли;

Обратите внимание на детали. Текст сообщения и номер нужно кодировать для передачи в URL — используйте функцию КодироватьСтроку с параметром СпособКодирования.КодировкаURL, иначе кириллица и пробелы сломают запрос. Логин и пароль не храните в коде открытым текстом: вынесите их в константы, защищённое хранилище или настройки, доступные только администратору. Номер телефона приводите к международному формату без пробелов и скобок — большинство шлюзов требуют цифры с кодом страны.

Шаблоны сообщений и персонализация

Рассылка одинаковым текстом всем клиентам снижает эффективность и повышает риск блокировки альфа-имени оператором за спам. В типовых конфигурациях есть шаблоны сообщений: создайте шаблон с параметрами вида [Контрагент.Наименование] или {Заказ.Номер}, и 1С подставит данные из документа или карточки клиента при отправке. Проверьте длину итогового текста: одно SMS вмещает ограниченное число символов, а кириллица сокращает этот лимит примерно вдвое по сравнению с латиницей. Длинное сообщение разбивается на части, и каждая часть тарифицируется отдельно.

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

Типичные ошибки
01
Незакодированный кириллический текст в URL — шлюз возвращает ошибку или получатель видит нечитаемые символы
02
Номер телефона в локальном формате без кода страны — сообщение не доставляется
03
Отправка без согласованного альфа-имени — сообщения отклоняются оператором
04
Хранение пароля шлюза в коде — риск компрометации и списания средств
05
Отправка в цикле без паузы и обработки ошибок — при сбое теряется часть рассылки без записи в журнал

Проверка доставки и обработка ошибок

Код ответа 200 от шлюза означает лишь, что сообщение принято в обработку, а не доставлено абоненту. Финальный статус (доставлено, отклонено, абонент недоступен) проверяйте в личном кабинете провайдера или запрашивайте через API по идентификатору сообщения, который шлюз возвращает в ответе. В программной реализации сохраняйте этот идентификатор вместе с фактом отправки — это позволит построить отчёт о доставке и разбирать претензии клиентов.

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

Контрольные точки

Как проверить результат

Тестовое SMS на свой номер
Норма

Сообщение пришло в течение минуты с корректным именем отправителя

Тревожный признак

Сообщения нет более 10 минут или пришло с чужого номера

Ответ шлюза в коде
Норма

Код состояния 200 и идентификатор сообщения в теле ответа

Тревожный признак

Коды 4xx/5xx или пустой ответ

Текст сообщения
Норма

Читаемая кириллица, корректные подставленные данные

Тревожный признак

Кракозябры, необработанные параметры шаблона

Частые вопросы

Можно ли отправлять СМС из 1С бесплатно?

Полностью бесплатных легальных способов нет: доставка SMS — платная услуга операторов связи. Некоторые провайдеры дают тестовые сообщения при регистрации, но для постоянной работы потребуется пополнять баланс шлюза.

Почему сообщения уходят, но клиенты их не получают?

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

Как отправлять СМС автоматически при проведении документа?

В типовых конфигурациях настройте бизнес-процессы или используйте расширение с подпиской на событие записи документа, которая вызывает штатную процедуру отправки SMS. В программной реализации добавьте вызов функции отправки в обработчик ПриЗаписи или в регламентное задание, обрабатывающее очередь. Избегайте синхронной отправки в транзакции записи — при недоступности шлюза документ не проведётся.

Какой лимит длины одного SMS?

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

Можно ли подключить провайдера, которого нет в списке 1С?

Да. Используйте HTTP-запросы к API этого провайдера через расширение конфигурации или внешнюю обработку. Практически все SMS-шлюзы предоставляют документированный HTTP API, поэтому интеграция сводится к формированию запроса и разбору ответа.

Нужно ли согласие клиентов на отправку SMS?

Для сервисных сообщений (статус заказа, напоминание о записи) достаточно договорных отношений. Для рекламных рассылок требуется предварительное согласие абонента и возможность отказа от получения — это требование законодательства о рекламе и связи, нарушение ведёт к штрафам и блокировке имени отправителя.

Итог

Что важно запомнить

В типовых конфигурациях отправка SMS настраивается выбором провайдера и вводом учётных данных в разделе администрирования; в нетиповых — через HTTP-запрос к API шлюза. Заранее согласуйте альфа-имя, храните пароли вне кода, кодируйте текст для URL и всегда проверяйте статусы доставки в кабинете провайдера.