Настройка модуля автоматизации

Материал из Меасофт
Версия от 15:12, 4 февраля 2019; Johny (обсуждение | вклад) (Экспорт данных)
Перейти к: навигация, поиск

Подходы в выборе алгоритма для построения автоматической 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 - Пользовательская процедура импорта

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-сервер

FileType Тип файла. Принимает значения:

1 - Формат CSV

2 - Формат "Сони"

3 - Формат XLS

4 - формат CSV (с заголовками)

Значения параметров 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-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе, при отправке файла произойдет ошибка, то этот, третий запрос не будет выполнен, заказы останутся в состоянии "не отправлен", и в следующий раз будет предпринята повторная попытка их отправки.