Изменения

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

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

15 836 байт добавлено, 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 — тип протокола отправки почты: 0 — SMTP, 1 — SSL, 2 — TLS.
 
== Создание заданий ==
Задания описываются в текстовом виде в поле TEXT таблицы jobs.
 В одном тексте может быть несколько заданий, разделенных пустой строкой, за исключением случая, когда текст начинается с префикса интерпретатора ("«<?>"»). Задание может быть следующих видов: Интерпретируемый код«Интерпретируемый код», Импорт данных«Импорт данных», Выполнение запроса «Выполнение запроса» (возможно, с экспортом результата).
== Интерпретируемый код ==
Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им.
 
== Импорт данных ==
!Описание
|-
|input |Признак типа задания - задания — импорт данных
|-
|OperNo
|Номер действия. Значения: 0 - 0 — загрузка по FTP, SFTP. 1 — Получение почты.
|-
|FileType
|Тип файла. Принимает значения:
0 - 0 — Формат "Йота"«Йота»1 - 1 — Формат "Сони"«Сони»2 - 2 — Формат "Омни"«Омни»3 - 3 — [[Описание стандартного протокола интеграции|Стандартный формат заказов]] 4 - 4 — [[Описание стандартного протокола интеграции|Стандартный формат отчетов]] 5 — Пользовательская процедура импорта 6 — Пользовательская процедура импорта, без загрузки файла 
|-
|Param1
|Полный путь к папке на FTP-сервере (вместе с именем сервера) (для SFTP используйте sftp://имя_сервера)
|-
|Param2
|}
При задании «1» — Импорт почты система получает почту по всем аккаунтам из таблицы Accounts и загружает их в таблицы messages и attachment
== Экспорт данных ==
query, OperNo, FileType, Param1, Param2, Param3, Param4, Param5, Param6
QueryText
 
Модуль выполняет запрос QueryText, и передает результат его выполнения функции отправки, описанной в первой строке задания.
{|
|-
|query
|Признак типа задания - задания — экспорт данных
|-
|OperNo
| Номер действия. Значения: 0 - Только выполнение запроса. 1 - Отправка по электронной почте 2 - Выгрузка файла на FTP, SFTP-сервер3 <!- - 3 — Выгрузка заказов в систему "Аксиомус"«Аксиомус»4 - 4 — Проверка статусов с системе "Аксиомус"«Аксиомус»5 - 5 — Синхронизация с системой «Эмпрана»6 — Отправка складских остатков в систему «Эмпрана» --> 7 - Отправка сообщений из тикетов <spoiler text="ЭмпранаПараметры">FileType=2 - отключает отправку писем на входящие сообщения.</spoiler>
|-
|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
|}
'''Тип операции - операции — 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
|Код клиента (поле courier.clients.code), для привязки загруженных заказов
|-
|Param5
|Символьный код города системы «Эмпрана»
|-
|Param6
|Не используется
|}
 
Обязательно указать запрос! Например, select 1!
 
'''Тип операции — 7:'''
 
Параметры не используются!
 
Обязательно указать запрос! Например, select 1! -->
 
== Примеры использования ==
 
=== Импорт заказов в стандартном формате с 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-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе при отправке файла произойдет ошибка, то третий запрос не будет выполнен, заказы останутся в состоянии «не отправлен», и в следующий раз будет предпринята повторная попытка их отправки.

Навигация