Форма СМС рассылки

СМС рассылка через шлюз в конструкторе Руна
Смотреть видео (10:20)

Форма СМС рассылки предназначена для подготовки шаблона сообщения с подстановкой данных из объекта получателей, составления списка получателей и массовой рассылки посредством различных инструментов. Для одиночной отправки СМС из объекта/формы можно использовать поле СМС сообщения.


Инструменты для рассылки СМС

Рекомендуемые СМС агрегаторы:

sms.ru smspilot.ru

При регистрации по ссылкам на этой странице:

  • sms.ru - цена на 10% ниже официальной
  • smspilot.ru - 150 руб. на счёт

Также поддерживаются:

Подключение через USB (в разработке)


Описание свойств формы рассылки

Группа основных свойств формы:Основные свойства формы СМС рассылки

  • префикс и имя – составное наименование формы;
  • имя группы, в которую будет помещена форма (если необходимо);
  • объект сообщения, на базе которого создаётся форма;
  • шаблон текста - строковое поле, которое содержит сообщение для отправки.

Группа свойств списка получателей:Свойства списка получателей СМС рассылки

  • объект получателей, который используется для составления списка получателей сообщения;
  • поле, содержащее номер телефона в указанном объекте получателей;
  • поле ссылки на объект СМС-шлюза в объекте получателей.

Группа служебных полей объекта равнозначной связи:Служебные поля объекта СМС рассылки

  • поле формируемого сообщения для отправки;
  • дата и время выполненной попытки отправки сообщения;
  • строковое поле результата отправки, в которое помещается результат отправки (содержит либо внутреннюю ошибку назначения параметров, либо код и расшифровку попытки отправки от СМС инструмента).

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

Требуемая структура и построение формы

Для создания формы рассылки требуется наличие следующих объектов в проекте:

  1. объект СМС-шлюзов (добавляется из встроенных объектов);
  2. объект получателей с полем ссылки на объект шлюзов;
  3. объект сообщений.

После добавления или обновления данных из встроенного объекта, для каждого инструмента СМС рассылки необходимо задать требуемые параметры в точном соответствии с установленными правилами. Параметры можно перечислять через запятую или амперсанд. Список обрабатываемых параметров каждого инструмента можно получить в детализации выбранного инструмента на форме встроенных объектов. Пароль не указывается среди параметров. Если требуется его применение, то для этого служит специальное поле (аналог строкового поля с подтипом пароль), которое доступно только в режиме редактирования инструмента. Данные этого поля становится видны только при установке на него курсора.

СМС инструмент обрабатывается в строгом соответствии с именем, поэтому его переименование недопустимо.

В объекте получателей добавляется ссылка на СМС-шлюз, который используется для отправки сообщения. Также в объекте должно быть задано строковое поле для номера телефона получателя.

Объект сообщений должен содержать поле (тип Строка или Составное), которое содержит шаблон сообщения. Синтаксис поля шаблона соответствует составному полю, в котором квадратными скобками выделяются поля, которые подставляются из объекта получателей. Если в качестве поля шаблона используется тип Составное, то при создании записи сообщения в него подставляются данные из самого сообщения, а при добавлении получателя - в объекте равнозначной связи, в поле "Текст" производится замена полей объекта получателей.

К примеру: в объекте сообщения есть поле даты "Дата отправки" и составное поле "Шаблон сообщения", а в объекте получателей есть строковое поле "ФИО". В структуре объекта сообщения для составного поля шаблона можно задать следующую формулу:

Уважаемый [ФИО], [Дата отправки] будет отправлено ...


Рассылка СМС сообщений в программе

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

Первой в форме создаётся запись с шаблоном сообщения с обязательным заполнением поля, заданного как "Шаблон текста". После этого добавляется список получателей, в котором отмечаются те, которые должны получить подготовленное СМС сообщение. При добавлении получателей производится автозаполнение служебного поля отмеченного как "Текст", в которое подставляются данные из объекта получателей. При этом поля даты, времени и результата остаются пустыми — до первой попытки отправки сообщения.

При наличии хотя бы одного сообщения и списка получателей для него — активируется кнопка "Отправить" в нижней части формы, которая служит для запуска процесса рассылки СМС сообщений.

Каждый получатель обрабатывается отдельно (групповая рассылка не осуществляется) и в служебные поля производится запись даты/времени попытки отправки, а также её результат в виде кода, полученного от СМС шлюза и его расшифровка.

Отправку сообщения одному получателю из списка можно произвести через команду "Отправить" контекстного меню дочернего списка.

По кнопке "Стоп", которая активируется при запуске рассылки, можно остановить процесс. При последующем старте рассылки обрабатываются все получатели, независимо от результата предыдущей отправки. При этом данные в дочернем списке получателей переписываются в соответствии с информацией, полученной при очередной попытке рассылки.

Записи получателей в дочернем списке формы СМС рассылки не изменяются. Для корректировки данных можно использовать объект равнозначной связи сообщений и получателей со служебными полями.

Объект равнозначной связи для служебных полей

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

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

Изменение данных в объекте равнозначной связи возможно как в использующей его форме связи, так и в самом объекте, включённом для отображения в меню проекта.


Настройка параметров в объекте СМС-шлюзов

После добавления/обновления данных из встроенного объекта СМС-шлюзов, необходимо настроить параметры для каждого шлюза.

При совпадении имени СМС-шлюза во встроенном объекте и объекте проекта, шлюзы с одинаковыми именами пропускаются и данные не обновляются.

Для каждого шлюза задаётся своя строка параметров, информацию по настройке которых можно получить на сайте СМС-шлюза. В конструкторе Руна обрабатываются не все параметры каждого шлюза, а только те, которые описаны во встроенном объекте СМС-шлюзов.

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

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

Параметры каждого шлюза требуют аккуратной настройки. В случае их некорректного определения возможна ошибочная рассылка и потеря денежных средств.

ВАЖНО! Разработчик конструктора Руна не несёт ответственности за ошибки по настройке параметров подключения к шлюзу и за нанесение финансового или иного ущерба пользователям программы. Рекомендуем использовать методы тестирования, предоставляемые СМС шлюзами.

Пример исходного значения параметров для СМС-шлюза sms.ru:

api_id=<api_id>

Результат ручной настройки параметра api_id и добавления параметра translit через амперсанд (&):

api_id=28BFA14B-1533-CAB2-78B7-9C7BB507D7B4&translit=1

При задании параметров следует обратить внимание на обязательные, которые отмечены в описании шлюзов для встроенных объектов. Подробнее можно прочитать в документации API шлюзов.

Особенности некоторых СМС-шлюзов

sms.ru

  • При закрытии в сообщении http-ссылки прямым слэшем выдаёт ошибку «211 – метод не найден». Пример:
    "Наш сайт: http://runabase.ru" - сообщение принято к отправке (Ok).
    "Наш сайт: http://runabase.ru/" - метод не найден (211).

epochta.ru

  • Ошибка контрольной суммы при использовании в сообщении знаков + (плюс) и % (процент).