Выполнение данного автоматического действия предусмотрено один раз в минуту.
Пройдемся по каждому полю:
Когда автоматическое действие предусматривает создание заказов, то актуальнейшим вопросом было и есть - "Как подтянуть данные о клиенте и данные о заказываемых им продуктах?".
На этот случай мы и создали два PREG-поля, регулярные выражения которых разпознают нужную нам информацию в письме (Рисунок 1).
Рисунок 1 - Автоматическое действие "Превратить письмо в процесс"
Если Вы впервые видите этот ужас, который исходит от полей для ввода PREG-шаблонов и еще не испугались, то выходов есть два: выучить или обратиться к компетентному в этом деле лицу =)
В случае, когда требуется распознать данные об клиенте или перенести массив продуктов из письма нам нужны для этого две вещи:
В данном автоматическом действии мы видим, что регулярным выражением определяется клиент для которого будет создан заказ, и определяются продукты, которые заказал клиент.
Шаг 1
Находим оригинальный пример письма (Проще всего - это найти его в базе данных проекта, в таблице ShopEvent. Так-же, вы можете активировать галочку в действии "Использовать для парсинга оригинальное содержимое письма (attachment)", далее непосредственно в событии нажать на кнопку "Просмотр", что приведет к открытию оригинального HTML-содержимого письма с примером.)
Шаг 2
Открываем онлайн ресурс для работы с регулярными выражениями, вставляем туда наш пример письма.
Ищем нужную нам информацию посредством написания PREG-шаблона в поле REGULAR EXPRESSIOТN (Примеры как это делается поданы на рисунках 2, 3):
Важно! На этом примере показан способ построения регулярного выражения не предусматривающий использование HTML-текста письма.
Рисунок 2 - Результат preg-поиска данных о клиенте
Важно! На этом примере показан способ построения регулярного выражения с использованием галочки "Использовать для парсинга оригинальное содержимое письма (attachment)".
Рисунок 2.1 - кнопка "Просмотр" в событиях
Рисунок 2.2 - Нам открылось красивое HTML-письмо, далее жмем CTRL+U.
Рисунок 2.3 - Результат нажатия CTRL+U - нашему взору предоставляется исходные HTML код письма.
Рисунок 2.4 - Результат preg-поиска данных о клиенте (html-содержимое)
Рисунок 2.5 - Готовое preg-выражение, с подставленными переменными в поле поиска данных о клиенте
Рисунок 3 - Preg-поиск данных о продуктах в письме
В случае с продуктами мы видим, что вместе с продуктами ищется множество некорректной информации(ввиду несовершенства самого регулярного выражения либо не предсказуемости размещения данных в письме),
по этому поводу не стоит беспокоиться - логика обработки найденных продуктов внутри данного автоматического действия построена таким образом что бы отсеивать все поступившие не корректные данные.
По надобности используйте PREG-шаблон для дополнительных данных в процессе, что позволит вам указать любое другое регулярное выражение для поиска дополнительных данных. Таких полей можно добавить любое количество, используя кнопку "Добавить дополнительный PREG-шаблон":
Рисунок 4 - Поля Preg-поиска дополнительных данных
Модификаторы шаблонов (поле modifier), неотъемлимая часть шаблона регулярного выражения, максимально исчерпывающе читать здесь,
ниже предоставлено краткое их описание:
g - Глобальный поиск
i - Регистронезависимый шаблон
m - Многострочный текст
s - Считать текст одной строкой
x - Разрешить комментарии
и - пробелы в шаблоне
e - Выполнение подстановки
U - Нежадный шаблон
Шаг 3
Теперь, после того как ми построили регулярное выражение для поиска информации, следует заменить все выражения вида "(.+?) или (.*?)" на выражения, которые используются авто-действием, а именно:
КЛИЕНТ В ПИСЬМЕ:
ПРОДУКТ В ПИСЬМЕ:
ДОПОЛНИТЕЛЬНЫЕ ДАННЫЕ В ПИСЬМЕ:
Важно! Добавление конструкции #tocomment# к переменным позволит внести в описание процеса данные,
которые попадут в переменную (при этом, предыдущее описание будет утеряно). (Для переменной [custom_info], данная конструкция не актуальна).
Пример: [#tocomment#client_address], [#tocomment#product_name], [#tocomment#delivery_name] и тд.