Настройка модуля автоматизации
Подходы в выборе алгоритма для построения автоматической e-mail/смс рассылки
В этой статье будут рассмотрены общие рекомендательные принципы и подходы для эффективного выбора алгоритма настройки автоматической рассылки в системе КС2008. Перед формированием заявки для настройки автоматической e-mail или смс рассылки пользователю системы крайне желательно ознакомиться с данной инструкцией.
1. Не рассылать одновременно e-mail и смс уведомление.
Массовая автоматическая рассылка в системе может быть реализована двумя способами – e-mail или смс информирование. Для каждого нового задания рекомендуется выбирать лишь один и из этих способов. Не следует перегружать клиента избыточной или регулярно повторяющейся информацией. По нашей практике: смс уведомления наиболее востребованы для уведомления получателя, что к нему едет курьер. Можно в этом же сообщении отправить телефон курьера, чтобы получатель мог напрямую в течение дня у курьера уточнить - когда именно тот планирует приехать. E-mail уведомления более востребованы для рассылки клиентам информации с вложениями в виде прикрепляемых файлов с отчетами.
2. Предусмотреть набор типов рассылки в карточке клиента (пользовательские поля для клиентов).
Система предусматривает возможность создания списка рассылок в карточке клиента в виде галок. Этот функционал позволяет включить клиента в рассылку или отключить от нее, а также настроить тарификацию необходимых рассылок в виде дополнительных услуг, предоставляемых клиенту.
3. Периодичность рассылки и ее рабочее время.
Алгоритм выполнения определенного задания рассылки может быть организован с заданной периодичностью. В связи с тем, что заданий для рассылки в системе может быть несколько – необходимо оптимально распределить время их выполнения. Принципиально необходимо решить – отправлять e-mail уведомление по каждому событию или разово, единым реестром в конце дня, недели и т.д. Пример: e-mail рассылка отчета о доставках выполняется утром в 9:00 за предыдущий день. Выбор периодичности обязательно должен учитывать и интересы клиента – будет клиент просматривать множество писем с информацией или одно письмо с итоговой информацией в виде реестра.
Настройка рабочего времени рассылки (или часовой диапазон) больше применимы для смс информирования. Эта настройка призвана разделять рабочее время и время отдыха. Таким образом, клиент не получит смс в 6 часов утра или в 11 часов вечера. Стандартно в системе принято условие для смс-рассылки с 8 до 10 вечера (по местному времени), но по желанию клиента этот диапазон может быть изменен.
4. Продумать текст рассылки, ее алгоритм, способ, а потом обращаться для настройки.
Необходимо тщательно продумать текст сообщения для рассылки, выбрать его тему (как правило, относится к e-mail рассылке). Специальные теги в системе позволят добавить в них информацию, например о номере документа или периоде его формирования.
5. Узнать у клиента, какие рассылки ему требуются.
Хорошей практикой перед запросом для настройки рассылки может стать предварительный опрос клиентов – какая рассылка действительно необходима клиенту? необходима ли она ему вообще? сколько для клиента будет стоить эта услуга ? Как и при каких условиях клиент сможет отписаться от рассылки?
6. Длина и кодировка смс рассылки (ссылка).
Известно, что длина смс сообщения влияет на его стоимость. Уменьшить длину поможет выбор типа кодировки сообщения: кириллица или транслитерация. Перед планированием смс-рассылки необходимо в системе выполнить примерный анализ предполагаемых расходов в сутки/месяц. Это поможет сразу построить эффективную модель задания и избавить от последующих изменений и корректировок в скрипте задания. Более подробно этот вопрос рассмотрен в статье по ссылке: Почему мои сообщения не доставлены? Почему уходит много денег? http://wiki.courierexe.ru/index.php?title=Модуль_отправки_SMS-сообщений
7. Подготовительная работа в системе перед настройкой e-mail или смс-рассылки.
Необходимо заранее выбрать и настроить в системе почтовый адрес, от лица которого, будет производиться отправка писем. Для смс-рассылки необходимо выбрать провайдера услуг, выполнить настройку его подключения к системе и произвести тестовую отправку сообщения в ручном режиме.
8. Статусная модель для заказов в ЛК – как альтернатива рассылке отчета о доставках.
Любой клиент КС2008 сможет воспользоваться отслеживанием своих заказов посредством личного кабинета (этот функционал доступен в пакете “Премиум”). Статусная модель позволяет клиенту в режиме реального времени узнать состояние (статус) выполнения заказа, что, несомненно, является весомым преимуществом по сравнению с почтовым уведомлением.
9. Спам фильтры и блокировка уведомлений на стороне клиента.
Для e-mail рассылки с большими объемами всегда существует проблема. Большинство почтовых серверов могут начать воспринимать сообщения из рассылки как спам, и бОльшая часть почты будет проигнорирована получателем или же попадать в соответствующие папки. Не редкость, когда получателю надоедает регулярно повторяющаяся информация, и он самостоятельно блокирует нежелательную почту как спам. Со временем, почтовый адрес компании, являющийся отправителем писем, может попасть в глобальный черный список антиспам систем и заработать глобальную блокировку.
Модуль автоматизации (интеграции)
Модуль автоматизации (интеграции с внешними системами) предназначен для выполнения периодических заданий импорта/экспорта/обработки данных. Модуль представляет из себя Службу Windows, которая каждые 10 секунд проверяет, наличие заданий в таблице scheduler.jobs с прошедшим временем следующего выполнения, и выполняет эти задания.
Заданиями для модуля интеграции (модуля автоматизации) могут быть примеры таких заданий, как:
- Оборудование: Автопечать продажных/возвратных чеков, автоматическое ежедневное формирование Z-отчета для фискальных регистраторов;
- Отчеты: Всевозможные e-mail оповещения в формате Excel (например, отчет о доставке);
- SMS оповещения: автоматические SMS рассылки для клиентов/курьеров;
- Интеграция: Процесс обмена заказами и их статусами с другими компаниями (например, курьерскими службами, интернет магазинами);
- Автоматический экспорт-импорт информации с БД систем других производителей (например, WMS-системами "системами управления складом").
Документация ниже не предлагает всем пользователям системы самостоятельно настраивать задания данного модуля. Наоборот, мы рекомендуем обращаться за настройкой к нам. Однако документация ПОЗВОЛЯЕТ при желании и наличии специалистов выполнить настройку самостоятельно
Установка
Настройка
параметры ini файла:
SMTPProtocol - тип протокола отправки почты: 0 - SMTP, 1 - SSL, 2 - TLS
Создание заданий
Задания описываются в текстовом виде в поле TEXT таблицы jobs. В одном тексте может быть несколько заданий, разделенных пустой строкой, за исключением случая, когда текст начинается с префикса интерпретатора ("<?>"). Задание может быть следующих видов: Интерпретируемый код, Импорт данных, Выполнение запроса (возможно, с экспортом результата).
Интерпретируемый код
Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им.
Импорт данных
input, OperNo, FileType, Param1, Param2, Param3, Param4, Param5, Param6
Параметр | Описание |
---|---|
input | Признак типа задания - импорт данных |
OperNo | Номер действия. Значения: 0 - загрузка по FTP, SFTP. 1 - Получение почты. |
FileType | Тип файла. Принимает значения:
0 - Формат "Йота" 1 - Формат "Сони" 2 - Формат "Омни" 3 - Стандартный формат заказов 4 - Стандартный формат отчетов 5 - Пользовательская процедура импорта 6 - Пользовательская процедура импорта, без загрузки файла |
Param1 | Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте sftp://имя_сервера) |
Param2 | Имя пользователя FTP-сервера |
Param3 | Пароль FTP-сервера |
Param4 | Маска имен файлов, подлежащих загрузке |
Param5 | Код клиента (поле courier.clients.code), для привязки загруженных заказов |
Param6 | Активное соединение FTP. Для использования активного режима укажите active |
При задании "1" - Импорт почты система получает почту по всем аккаунтам из таблицы Accounts и загружает их в таблицы messages и attachment
Экспорт данных
query, OperNo, FileType, Param1, Param2, Param3, Param4, Param5, Param6 QueryText
Модуль выполняет запрос QueryText, и передает результат его выполнения функции отправки, описанной в первой строке задания.
Параметр | Описание |
---|---|
query | Признак типа задания - экспорт данных |
OperNo |
Номер действия. Значения: 0 - Только выполнение запроса. 1 - Отправка по электронной почте 2 - Выгрузка файла на FTP, SFTP-сервер 7 - Отправка сообщений из тикетов Параметры |
FileType |
Тип файла. Принимает значения: 1 - Формат CSV 2 - Формат "Сони" 3 - Формат XLS 4 - формат CSV (с заголовками) 5 - загрузка файла и запуск скрипта 6 - запуск скрипта (без загрузки файла) |
Значения параметров 1-6 зависят от типа операции:
Тип операции - 0: Не используются.
Тип операции - 1:
Параметр | Описание |
---|---|
Param1 | Адрес e-mail для отправки |
Param2 | Тема сообщения. Если пусто - "CourierAutoReport" |
Param3 | Текст сообщения. Если пусто - "see attachment" |
Param4 | Маска имени файла. Доступны шаблоны %DT%, %D%, %T% - Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто - используется ДатаВремя |
Param5 | Не используется |
Param6 | Не используется |
Тип операции - 2:
Параметр | Описание |
---|---|
Param1 | Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте "sftp://имя_сервера...") |
Param2 | Имя пользователя FTP-сервера |
Param3 | Пароль FTP-сервера |
Param4 | Маска имен файла. Доступны шаблоны %DT%, %D%, %T% - Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто - используется ДатаВремя |
Param5 | Активное соединение FTP. Для использования активного режима укажите active |
Param6 | Не обязательный параметр, полный путь к папке на FTP-сервере для сохранения копии |
Примеры использования
Импорт заказов в стандартном формате с FTP-сервера
input, 0, 4, myftphost.ru/upload/folder/, MyUserName, MyPassword, *_orders.csv, 123, active
Экспорт заказов в CSV-файле на FTP-сервер
query, 0 replace scheduler.sent (code, sent, source, rectype) select a.code, 'F', b.source, 2 from courier.address a join zakaz b on a.zakaz=b.code left join scheduler.sent s on s.code=a.code and s.source=b.source and s.rectype=2 where a.ldtime>=date_sub(now(), interval 7 day) and s.code is null and b.source=123 query, 2, 1, myftphost.ru/upload/foulder/, MyUserName, MyPassword, MY-ORD-%DT% select a.code, a.strbarcode, a.target, a.name, a.address, a.phone, a.rur from scheduler.sent s join courier.address a on s.code=a.code where s.sent='F' and s.source=123 and s.rectype=2 query, 0 update scheduler.sent set sent='T' where sent='F' and source=123 and rectype=2
Данное задание состоит из 3-х подзаданий. В первом - запрос собирает коды корреспонденции, измененной за последние 7 дней, но не добавленных в очередь отправки в таблице sent. Во втором происходит формирование CSV-файла с заказами, у которых стоит отметка, что они не отправлены (sent.sent='F'), и отправка файла на FTP-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе, при отправке файла произойдет ошибка, то этот, третий запрос не будет выполнен, заказы останутся в состоянии "не отправлен", и в следующий раз будет предпринята повторная попытка их отправки.