> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Логи и массовые операции

> История перемещений лидов по этапам воронки (когда и как она записывается) и массовые операции над всеми лидами одного этапа: перенос, удаление и массовая рассылка Wazzup.

Полный перечень полей — в [глоссарии](/ru/logic/sales/logs-bulk-glossary).

Эта страница описывает две связанные вещи: **историю перемещений лидов по этапам воронки** (как она записывается) и **массовые операции** над всеми лидами одного этапа (перенос, удаление, рассылка сообщений).

## Модель данных

### Лог смены этапа лида

Каждая запись фиксирует один факт перехода конкретного лида с одного этапа воронки на другой.

| Поле         | Тип        | Назначение                                                                                                           |
| ------------ | ---------- | -------------------------------------------------------------------------------------------------------------------- |
| Лид          | связь      | Лид, у которого сменился этап                                                                                        |
| Пользователь | связь      | Кто выполнил переход; может быть пустым                                                                              |
| Прежний этап | связь      | Этап до перехода; пустой при первом попадании лида в воронку                                                         |
| Новый этап   | связь      | Этап после перехода                                                                                                  |
| Дата события | дата/время | Момент смены этапа; проставляется автоматически при создании записи и проиндексирован для быстрых выборок по времени |

<Info>
  Прежний этап допускает пустое значение — это отражает самый первый момент появления лида (переходить «из ниоткуда» на первый этап). Новый этап пустым не бывает: запись всегда фиксирует, куда лид попал.
</Info>

Запись лога принадлежит конкретной компании (у каждой компании отдельная схема базы данных, поэтому чужие записи в выборку не попадают). Она хранит момент события; в обычной работе системы записи журнала не редактируются — он используется как журнал переходов.

## Как записывается история

Лог наполняется **автоматически при сохранении лида**, а не вручную из интерфейса. Механика двухшаговая:

1. **Перед сохранением** лида система запоминает его текущий (прежний) этап — но только если лид уже существует (у нового, ещё не сохранённого лида запоминать нечего).
2. **После сохранения** система сравнивает прежний этап с новым. Если этап не изменился — ничего не происходит. Если изменился — запускается автоматизация этапа (триггеры), и затем при определённом условии пишется запись в журнал.

<Warning>
  Запись в журнал создаётся только тогда, когда переход выполнил **реальный авторизованный пользователь**. Если в момент сохранения лида пользователь не определён (фоновая задача, системный процесс, анонимный контекст) — переход всё равно происходит и триггеры этапа отрабатывают, но **строка в истории не появляется**. Поэтому журнал отражает действия людей, а не все технические перемещения лида.
</Warning>

<Note>
  Запуск автоматизации этапа (триггеры смены этапа) происходит **до** проверки на авторизованного пользователя. То есть даже переход без пользователя (который не попадёт в журнал) всё равно выполнит триггеры этапа. Подробнее о самих триггерах — в разделе про триггеры этапов.
</Note>

### Куда эта история идёт дальше

История переходов — основа аналитики воронки: по разнице во времени между соседними записями считаются скорость прохождения этапов и вклад сотрудников, определяется «самый загруженный этап» и т. п. Этот расчёт здесь не дублируется.

Подробнее: [«Модули: доставки, мастерская, воронки, склад, инвентаризации»](/ru/logic/metrics/modules) — раздел «Отчёт по воронке продаж».

## Массовые операции над лидами

Массовая операция берёт **все лиды одного исходного этапа** и применяет к ним одно действие. Запрос принимает отдельный адрес, доступный только авторизованным пользователям.

### Входные параметры

| Поле            | Тип   | Назначение                                                                                                     |
| --------------- | ----- | -------------------------------------------------------------------------------------------------------------- |
| Исходный этап   | связь | Этап, все лиды которого попадают под операцию (обязательно). Принимаются только активные, не отключённые этапы |
| Действие        | выбор | Что сделать: перенос, удаление или рассылка Wazzup (обязательно)                                               |
| Целевой этап    | связь | Куда переносить; обязателен для действия «Перенос». Тоже только активный, не отключённый этап                  |
| Текст сообщения | текст | Текст для рассылки; используется в действии «Wazzup»                                                           |

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

* **Перенос на другой этап** — все лиды исходного этапа перемещаются на целевой этап.
* **Удаление** — все лиды исходного этапа удаляются.
* **Массовая рассылка Wazzup** — всем лидам исходного этапа отправляется одно сообщение.

<Note>
  Массовый перенос — штатный способ освободить этап перед его удалением, поэтому вход в него проверяется строго:

  * **отключённый этап** не принимается ни как источник, ни как цель — «переехать» на удалённый этап или разгрузить его массово нельзя;
  * **перенос без указания целевого этапа** отклоняется с явной ошибкой (раньше такой запрос завершался успехом, ничего не сделав);
  * **перенос «сам в себя»** — когда целевой этап совпадает с исходным — тоже отклоняется.
</Note>

### Перенос: обход обычного механизма и ручная запись истории

Перенос устроен иначе, чем перетаскивание одного лида в интерфейсе. Система:

1. Собирает идентификаторы всех лидов исходного этапа (в порядке их сортировки).
2. Одним групповым обновлением переставляет их всем на целевой этап.
3. Вручную дописывает в журнал по одной записи на каждый перенесённый лид: прежний этап = исходный, новый этап = целевой, пользователь = автор запроса.

<Warning>
  Групповое обновление при переносе **идёт в обход обычной логики сохранения лида**. Это значит, что для переносимых лидов НЕ срабатывают автоматизации, которые обычно запускаются при смене этапа: не выполняются триггеры этапа (сообщения, задачи, создание заявок, смена статуса заказа, вебхуки), не пересчитывается порядок лидов на целевом этапе, не срабатывают связанные с обычным сохранением уведомления. Именно поэтому история переходов дописывается вручную — иначе при таком обходе она бы вообще не появилась.
</Warning>

<Tip>
  Разница на практике: перенос одного лида «руками» в списке запускает всю его автоматику. Массовый перенос той же группы — только фактически меняет этап и пишет журнал. Если бизнес-логика этапа завязана на триггеры (например, автоотправка сообщения при попадании на этап), при массовом переносе она не сработает.
</Tip>

### Удаление

Действие удаляет все лиды исходного этапа. Записи в журнал переходов при этом **не создаются** — журнал фиксирует перемещения, а не удаления.

### Массовая рассылка Wazzup

Система собирает телефоны клиентов по всем лидам исходного этапа, у которых телефон заполнен, убирает дубликаты и запускает единую рассылку одного текста на этот список.

<Note>
  Рассылка не пишет ничего в журнал переходов и не меняет этап лидов — это чисто коммуникационное действие. Сама рассылка запускается прямо при обработке запроса (не откладывается в очередь), а то, как именно уйдут сообщения (через WhatsApp-контейнер компании и/или через Wazzup), зависит от того, какие интеграции у компании подключены и активны.
</Note>

## Как это используется

* История переходов формируется незаметно для пользователя при каждой авторизованной смене этапа и служит источником для отчётов по воронке.
* Массовые операции — инструмент «расчистки» этапа: быстро увести всю накопившуюся группу лидов дальше по воронке, удалить отработанный этап целиком или разом написать всем клиентам этапа.
* При выборе между «переместить руками» и «перенести массово» нужно помнить, что массовый перенос сознательно не запускает автоматику этапа — это компромисс ради скорости на больших объёмах.

## Связанные страницы

<CardGroup cols={2}>
  <Card title="Глоссарий: Логи и массовые операции" icon="book" href="/ru/logic/sales/logs-bulk-glossary">
    Полный перечень полей журнала переходов и параметров массовой операции.
  </Card>

  <Card title="Продажи (воронки лидов)" icon="filter" href="/ru/logic/sales">
    Обзорная страница модуля продаж и всех его разделов.
  </Card>

  <Card title="Воронки и этапы" icon="filter" href="/ru/logic/sales/funnels-stages">
    Воронки продаж и их этапы: системные типы успеха и отмены, автосоздание стартовых этапов, упорядочивание и мягкое отключение.
  </Card>

  <Card title="Лиды и их порядок" icon="user-plus" href="/ru/logic/sales/leads">
    Лиды воронки, их связь с клиентом, заявкой и продажей, ручное упорядочивание, фильтры и создание заявки из лида.
  </Card>

  <Card title="Задачи по лидам" icon="list-check" href="/ru/logic/sales/lead-tasks">
    Задачи и методы задач по лидам с дедлайном, назначением менеджера и уведомлением.
  </Card>

  <Card title="Триггеры и автоматизация этапов" icon="bolt" href="/ru/logic/sales/triggers">
    Триггеры этапов и их исполнение при смене этапа лида: сообщения, задачи, заявки, смена статуса заказа, перенос и вебхук.
  </Card>

  <Card title="Приём заявок с сайта и синхронизация Wazzup" icon="webhook" href="/ru/logic/sales/lead-intake">
    Приём заявок с сайта и фоновая синхронизация или удаление сделок в Wazzup при изменениях лида.
  </Card>
</CardGroup>
