Многие компании используют отправку SMS-сообщений напрямую из 1С для регистрации дисконтных карт, информирования о заказах или проведения праздничных рассылок. Однако рынок мобильной связи меняется: операторы повышают цены и вводят новые правила. Проанализируем ситуацию на рынке SMS-уведомлений, выясним причины роста цен и подробно разберем, как выгодно и технически грамотно организовать рассылку из 1С (в том числе из устаревшей платформы версии 7.7).
Если ранее можно было отправлять сообщения по цене менее 3 рублей, то сейчас стоимость одной SMS-ки зачастую превышает 5 рублей. Более того, крупнейшие операторы связи ввели обязательную абонентскую плату за индивидуальное буквенное имя отправителя (Sender ID).
Рассмотрим, с чем сталкивается бизнес сегодня:
SMS или Info). Однако при использовании таких имен тариф за одно сообщение может быть выше, а сами операторы часто блокируют подобные рассылки антиспам-фильтрами.Оптимальным решением для бизнеса остаются специализированные сервисы-агрегаторы (например, Redsms или ssms.su), которые предоставляют готовые API-шлюзы для отправки. Интеграция по API работает быстро и позволяет предварительно запрашивать стоимость сообщения до его фактической отправки.
Разберем по шагам, как реализовать такую интеграцию, даже если вы работаете на старой платформе 1С 7.7. Нам не потребуется «городить» сложные внешние компоненты, так как всё решается встроенными средствами Windows. Посмотрим на пример использования стандартного COM-объекта WinHttp.WinHttpRequest.5.1 для отправки POST-запроса:
Функция ОтправитьСМС(НомерТелефона, ТекстСообщения)
Попытка
WinHttp = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Open("POST", "https://api.sms-service.ru/send", 0);
// Устанавливаем заголовки
WinHttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
WinHttp.SetRequestHeader("Authorization", "Bearer ВАШ_API_КЛЮЧ");
// Формируем тело запроса
ТелоЗапроса = "phone=" + НомерТелефона + "&text=" + ТекстСообщения;
// Отправляем запрос
WinHttp.Send(ТелоЗапроса);
// Получаем ответ сервера
Ответ = WinHttp.ResponseText;
Сообщить("Ответ сервера: " + Ответ);
Исключение
Сообщить("Ошибка при отправке: " + ОписаниеОшибки());
КонецПопытки;
КонецФункции
Аналогичным образом можно использовать объект MSXML2.XMLHTTP. Большинство современных сервисов имеют подробную документацию и готовы предоставить шаблоны кода для 1С.
Если вы не хотите разбираться с API и HTTP-запросами, проанализируем альтернативный вариант — сервисы Email-to-SMS. Суть метода заключается в том, что вы формируете обычное электронное письмо из 1С и отправляете его на специальный адрес шлюза.
Правила формирования такого письма обычно следующие:
Этот метод отлично подходит для старых конфигураций, где уже настроена отправка электронных писем средствами 1С, так как не требует написания новых процедур интеграции.
При очень маленьком трафике (например, несколько десятков сообщений в месяц) можно рассмотреть использование обычного USB-модема («свистка») с вставленной SIM-картой. Управление модемом из 1С осуществляется путем отправки AT-команд на COM-порт.
Однако сегодня этот метод сопряжен с серьезными рисками. Выясним причину:
Поскольку классические SMS стали дорогими, рассмотрим современные способы авторизации и информирования клиентов, которые обойдутся значительно дешевле.
Flash Call (Авторизация звонком) или Voice Code
Вместо отправки сообщения клиенту поступает автоматический входящий звонок. Кодом подтверждения служат либо последние 4 цифры входящего номера, либо голосовой робот диктует цифры. Стоимость такой авторизации составляет около 0.6 – 1 рубля за успешный запрос. Это идеальный вариант для регистрации новых дисконтных карт на кассе.
Каскадные рассылки через мессенджеры
Многие SMS-агрегаторы поддерживают отправку сообщений в популярные мессенджеры и социальные сети (VK, Telegram, Viber). Настраивается так называемый каскад: система сначала пытается доставить сервисное сообщение в мессенджер по номеру телефона. Это стоит копейки или вовсе бесплатно. И только в том случае, если клиент не зарегистрирован в мессенджере или не прочитал сообщение в течение заданного времени, сервис отправляет классическое (дорогое) SMS. Такой подход позволяет бизнесу экономить до 70% бюджета на уведомлениях.
При выборе подходящего метода отталкивайтесь от ваших задач. Для авторизации на кассе лучше всего подойдет Flash Call, а для редких массовых маркетинговых рассылок — каскадные отправки через агрегаторы с качественным API.