# Триггеры

Триггер - это автоматическое правило типа "если произойдет это, то интеграция сделай то". С помощью триггеров вы можете автоматизировать следующие операции: создание документов в МоемСкладе, сборку заказов на маркетплейсе, отправку уведомлений и многое другое.

#### Быстрый старт

Для создания и настройки триггера выполните следующие шаги:

1. Кликните на кнопку <img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2FsXreU4Z6p07f8nokzOLL%2Fimage.png?alt=media&#x26;token=26da2498-d666-40ba-b223-0ddc4b34b6bc" alt="" data-size="line">
2. Кликните на созданный триггер, чтобы развернуть его настройки
3. Заполните три основных параметра:
   * **Название триггера** - присвойте понятное название для удобной навигации
   * **Условие** - определите событие, которое запустит триггер
   * **Действие** - укажите, что должна выполнить интеграция при срабатывании условия
4. Сохраните настройки

### Доступные условия для триггеров

Условия определяют, когда именно триггер будет активирован. Они разделены на несколько категорий для удобства понимания.

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2FzQnes3izVe2t2QtUkQOj%2FYM_ORDERS_TRIGGERS_3.png?alt=media&#x26;token=623f690d-7bee-4314-8869-654a49ccd5ac" alt=""><figcaption></figcaption></figure>

#### Условия в системе МойСклад (В учетке):

**В учетке: заказ создан** - триггер срабатывает, когда новый заказ поступил с Озона и был успешно создан интеграцией в МоемСкладе

**В учетке: заказ создан, определенный маркетплейсный склад** - триггер активируется при создании заказа в МоемСкладе, но только для заказов с конкретного склада Озона.

**В учетке: заказ создан, есть маркированный товар** - условие срабатывает, если в созданном заказе есть товары, подлежащие обязательной маркировке ("Честный знак").

**В учетке: если активна галочка "Проведен"** - триггер активируется, когда у заказа в МоемСкладе установлен чекбокс "Проведен" (вручную или автоматически).

**В учетке: у заказа сменился статус в МоемСкладе** - условие срабатывает при любом изменении статуса заказа. Статус может измениться как со стороны Озона (например, с "Доставляется" на "Доставлен"), так и в результате ваших действий(например, сборка заказа или его отмена).

**В учетке: у заказа сменился статус в МоемСкладе(с условиями)** - позволяет реагировать на изменение статуса с дополнительными фильтрами заказов по складу, контрагенту и городу.

#### Условия на маркетплейсе ("На маркете")

**На маркете: изменилась дата отгрузки в заказе** - триггер срабатывает, когда Озон переносит дату отгрузки заказа.

**На маркете: изменилось содержимое заказа** - условие для сложных заказов (содержащих несколько товаров). Срабатывает, если один товар отменен или заказ разделен в личном кабинете Озона.

**На маркете: создана этикетка** - условие активируется при создании этикетки для отправления. Часто используется для автоматической отправки этикеток или уведомлений в Телеграм перед сборкой заказа.

#### Внешние условия

**Внешний контур: при получении письма** - укажите адрес электронной почты и ключевую строку для поиска. При поступлении письма с этой строкой триггер выполнит заданное действие.

### Доступные действия триггеров

Действия также разделены на категории в зависимости от их назначения и места выполнения.

#### **Действия, передаваемые на Озон**

**Отменить заказ на маркете** - отменяет заказ на маркетплейсе с указанной причиной. Позволяет отменять заказы из МоегоСклада без перехода в личный кабинет Озона.

**Передать честный знак из отгрузки МоегоСклада в маркет** - экспортирует данные маркировки из отгрузки в МоемСкладе на Озон.

**Собрать заказ на маркете** - переводит статус заказа с "Ожидает сборки" на "Ожидает отгрузки" в Озон для получения этикетки. Доступны два сценария сборки:

* 1 заказ = 1 грузовое место (сложные заказы, где более 1 товара не разделяются)
* 1 товар = 1 грузовое место (сложные заказы, где более 1 товара разделяются по товарам)

#### Действия с документами в системе МойСклад

**Добавить/Редактировать поля в карточке заказа** - редактирует поля в карточке заказа при выполнении условия. В настройках указываются поля для изменения и теги для заполнения.

**Создать/редактировать документ "Заказ поставщику"** - создает и привязывает заказ поставщику к заказу покупателя для планирования закупок.

**Создать/редактировать документ "Приемка"** - прикрепляет документ приемки к заказу покупателя для полной связки документов закупки.

**Создать/редактировать документ "Отгрузка"** - прикрепляет документ отгрузки к заказу покупателя. Является документом реализации товара и списывает остатки со склада.

**Создать/редактировать документ "Возврат"** - создает документ возврата на настроенный вами склад для автоматического учета возвратов. Склад настраивается в разделе [Возвраты](https://help.topseller.ru/~/revisions/jscgxF8xfZEye7Swqjc2/instruction/ts-connect/settings/ozon/api/api/orders/analysis-refunds)

**Создать документ "Вывод маркировки из оборота"** - создает [документ для вывода кодов маркировки из оборота](https://support.moysklad.ru/hc/ru/articles/360025776473-%D0%92%D1%8B%D0%B2%D0%BE%D0%B4-%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2-%D0%BC%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8-%D0%B8%D0%B7-%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D1%82%D0%B0). Важные особенности документа "Вывод маркировки из оборота:

* Создается отдельный документ для каждого заказа с маркированным товаром
* Документ отгрузки должен быть создан до создания документа вывода из оборота
* Необходимо отключить создание единого документа вывода из оборота - вместо него будут создаваться позаказные документы

#### Действия при отмене заказов

Используются для автоматической обработки отмененных заказов до передачи в доставку:

**Снять резерв в МоемСкладе с товаров в заказе** - снимает резерв с товаров при отмене заказа, возвращая остатки в продажу.

**Удалить документ "Заказ поставщику"** - удаляет документ "Заказ поставщику" (снимается ожидание)

**Удалить документ "Приемка"** - удаляет документ "Приемка"

**Удалить документ "Отгрузка"** - удаляет документ "Отгрузка"

**Удалить документ "Возврат"** - удаляет документ "Возврат"&#x20;

Все удаления документов сделаны с целью очистки Отменённых заказов от документов. Если покупатель отменил заказа до его передачи в доставку, документов, как и резерва у заказа быть не должно.

#### Действия по отправке уведомлений

**Отправить письмо** - отправляет письма на указанный адрес электронной почты.

**Отправить сообщение в Телеграм-бота** - отправляет сообщения в Телеграм-бота, который можно интегрировать в рабочие чаты.

#### Настройка содержаний уведомлений

Для настройки внешнего вида и содержания сообщений нажмите **"Показать теги"**. Откроется меню с доступными тегами для включения динамической информации о заказах и товарах.

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2F8d3awsQO8pv2ePnxtLLZ%2FYM_ORDERS_TRIGGERS_2.png?alt=media&#x26;token=b0fe46e2-1174-4684-88a1-c20cb0a4a897" alt=""><figcaption></figcaption></figure>

В настройках уведомления укажите логин или адрес электронной почты для отправки. В поле "Тело сообщения" выберите нужные теги. Теги сгруппированы для удобства использования.

**Теги информации о заказе:**

* `##MPLACE` - название маркетплейса
* `##NODE_ALIAS` - название магазина (аккаунт в TS Connect)
* `##NODE_SCHEME` - схема работы магазина
* `##ORDER_ID` - номер заказа, присвоенный Озоном
* `##ORDER_DATE` - дата поступления заказа
* `##ORDER_QTY` - общее количество товаров в заказе
* `##ORDER_SUM` - сумма заказа от Озона
* `##ORDER_PURCHASE_SUM` - сумма заказа по закупочной цене из МоегоСклада
* `##COMISSION_LIST_RASHODI` - данные о комиссии и расходах Озона по заказу

**Теги информации о доставке:**

* `##ORDER_SHIPMENT_DATE` - дата отгрузки заказа
* `##ORDER_PAYMENT_TYPE` - тип оплаты
* `##LABEL_BARCODE_BOTTOM` - нижний штрихкод этикетки
* `##LABEL_BARCODE_TOP` - верхний штрихкод этикетки

**Теги информации о товарах:**

Перед использованием этих тегов настройте формат их вывода в сообщении:

* `##PRODUCTS_IN_LINE_{}` - вся информация по товарам выводится в одну строку
* `##PRODUCTS_WITH_LINE_BREAK_{}` - информация выводится с переходом на новую строку

В фигурных скобках `{}` указываются следующие теги:

* `##MPLACE_ARTICLE` - артикул товара из Озона
* `##SKLAD_ARTICLE` - артикул товара из МоегоСклада
* `##MPLACE_NAME` - название товара из Озона
* `##SKLAD_NAME` - название товара из МоегоСклада
* `##ORDER_PRICE` - цена товара из заказа
* `##SKLAD_PURCHASE_PRICE` - закупочная цена товара из МоегоСклада
* `##QTY` - количество товара в заказе

**Пример использования:**

`##PRODUCTS_WITH_LINE_BREAK_{##MPLACE_ARTICLE ##MPLACE_NAME ##QTY} ##ORDER_PRICE`  - при такой настройке будет приходить сообщение/письмо, в котором будет прописано артикул товара, наименование товара, количество и цена товара из заказа.

### Практические примеры настройки триггеров

Ниже приведена настройка базовых триггеров для полноценной работы интеграции. Их мы рекомендуем к настройке для создания полного списка документов в МоемСкладе и полноценной работы с интеграцией.

#### &#x20;Сборка заказа

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2FJ1l4ec32k671I9jy2z6O%2FYM_ORDERS_TRIGGERS_4.png?alt=media&#x26;token=680e28c3-130e-4400-adf1-cf1548280a5c" alt=""><figcaption></figcaption></figure>

Для сборки заказов через МойСклад необходимо настроить триггер следующим образом:

* Укажите название триггера. В примере триггер будет называться: "Сборка заказов"
* Затем выберите условие для срабатывания триггера: "В учетке: у заказа сменился статус в МоемСкладе"
* Выбираем статус при котором будет срабатывать триггер - Собран
* После чего в действиях выбираем "Собрать заказ на маркете"
* После выбора действия у нас появятся дополнительные настройки. Здесь вы выбираете сценарий сборки:
  * **1 заказ = 1 грузовое место** - заказы не будут разделяться, а будут собираться в том виде, в котором поступили с Озон
  * **1 товар = 1 грузовое место** - заказы будут делиться потоварно

В примере указан сценарий без деления заказов, а также включена дополнительная функция, чтобы заказ не собирался, если в нем три или больше товаров.

#### Отмена заказа

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2F3opvMfCILOakx47za3ZJ%2FOzon_ORDERS_TRIGGERS_NEW_1.png?alt=media&#x26;token=03a6981c-c44a-4f7b-ba65-dea2d01d91c2" alt=""><figcaption></figcaption></figure>

При отмене заказов до их отгрузки у заказа не должно быть документов и резерва. Настраиваем следующим образом:

* Указываем название. В нашем случае - "Отмена заказа до отгрузки"
* Выбираем условие для срабатывания триггера: "В учетке: у заказа сменился статус в МоемСкладе"
* Выбираем статус при котором будет срабатывать триггер - Отменен
* В действиях, производимых интеграцией, выбираем следующее:
  * Снять резерв в МоемСкладе с товара в заказе
  * Отменить заказ на маркете
  * Удалить документ "Отгрузка"

#### Создание отгрузки

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2FqZvRhGG6cjRzzgnEC9MP%2FOzon_ORDERS_TRIGGERS_NEW_6.png?alt=media&#x26;token=017f42ae-70e2-44d0-8e03-8f0ca9d3f3bb" alt=""><figcaption></figcaption></figure>

Отгрузка является документом реализации товара, а также списывает зарезервированный остаток из заказа. Помимо этого, при помощи отгрузки происходит передача маркировок в Озон, поэтому если у вас есть маркированные товары, отгрузку следует создавать в статусе "Ожидает сборки". Если же у вас нет маркированных товаров, для корректного складского учета рекомендуем создавать документ отгрузки при статусе "Собран/Ожидает отгрузки"(статус при котором вы передаете товар в доставку). Также создание документа отгрузки можно объединить с триггером сборки заказа.

Как настроить триггер:

* Указываем название. В нашем случае - "Создание отгрузки"
* Выбираем условие для срабатывания триггера: "В учетке: у заказа сменился статус в МоемСкладе"
* Выбираем статус при котором будет срабатывать триггер - Собран/Ожидает отгрузки
* В действиях, производимых интеграцией, выбираем следующее:
  * Создать документ отгрузки
  * Собрать заказ на маркете (если хотите объединить два триггера в один)

#### Создание документов для возвратов

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2FhAgX45Fpr29gu8gEDxQE%2FOzon_ORDERS_TRIGGERS_7.png?alt=media&#x26;token=d0577a82-7131-4cfa-9d45-f3f939851589" alt=""><figcaption></figcaption></figure>

Как настроить триггер:

* Указываем название. В нашем случае - "Обработка возврата"
* Выбираем условие для срабатывания триггера: "В учетке: у заказа сменился статус в МоемСкладе"
* Выбираем статус при котором будет срабатывать триггер - Возвращен
* В действиях, производимых интеграцией, выбираем следующее:
  * Создать документ "Отгрузки"
  * Создать документ "Возврат"

Для корректного учета возвратов нам нужны два документа - это документ отгрузки и возврата. Так как интеграция не сможет создать документ "Возврат" в МоемСкладе без отгрузки, мы указываем в триггере на возврат создание отгрузки, чтобы она точно была прикреплена к заказу на момент создания возврата.&#x20;

Также важно, чтобы у вас были настроены склады для возвратов в разделе Заказы → Возвраты.

{% hint style="info" %}
**Примечание:** \
Триггеры по созданию возвратов необходимо настроить на четыре статуса:

* Возвращен
* Возвращен для перепродажи
* Утилизирован
* Возвращен после отмены в процессе
  {% endhint %}

#### Формирование комментария к заказам

<figure><img src="https://3422942680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVTYZAsQChmHUChV4XtNR%2Fuploads%2FjZpEieJDAkzcPtWuC9od%2FOzon_ORDERS_TRIGGERS_COMMENT.png?alt=media&#x26;token=10fd0704-34bd-422e-8bc5-aeff7ad7365f" alt=""><figcaption></figcaption></figure>

В комментарий можно настроить вывод дополнительной информации по заказу/товару в заказе для более удобного отображения заказа в МоемСкладе.

Для настройки проставления комментария настраиваем следующий триггер:

* Указываем название. В нашем случае - "Формирование комментария к заказу"
* Выбираем условие для срабатывания триггера: "В учетке: заказ создан"
* В действиях, производимых интеграцией, выбираем: "Добавить/Редактировать поля в карточке заказа"
* Выбираем необходимое поле, у нас это - Комментарий
* Настраиваем шаблон, который интеграция будет прописывать в комментарий

Шаблон у комментария настраивается по аналогии с уведомлениями в Телеграмм/на почту
