== Подход Модуль автоматизации (интеграции с внешними системами) предназначен для выполнения периодических заданий импорта, экспорта, обработки данных. Модуль представляет из себя службу Windows, которая каждые 10 секунд проверяет наличие заданий в выборе алгоритма для построения автоматической e-mail/смс рассылки ==таблице scheduler.jobs с прошедшим временем следующего выполнения и выполняет эти задания.
В этой статье будут рассмотрены общие рекомендательные принципы и подходы Заданиями для модуля интеграции (модуля автоматизации) могут быть:* оборудование: автопечать продажных/возвратных чеков, автоматическое ежедневное формирование Z-отчета для эффективного выбора алгоритма настройки автоматической фискальных регистраторов;* отчеты: всевозможные email-оповещения в формате Excel (например, отчет о доставке);* SMS-оповещения: автоматические SMS рассылки в системе КС2008. Перед формированием заявки для настройки автоматической eклиентов/курьеров;* интеграция: процесс обмена заказами и их статусами с другими компаниями (например, курьерскими службами, интернет магазинами);* автоматический экспорт-mail или смс рассылки пользователю системы крайне желательно ознакомиться импорт информации с данной инструкциейБД систем других производителей (например, WMS-системами — «системами управления складом»).
'''1Документация ниже не предлагает всем пользователям системы самостоятельно настраивать задания данного модуля. Не рассылать одновременно e-mail Наоборот, мы рекомендуем обращаться за настройкой к нам. Однако документация ПОЗВОЛЯЕТ при желании и смс уведомлениеналичии специалистов выполнить настройку самостоятельно.'''
Массовая автоматическая рассылка в системе может быть реализована двумя способами – == Рекомендации для создания автоматической e-mail или /смс информирование. Для каждого нового задания рекомендуется выбирать лишь один и из этих способов. Не следует перегружать клиента избыточной рассылки ==Перед формированием заявки для настройки автоматической email- или регулярно повторяющейся информацией. По нашей практике: смс уведомления наиболее востребованы для уведомления получателя, что к нему едет курьер. Можно в этом же сообщении отправить телефон курьера, чтобы получатель мог напрямую в течение дня у курьера уточнить - когда именно тот планирует приехать. E-mail уведомления более востребованы для рассылки клиентам информации с вложениями в виде прикрепляемых файлов пользователю системы крайне желательно ознакомиться с отчетамиэтой инструкцией.
'''2# Не рассылайте одновременно e-mail и смс-уведомление. Предусмотреть Массовая автоматическая рассылка в системе может быть реализована двумя способами:#* e-mail-уведомление — более востребованы для рассылки клиентам информации с вложениями в виде прикрепляемых файлов с отчетами;#* смс-информирование — подходят для сообщения получателю, что к нему едет курьер. Можно в этом же сообщении отправить телефон курьера, чтобы получатель мог напрямую в течение дня у курьера уточнить, когда именно тот планирует приехать.<br>Для каждого нового задания рекомендуется выбирать один из этих способов. Не следует перегружать клиента избыточной или регулярно повторяющейся информацией.# Предусмотрите набор типов рассылки в карточке клиента (пользовательские поля для клиентов).'''Вы можете создать список рассылок в карточке клиента в виде флажков. Этот функционал позволяет включить клиента в рассылку или отключить от нее, а также настроить тарификацию необходимых рассылок в виде дополнительных услуг, предоставляемых клиенту.# Периодичность рассылки и ее рабочее время. Задания рассылки могут выполняться с заданной периодичностью. Заданий для рассылки в системе может быть несколько, поэтому нужно оптимально распределить время их выполнения. ОПределите, будете ли вы отправлять e-mail-уведомление по каждому событию или разово, единым реестром в конце дня, недели и т. д. Например, e-mail-рассылка отчета о доставках выполняется утром в 9:00 за предыдущий день.<br>Выбор периодичности обязательно должен учитывать и интересы клиента: будет клиент просматривать множество писем с информацией или одно письмо с итоговой информацией в виде реестра.<br>Настройка рабочего времени рассылки (или часовой диапазон) больше применимы для смс-информирования. Эта настройка призвана разделять рабочее время и время отдыха. Таким образом, клиент не получит смс в 6 часов утра или в 11 часов вечера. Стандартно в системе принято условие для смс-рассылки с 8 до 10 вечера (по местному времени), но по желанию клиента этот диапазон может быть изменен.# Продумайте текст рассылки, ее алгоритм, способ, а затем обращайтесь для настройки. Специальные теги в системе позволят добавить информацию, например о номере документа или периоде его формирования.# Узнать у клиента, какие рассылки ему требуются. Хорошей практикой перед запросом для настройки рассылки может стать предварительный опрос клиентов — какая рассылка действительно необходима клиенту? необходима ли она ему вообще? сколько для клиента будет стоить эта услуга? Как и при каких условиях клиент сможет отписаться от рассылки?# Длина и кодировка смс-рассылки (ссылка). Известно, что длина смс сообщения влияет на его стоимость. Уменьшить длину поможет выбор типа кодировки сообщения: кириллица или транслитерация. Перед планированием смс-рассылки проанализируйте предполагаемые расходы в сутки/месяц. Это поможет сразу построить эффективную модель задания и избавит от последующих изменений и корректировок в скрипте задания. Более подробно этот вопрос рассмотрен в статье [[Модуль отправки SMS-сообщений#Почему мои сообщения не доставлены?|Почему мои сообщения не доставлены? Почему уходит много денег?]].# Подготовительная работа в системе перед настройкой рассылки. Заранее выберите и настройте [[Настройка глобальных параметров#Настройка подключения к почтовому серверу|почтовый адрес]] для отправки писем. Для смс-рассылки выберите [[Модуль отправки SMS-сообщений#Провайдеры|провайдера услуг]], настройте подключение к системе и протестируйте отправку сообщений в ручном режиме.# Используйте статусную модель для заказов в ЛК как альтернативу рассылке отчета о доставках. Любой клиент MeaSoft может отслеживать свои заказы в [[Личный кабинет курьерской службы#Отслеживание заказа по номеру|личном кабинете]] и в режиме реального времени узнать статус их выполнения, что, несомненно, является весомым преимуществом по сравнению с почтовым уведомлением.# Спам-фильтры и блокировка уведомлений на стороне клиента. Для email-рассылки с большими объемами всегда существует проблема — большинство почтовых серверов могут начать воспринимать сообщения из рассылки как спам, и бОльшая часть почты будет проигнорирована получателем или же попадет в соответствующие папки. Нередко получателю надоедает регулярно повторяющаяся информация, и он самостоятельно блокирует нежелательную почту как спам. Со временем почтовый адрес компании, отправляющей письма, может попасть в глобальный черный список антиспам-систем и заработать глобальную блокировку.
Система предусматривает возможность создания списка рассылок в карточке клиента в виде галок. Этот функционал позволяет включить клиента в рассылку или отключить от нее, а также настроить тарификацию необходимых рассылок в виде дополнительных услуг, предоставляемых клиенту. '''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 - SMTPProtocol — тип протокола отправки почты: 0 - 0 — SMTP, 1 - 1 — SSL, 2 - 2 — TLS.
== Создание заданий ==
Задания описываются в текстовом виде в поле TEXT таблицы jobs.
Задания описываются в текстовом виде в поле TEXT таблицы jobs.В одном тексте может быть несколько заданий, разделенных пустой строкой, за исключением случая, когда текст начинается с префикса интерпретатора ("«<?>"»). Задание может быть следующих видов: Интерпретируемый код«Интерпретируемый код», Импорт данных«Импорт данных», Выполнение запроса «Выполнение запроса» (возможно, с экспортом результата).
== Интерпретируемый код ==
Если задание начинается с префикса интерпретатора, то весь последующий код обрабатывается им.
== Импорт данных ==
!Описание
|-
|input |Признак типа задания - задания — импорт данных
|-
|OperNo
|Номер действия. Значения: 0 - 0 — загрузка по FTP, SFTP. 1 - 1 — Получение почты.2 - FIAS. 3 - Скриптовая обработка почты
|-
|FileType
|Тип файлалибо код аккаунта (для OperNo=3). Принимает значения:
0 - 0 — Формат "Йота"«Йота»
1 - 1 — Формат "Сони"«Сони»
2 - 2 — Формат "Омни"«Омни»
3 - 3 — [[Описание стандартного протокола интеграции|Стандартный формат заказов]]
4 - 4 — [[Описание стандартного протокола интеграции|Стандартный формат отчетов]]
5 - 5 — Пользовательская процедура импорта 6 — Пользовательская процедура импорта, без загрузки файла
|-
|}
При задании "1" - «1» — Импорт почты система получает почту по всем аккаунтам из таблицы Accounts с AccType = 1 и загружает их в таблицы 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-сервер. В последнем подзадании запрос отмечает всю корреспонденцию отправленной. Если на втором этапе, при отправке файла произойдет ошибка, то этот, третий запрос не будет выполнен, заказы останутся в состоянии "не отправлен"«не отправлен», и в следующий раз будет предпринята повторная попытка их отправки. === Сохранение текста письма в таблицу algocom.sample_messsage от аккаунта с кодом 2 === Input, 3, 2 <?> New('TSelfADO', 'db'); db.Query('INSERT INTO algocom.sample_messsage (MessageText) VALUE ('+QUOTEDSTR(Message.Text)+')');