Изменения

Перейти к: навигация, поиск

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

11 725 байт добавлено, 14:00, 31 мая 2022
м
Нет описания правки
Модуль автоматизации (интеграции с внешними системами ) предназначен для выполнения периодических заданий импорта/, экспорта/, обработки данных. Модуль представляет из себя Службу службу Windows, которая каждые 10 секунд проверяет, наличие заданий в таблице scheduler.jobs с прошедшим временем следующего выполнения, и выполняет эти задания.
Заданиями для модуля интеграции (модуля автоматизации) могут быть:
* оборудование: автопечать продажных/возвратных чеков, автоматическое ежедневное формирование Z-отчета для фискальных регистраторов;
* отчеты: всевозможные email-оповещения в формате Excel (например, отчет о доставке);
* SMS-оповещения: автоматические SMS рассылки для клиентов/курьеров;
* интеграция: процесс обмена заказами и их статусами с другими компаниями (например, курьерскими службами, интернет магазинами);
* автоматический экспорт-импорт информации с БД систем других производителей (например, WMS-системами — «системами управления складом»).
 
'''Документация ниже не предлагает всем пользователям системы самостоятельно настраивать задания данного модуля. Наоборот, мы рекомендуем обращаться за настройкой к нам. Однако документация ПОЗВОЛЯЕТ при желании и наличии специалистов выполнить настройку самостоятельно.'''
 
== Рекомендации для создания автоматической e-mail/смс рассылки ==
Перед формированием заявки для настройки автоматической email- или смс-рассылки пользователю системы крайне желательно ознакомиться с этой инструкцией.
 
# Не рассылайте одновременно e-mail и смс-уведомление. Массовая автоматическая рассылка в системе может быть реализована двумя способами:
#* e-mail-уведомление — более востребованы для рассылки клиентам информации с вложениями в виде прикрепляемых файлов с отчетами;
#* смс-информирование — подходят для сообщения получателю, что к нему едет курьер. Можно в этом же сообщении отправить телефон курьера, чтобы получатель мог напрямую в течение дня у курьера уточнить, когда именно тот планирует приехать.<br>Для каждого нового задания рекомендуется выбирать один из этих способов. Не следует перегружать клиента избыточной или регулярно повторяющейся информацией.
# Предусмотрите набор типов рассылки в карточке клиента (пользовательские поля для клиентов). Вы можете создать список рассылок в карточке клиента в виде флажков. Этот функционал позволяет включить клиента в рассылку или отключить от нее, а также настроить тарификацию необходимых рассылок в виде дополнительных услуг, предоставляемых клиенту.
# Периодичность рассылки и ее рабочее время. Задания рассылки могут выполняться с заданной периодичностью. Заданий для рассылки в системе может быть несколько, поэтому нужно оптимально распределить время их выполнения. ОПределите, будете ли вы отправлять e-mail-уведомление по каждому событию или разово, единым реестром в конце дня, недели и т. д. Например, e-mail-рассылка отчета о доставках выполняется утром в 9:00 за предыдущий день.<br>Выбор периодичности обязательно должен учитывать и интересы клиента: будет клиент просматривать множество писем с информацией или одно письмо с итоговой информацией в виде реестра.<br>Настройка рабочего времени рассылки (или часовой диапазон) больше применимы для смс-информирования. Эта настройка призвана разделять рабочее время и время отдыха. Таким образом, клиент не получит смс в 6 часов утра или в 11 часов вечера. Стандартно в системе принято условие для смс-рассылки с 8 до 10 вечера (по местному времени), но по желанию клиента этот диапазон может быть изменен.
# Продумайте текст рассылки, ее алгоритм, способ, а затем обращайтесь для настройки. Специальные теги в системе позволят добавить информацию, например о номере документа или периоде его формирования.
# Узнать у клиента, какие рассылки ему требуются. Хорошей практикой перед запросом для настройки рассылки может стать предварительный опрос клиентов — какая рассылка действительно необходима клиенту? необходима ли она ему вообще? сколько для клиента будет стоить эта услуга? Как и при каких условиях клиент сможет отписаться от рассылки?
# Длина и кодировка смс-рассылки (ссылка). Известно, что длина смс сообщения влияет на его стоимость. Уменьшить длину поможет выбор типа кодировки сообщения: кириллица или транслитерация. Перед планированием смс-рассылки проанализируйте предполагаемые расходы в сутки/месяц. Это поможет сразу построить эффективную модель задания и избавит от последующих изменений и корректировок в скрипте задания. Более подробно этот вопрос рассмотрен в статье [[Модуль отправки SMS-сообщений#Почему мои сообщения не доставлены?|Почему мои сообщения не доставлены? Почему уходит много денег?]].
# Подготовительная работа в системе перед настройкой рассылки. Заранее выберите и настройте [[Настройка глобальных параметров#Настройка подключения к почтовому серверу|почтовый адрес]] для отправки писем. Для смс-рассылки выберите [[Модуль отправки SMS-сообщений#Провайдеры|провайдера услуг]], настройте подключение к системе и протестируйте отправку сообщений в ручном режиме.
# Используйте статусную модель для заказов в ЛК как альтернативу рассылке отчета о доставках. Любой клиент MeaSoft может отслеживать свои заказы в [[Личный кабинет курьерской службы#Отслеживание заказа по номеру|личном кабинете]] и в режиме реального времени узнать статус их выполнения, что, несомненно, является весомым преимуществом по сравнению с почтовым уведомлением.
# Спам-фильтры и блокировка уведомлений на стороне клиента. Для email-рассылки с большими объемами всегда существует проблема — большинство почтовых серверов могут начать воспринимать сообщения из рассылки как спам, и бОльшая часть почты будет проигнорирована получателем или же попадет в соответствующие папки. Нередко получателю надоедает регулярно повторяющаяся информация, и он самостоятельно блокирует нежелательную почту как спам. Со временем почтовый адрес компании, отправляющей письма, может попасть в глобальный черный список антиспам-систем и заработать глобальную блокировку.
== Установка ==
 
== Настройка ==
параметры ini файла:
SMTPProtocol - SMTPProtocol — тип протокола отправки почты: 0 - 0 — SMTP, 1 - 1 — SSL, 2 - 2 — TLS.
== Создание заданий ==
Задания описываются в текстовом виде в поле TEXT таблицы jobs.
Задания описываются в текстовом виде в поле TEXT таблицы jobs.В одном тексте может быть несколько заданий, разделенных пустой строкой, за исключением случая, когда текст начинается с префикса интерпретатора ("«<?>"»). Задание может быть следующих видов: Интерпретируемый код«Интерпретируемый код», Импорт данных«Импорт данных», Выполнение запроса «Выполнение запроса» (возможно, с экспортом результата).
== Интерпретируемый код ==
Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им.
 
== Импорт данных ==
!Описание
|-
|input |Признак типа задания - задания — импорт данных
|-
|OperNo
|Номер действия. Значения: 0 - 0 — загрузка по FTP, SFTP. 1 — Получение почты.
|-
|FileType
|Тип файла. Принимает значения:
0 - 0 — Формат "Йота"«Йота»
1 - 1 — Формат "Сони"«Сони»
2 - 2 — Формат "Омни"«Омни»
3 - 3 — [[Описание стандартного протокола интеграции|Стандартный формат заказов]]
4 - 4 — [[Описание стандартного протокола интеграции|Стандартный формат отчетов]]
5 - 5 — Пользовательская процедура импорта 6 — Пользовательская процедура импорта, без загрузки файла
|-
|Param1
|Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте sftp://имя_сервера)
|-
|Param2
|Активное соединение FTP. Для использования активного режима укажите active
|}
 
При задании «1» — Импорт почты система получает почту по всем аккаунтам из таблицы Accounts и загружает их в таблицы messages и attachment
== Экспорт данных ==
|-
|query
|Признак типа задания - задания — экспорт данных
|-
|OperNo
| Номер действия. Значения: 0 - Только выполнение запроса. 1 - Отправка по электронной почте 2 - Выгрузка файла на FTP, SFTP-сервер3 <!- - 3 — Выгрузка заказов в систему "Аксиомус"«Аксиомус»4 - 4 — Проверка статусов с системе "Аксиомус"«Аксиомус»5 - 5 — Синхронизация с системой "Эмпрана"«Эмпрана»6 - 6 — Отправка складских остатков в систему «Эмпрана» --> 7 - Отправка сообщений из тикетов <spoiler text="ЭмпранаПараметры"7 >FileType=2 - Запрос координат курьеров в сервисе Googleотключает отправку писем на входящие сообщения.</spoiler>
|-
|FileType
| Тип файла. Принимает значения: 1 - Формат CSV   2 - Формат "Сони"«Сони» 3 - Формат XLS  4 - формат CSV (с заголовками) 5 - загрузка файла и запуск скрипта 6 - запуск скрипта (без загрузки файла)
|}
Значения параметров 1-6 зависят от типа операции:
'''Тип операции - операции — 0:'''
Не используются.
'''Тип операции - операции — 1:'''
{|
!Параметр
|-
|Param1
|Адрес e-mail для отправки
|-
|Param2
|Тема сообщения. Если пусто - "CourierAutoReport"пусто — «CourierAutoReport»
|-
|Param3
|Текст сообщения. Если пусто - "see attachment"пусто — «see attachment»
|-
|Param4
|Маска имени файла. Доступны шаблоны %DT%, %D%, %T% — Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто — используется ДатаВремя
|-
|Param5
|}
'''Тип операции - операции — 2:'''
{|
!Параметр
|-
|Param1
|Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте "sftp://имя_сервера...»)
|-
|Param2
|-
|Param4
|Маска имен файла. Доступны шаблоны %DT%, %D%, %T% — Дата/время в форматах YYYYMMDDHHMMSS, YYYYMMDD, HHMMSS соответственно. Если пусто — используется ДатаВремя
|-
|Param5
|-
|Param6
|Не используетсяобязательный параметр, полный путь к папке на FTP-сервере для сохранения копии
|}
<!--'''Типы операции - операции — 3, 4:'''
{|
!Параметр
|-
|Param1
|Имя пользователя системы "Аксиомус"«Аксиомус»
|-
|Param2
|Пароль системы "Аксиомус"«Аксиомус»
|-
|Param3
|}
'''Тип операции - операции — 5:'''
{|
!Параметр
|-
|Param1
|Адрес сервера системы "Эмпрана"«Эмпрана»
|-
|Param2
|Имя пользователя системы "Эмпрана"«Эмпрана»
|-
|Param3
|Пароль системы "Эмпрана"«Эмпрана»
|-
|Param4
|-
|Param5
|Символьный код города системы "Эмпрана"«Эмпрана»
|-
|Param6
|}
'''Тип операции - операции — 6:'''
{|
!Параметр
|-
|Param1
|Адрес сервера системы "Эмпрана"«Эмпрана»
|-
|Param2
|Имя пользователя системы "Эмпрана"«Эмпрана»
|-
|Param3
|Пароль системы "Эмпрана"«Эмпрана»
|-
|Param4
|-
|Param5
|Символьный код города системы "Эмпрана"«Эмпрана»
|-
|Param6
Обязательно указать запрос! Например, select 1!
'''Тип операции - операции — 7:'''
Параметры не используются!
Обязательно указать запрос! Например, select 1!-->
== Примеры использования ==
 
=== Импорт заказов в стандартном формате с FTP-сервера ===
   input, 0, 4, myftphost.ru/upload/foulderfolder/, MyUserName, MyPassword, *_orders.csv, 123, active 
=== Экспорт заказов в CSV-файле на FTP-сервер ===
 
query, 0
replace scheduler.sent (code, sent, source, rectype)
update scheduler.sent set sent='T' where sent='F' and source=123 and rectype=2
Данное Это задание состоит из 3подзаданий. В первом - запрос первом запрос собирает коды корреспонденцииотправлений, измененной измененных за последние 7 дней, но не добавленных в очередь отправки в таблице sent. Во втором происходит формирование CSV-файла с заказами, у которых стоит отметка, что они не отправлены (sent.sent='F'), и отправка файла на FTP-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе, при отправке файла произойдет ошибка, то этот, третий запрос не будет выполнен, заказы останутся в состоянии "не отправлен"«не отправлен», и в следующий раз будет предпринята повторная попытка их отправки.

Навигация