Управление обработкой распределено по трём вкладкам. На вкладке «Сообщение» вводится текст SMS, на вкладке «Получатели» формируется список получателей этого сообщения. Вкладка «Настройка» используется для выбора шлюза отправки сообщений и настройки дополнительных параметров рассылки.
Настройка обработки
Основные параметры обработки находятся на вкладке «Настройка».
- Шлюз. GSM-шлюз, через который будет осуществляться рассылка.
- Логин. Имя пользователя GSM-шлюза. Если у вас его нет, зарегистрируйтесь на сайте выбранного шлюза.
- Пароль. Пароль пользователя GSM-шлюза.
После заполнения свойств провайдера вы можете воспользоваться командой «Проверить баланс», которая выводит текущее состояние счета указанной учетной записи.
Помимо перечисленных настроек, на этой вкладке содержатся два дополнительных поля:
- Отправитель. Определяет имя автора SMS, которое отображается на экране мобильного телефона получателя. Следует понимать, что значение этой настройки, скорее всего, потребует первоначального одобрения администрацией шлюза на сайте сервиса.
- Отправлять срочные сообщения (flash SMS) вместо обычных? Позволяет вместо обычных SMS посылать так называемые «Flash SMS» — сообщения, которые сразу появляются на экране телефона и, в большинстве случаев, не сохраняются в памяти устройства.
Все данные вкладки «Настройка» автоматически сохраняются и восстанавливаются при открытии обработки. Вместе с тем, вы можете пользоваться стандартным функционалом сохранения и восстановления значений настроек, который доступен в меню «Все действия» формы.
Список получателей
На вкладке «Получатели» заполняется список адресатов, которым будет направлены сообщения. Ими могут выступать контрагенты и физические лица, занесенные в информационную базу, либо просто произвольно сформированный список телефонов.
Список может быть заполнен как вручную, так и с помощью форм подбора контрагентов и физических лиц, нажав на выпадающий список «Заполнить» и выбрав соответствующий пункт. Формы работают в режиме множественного выбора и не закрываются автоматически при выборе, что позволяет быстро формировать списки получателей даже по большой базе получателей.
Кроме форм подбора, в выпадающем списке «Заполнить» доступны команды «Выгрузить в файл» и «Загрузить из файла», которые соответственно позволяют сохранять сформированный список получателей в виде текстового файла с разделителями и загружать список получателей из сформированного файла.
При заполнении списка вручную заполнять колонку «Получатель» необязательно: она носит исключительно информативный характер и никак не влияет на процесс формирования сообщений.
Отправка сообщения
После ввода списка получателей следует перейти на вкладку «Сообщение», ввести его текст и выполнить команду «Отправить сообщение».
Состояние отправки выводится стандартными сообщениями. При возникновении какой-либо ошибки (например, недостатке средств на счету для отправки очередного сообщения) процесс остановится и программа сообщит о возникшей проблеме.
Программный интерфейс
Все основные механизмы, обеспечивающие взаимодействие обработки с GSM-шлюзами, вынесены в модуль объекта обработки и могут вызываться программистом извне для снижения затрат времени на самостоятельную разработку подобного решения.
Точки входа для отправки сообщений:
- ОтправитьРассылкуЧерезGateSMS( Рассылка )
- ОтправитьРассылкуЧерезSMSC( Рассылка )
В качестве параметра в обоих случаях выступает структура со следующими элементами:
- ЛогинШлюза (строка; имя пользователя GSM-шлюза)
- ПарольШлюза (строка; пароль пользователя GSM-шлюза)
- ИмяОтправителя (строка; имя автора SMS)
- ТелефонПолучателя (строка; один или несколько телефонов через запятую)
- ТекстСообщения (строка; содержимое SMS)
- Срочное (булево; определяет необходимость посылать Flash-SMS вместо обычных SMS)
- ЗапросСтоимости (булево; определяет, нужно ли запросить стоимость рассылки вместо собственно рассылки)
В качестве результата в обеих случаях возвращается структура. Обязательные элементы:
- Успешно (булево; индикатор успешного завершения операции)
- Сообщение (строка; текст ошибки, если она возникла)
Если операция успешна, структура ответа дополняется. В случаяе запроса стоимости появляются элементы:
- КоличествоСообщений (строка; количество SMS, которые будут посланы в ходе этой рассылки)
- СтоимостьРассылки (строка; стоимость рассылки в валюте сервиса)
Если запроса стоимости не было (то есть, была выполнена обычная рассылка) к структуре ответа добавляется параметр БалансШлюза (строка), который содержит баланс GSM-шлюза на момент завершения рассылки.
Пример рассылки:
Рассылка = Новый Структура;
Рассылка.Вставить( "ЛогинШлюза" , "МойЛогин" );
Рассылка.Вставить( "ПарольШлюза" , "МойПароль" );
Рассылка.Вставить( "ИмяОтправителя" , "МойПсевдоним" );
Рассылка.Вставить( "ТелефонПолучателя" , "79133100000" );
Рассылка.Вставить( "ТекстСообщения" , "Привет, мир!" );
Рассылка.Вставить( "Срочное" , Ложь );
Рассылка.Вставить( "ЗапросСтоимости" , Ложь );
Результат = Обработки.РассылкаSMS.Создать().ОтправитьРассылкуЧерезSMSC( Запрос );
Если Результат.Успешно Тогда
Сообщить( "Баланс: " + Результат.БалансШлюза );
Иначе
Сообщить( Результат.Сообщение );
КонецЕсли;
Пример оценки стоимости:
Рассылка = Новый Структура;
Рассылка.Вставить( "ЛогинШлюза" , "МойЛогин" );
Рассылка.Вставить( "ПарольШлюза" , "МойПароль" );
Рассылка.Вставить( "ИмяОтправителя" , "МойПсевдоним" );
Рассылка.Вставить( "ТелефонПолучателя" , "79133100000" );
Рассылка.Вставить( "ТекстСообщения" , "Привет, мир!" );
Рассылка.Вставить( "Срочное" , Ложь );
Рассылка.Вставить( "ЗапросСтоимости" , Истина);
Результат = Обработки.РассылкаSMS.Создать().ОтправитьРассылкуЧерезSMSC( Запрос );
Если Результат.Успешно Тогда
Сообщить( "Количество сообщений: " + Результат.КоличествоСообщений );
Сообщить( "Стоимость отправки: " + Результат.СтоимостьРассылки );
Иначе
Сообщить( Результат.Сообщение );<
КонецЕсли;
Точки входа для определения баланса на GSM-шлюзах:
- ОпределитьБалансНаGateSMS( Запрос )
- ОпределитьБалансНаSMSC( Запрос )
В качестве параметра в обеих случаях выступает структура со следующими элементами:
- ЛогинШлюза (строка; имя пользователя GSM-шлюза)
- ПарольШлюза (строка; пароль пользователя GSM-шлюза)
В качестве результата в обеих случаях возвращается структура. Обязательные элементы:
- Успешно (булево; индикатор успешного завершения операции)
- Сообщение (строка; текст ошибки, если она возникла)
Если операция успешна, к структуре добавляется элемент БалансШлюза (строка), который содержит текущий баланс GSM-шлюза.
Пример определения баланса:
Рассылка = Новый Структура;
Рассылка.Вставить( "ЛогинШлюза" , "МойЛогин" );
Рассылка.Вставить( "ПарольШлюза" , "МойПароль" );
Результат = Обработки.РассылкаSMS.Создать().ОпределитьБалансНаGateSMS( Запрос );
Если Результат.Успешно Тогда
Сообщить( "Баланс: " + Результат.БалансШлюза );
Иначе
Сообщить( Результат.Сообщение );
КонецЕсли;