Условия акции¶
Условия отвечают на вопрос «подходит ли покупка и клиент под акцию»: что куплено, где и через какой канал, какой клиент (сегменты, теги, участие в других акциях, статус, уровень, баланс), какая сумма чека — а также дополнительные условия, которые внедрение заводит под заказчика. Задаются на вкладке «Условия» формы акции; проверяются при каждой покупке до расчёта ограничений.
Вкладка разделена на две зоны — «Акция применяется, если» и «Не применяется, если». Акция применяется к покупке, если выполнены все включённые условия первой зоны и не выполнено ни одно условие второй.
Состав и порядок части условий задаёт администратор на экране «Настройка акции»: там скрывают ненужные коробочные условия, меняют порядок и добавляют свои условия с подписями и подсказками.
Состав вкладки¶
| Условие | Зоны | Значения | Управляется «Настройкой акции» |
|---|---|---|---|
| «Категории товаров» | обе | справочник категорий товаров | да |
| «Артикулы (SKU)» | обе | справочник товаров | да |
| «Регион», «Город», «Магазин» | обе | справочники географии | да |
| «Мерчант» | обе | справочник мерчантов | да |
| «Канал продаж» | обе | справочник каналов продаж | да |
| «Сегменты клиентов» | обе | справочник сегментов клиентов | да |
| «Участие в акциях» | обе | метки акций и каталог акций | нет |
| «Теги клиента» | обе | справочник тегов клиента | нет |
| «Статус клиента», «Уровень клиента», «Баланс баллов» | только «Акция применяется, если» | список статусов, уровни программы, диапазон | нет |
| «Сумма чека» | обе | диапазон в рублях | да |
| Дополнительные условия | по настройке | по способу, заданному в настройке | да |
Условия, которыми управляет «Настройка акции», идут в порядке, заданном там, и занимают места коробочных строк; «Участие в акциях», «Теги клиента» и условия по клиенту стоят на своих местах. Дополнительные условия выводятся после коробочных под подзаголовком «Дополнительные условия». Подсказка условия из настройки показывается иконкой рядом с названием — своя для каждой зоны. Если список условий не загрузился, вкладка показывает «Не удалось загрузить список условий» и кнопку «Повторить».
Каждое условие включается чекбоксом. Выключенное условие не ограничивает: во включающей зоне рядом стоит серое значение («все категории», «все товары», «все регионы», «все города», «все магазины», «все мерчанты», «все каналы», «все клиенты», «любая сумма», «любой статус», «любой уровень», «любой баланс», «не учитывается»), в исключающей — прочерк. Значения выключенного условия остаются в форме и возвращаются при повторном включении, но в запрос не уходят. У включённого условия со списком значений в названии — счётчик, например «Категории товаров (2)».
Включённое условие без значений сохранить нельзя: «Укажите значения условия или выключите его», у тегов — «Выберите хотя бы один тег», у набора участий — «Выберите метки или акции». Зону можно свернуть щелчком по заголовку — свёрнутая зона показывает число включённых условий («Выбрано: N»).
Коробочные условия¶
Значения из справочников¶
«Категории товаров», «Артикулы (SKU)», «Регион», «Город», «Магазин», «Мерчант», «Канал продаж» и «Сегменты клиентов» заполняются только из справочников — свободного ввода нет. Поиск идёт на сервере по коду, названию и пояснению записи; в списке и в выбранном значении — название, пояснение и код. Пояснение собирает сервер, чтобы различать одноимённые записи:
| Справочник | Пояснение записи |
|---|---|
| Категории товаров | путь категории от корня и уровень |
| Товары (артикулы) | путь категорий и бренд |
| Магазины | город |
| Мерчанты | партнёр и город |
В условие уходят коды записей. Новое значение — только опубликованная (действующая) запись справочника; уже сохранённое в акции значение остаётся и после снятия записи с публикации: такое значение приглушено, в тултипе — «Значение в архиве». Значения, выбранные в том же условии другой зоны, в списке не предлагаются.
У поля — кнопки «Скопировать список» (коды через «;», доступна и в режиме просмотра) и «Очистить список». У категорий, артикулов, региона, города, магазина и мерчанта можно вставить список кодов через «;» (подсказка у иконки ⓘ; за раз — не больше 1000 значений): значения проверяются по справочнику, и окно «Проверка списка» показывает, сколько добавлено, сколько не найдено в справочнике и сколько уже выбрано в противоположном блоке.
Как сравнивается каждое условие:
- «Категории товаров» — если товар найден в справочнике по артикулу, сравниваются его категории всех трёх уровней, поэтому категория верхнего уровня захватывает товары вложенных (под значением — подсказка «Включая вложенные категории»). Товар не найден или у него нет категорий — сравнивается категория из покупки. Если выбрать категорию вместе с её предком, под полем появится предупреждение «"X" уже входит в "Y" — условие от неё не изменится»; сохранению оно не мешает.
- «Артикулы (SKU)» — артикул товара из покупки.
- «Регион», «Город», «Магазин» — код торговой точки из покупки система разрешает в точку, её город и регион. Неизвестный код точки не попадает ни в одно значение: включающее условие не выполнено, исключающее — не срабатывает.
- «Мерчант» — MID из покупки (
merchantCode) сравнивается со значениями точно, с учётом регистра; покупка без MID включающее условие не проходит, исключающее её не отсекает. Значения выбираются по названию или MID; новое значение — только действующий мерчант. - «Канал продаж» — код канала из покупки.
- «Сегменты клиентов» — клиент проходит, если хотя бы один его сегмент есть в списке (без учёта регистра). Сегменты клиента — только состав, залитый из системы кампаний; сегменты, присланные в самой покупке, не учитываются. Архивные сегменты для выбора не предлагаются.
Сумма чека¶
Диапазон «от» — «до» в рублях, можно с копейками (например, 199,90), обе границы включительны, достаточно одной. Отрицательная сумма — «Сумма чека не может быть отрицательной», нижняя граница больше верхней — «Нижняя граница суммы чека больше верхней»; диапазоны двух зон не должны пересекаться — «Диапазоны блоков «Акция применяется, если» и «Не применяется, если» не должны пересекаться».
Статус клиента, Уровень клиента, Баланс баллов¶
Только во включающей зоне:
| Условие | Значения |
|---|---|
| «Статус клиента» | «Активный» (ACTIVE) или «Заблокирован» (BLOCKED) |
| «Уровень клиента» | один или несколько уровней действующей конфигурации программы; несколько уровней соединяются по «ИЛИ» |
| «Баланс баллов» | «Баланс от» и «до», обе границы включительны, достаточно одной |
Незаданное условие не ограничивает. Если условие задано, а данных о клиенте нет, акция не применяется — право клиента подтвердить нечем.
Уровень клиента хранится парами «конфигурация + код уровня»: код уровня уникален только внутри
конфигурации программы. Условие проверяется в пределах конфигурации клиента: если в условии нет
уровней его конфигурации, ограничения по уровню для него нет; если есть — акция применяется, только
когда уровень клиента среди них. Поэтому назначение акции уровню черновой конфигурации (на экране
конфигураций программы) не меняет начисления клиентам действующей до её активации. Форма показывает
уровни действующей конфигурации; уровни других конфигураций в условии сохраняются как есть. Без права
на просмотр уровней (LOYALTY_TIER_READ) условие нельзя включить или изменить — «Нет права на
просмотр уровней — условие по уровню нельзя изменить» (если уровни не загрузились — «Не удалось
загрузить уровни — условие по уровню нельзя изменить»); уже заданные уровни при сохранении не теряются.
Теги клиента¶
Теги выбираются из справочника «Теги клиента» (создание тега отсюда
недоступно). Способ сопоставления — переключатель «ИЛИ» (достаточно любого тега, match: ANY)
или «И» (нужны все, match: ALL). У поля можно вставить список значений через «;» — значения
проверяются по справочнику массовой проверкой, и окно «Проверка списка» показывает, сколько добавлено,
сколько не найдено в справочнике и сколько выбрано в противоположном блоке.
Участие в акциях¶
Условие состоит из одного или нескольких наборов, соединённых «И» (кнопка «Добавить набор акций»; при двух и более наборы показываются карточками «Набор N», последний набор не удаляется — условие выключается чекбоксом).
Набор описывает, в каких акциях считать участия клиента:
- «С метками» — метки акций: в набор входят все версии акций, несущие метку в момент проверки. Так группа пополняется сама: проставленная метка меняет группу задним числом, снятая — тоже;
- «Конкретные акции» — поиск по названию или коду по всему каталогу, в любом статусе, включая архив. Участия считаются по всем версиям выбранной акции;
- «Эта акция» — участия в самой настраиваемой акции (по её линии версий). Пункт доступен у сохранённой акции и выбирается из того же списка.
Метки и акции набора объединяются: достаточно участия в любой из них, а участие, подходящее сразу под несколько элементов набора, считается один раз.
Под набором — фраза порога: «участвовал [не менее] [N] раз [за всё время]» и живой пример («Достаточно одного участия в любой акции набора» — для значения по умолчанию).
| Параметр | Значения |
|---|---|
| Оператор | «не менее» (GTE, по умолчанию), «не более» (LTE), «ровно» (EQ). Контракт принимает также «более» (GT), «менее» (LT) и «в диапазоне» (BETWEEN — с верхней границей); выбрать их в форме нельзя, но пришедшие из API или переноса показываются как есть |
| Число участий | целое от 0 |
| Период | «за всё время» (ALL_TIME) или «за период этой акции» (PROMOTION_PERIOD — границы периода оцениваемой версии включительно) |
Дополнительные условия¶
Дополнительное условие заводит администратор на экране «Настройка акции». Оно сравнивает с выбранными значениями переменную покупки (например, бренд или номер тиража, которые касса передаёт в чеке) или поле профиля клиента (например, регион клиента). На вкладке «Условия» у такого условия одна строка на зону; способ задать значение определяет настройка:
| Способ | Как задаётся значение |
|---|---|
| «Из списка» | выбор записей справочника, указанного в настройке («Выберите значения»); если в настройке не разрешено несколько значений — «Можно выбрать только одно значение» |
| «Вписать значения» | значения через «;» («Несколько значений — через точку с запятой»); число — с десятичной точкой, дата — в формате ГГГГ-ММ-ДД |
| «Диапазон» | границы «от» и «до» числом или датой, достаточно одной («Укажите хотя бы одну границу») |
Если у условия разрешено несколько способов, перед значением стоит выбор способа; смена способа очищает значение. Если способ условия изменили в настройке уже после того, как значение было задано, строка сообщает «Способ условия изменён в настройке акции — обновите страницу».
Как сравнивается значение:
- Переменная покупки ищется сначала у позиции чека, затем на весь чек: переменная позиции отбирает позиции, на которые идёт начисление, переменная чека действует на все его позиции.
- Поле профиля читается из профиля клиента, хранимого в системе, на момент покупки. Клиента нет или поле пустое — значения нет; у поля с несколькими значениями достаточно совпадения любого.
- Регистр букв и пробелы по краям не учитываются; числа сравниваются как числа, даты — как даты; границы диапазона включительны. «Из списка» сравнивает значение с кодом или названием записи справочника — как задано в настройке.
- Нет значения или оно не разбирается как число или дата нужного формата — условие зоны «Акция применяется, если» не выполнено, условие зоны «Не применяется, если» не срабатывает.
Предупреждение при запуске
Если переменная дополнительного условия акции за последние 7 дней не приходила в покупках, окно запуска из шапки формы акции предупреждает: «Переменная «X» за последние 7 дней не приходила в покупках — условие «Y» может не сработать». Запуск это не блокирует: интеграцию могут включить позже. Запуск из каталога и со страницы акции в режиме чтения этой проверки не делает.
Условия, скрытые в настройке¶
Условие, которое администратор скрыл или удалил в «Настройке акции», новым акциям не предлагается. В акции, где оно уже заполнено, условие продолжает действовать: на вкладке оно показывается серой строкой только для чтения с тегом «Скрыто в настройке» (подсказка «Условие скрыто в настройке акции. В этой акции оно продолжает действовать»).
- Пока акцию можно править на месте (см. правило правки), такое условие можно очистить кнопкой «Очистить» — после этого строка пропадает, и заполнить условие заново нельзя.
- Новое значение скрытого условия сохранить нельзя —
422 promotion_criterion_unknown(«Условие «X» больше недоступно. Уберите его или обратитесь к администратору»). - Новая версия акции переносит скрытое условие со значениями, а копия («Сохранить как») — нет: после копирования показывается «Условие «X» скрыто в настройке акции и не перенесено в копию».
Непересечение зон¶
Одно значение не может стоять в обеих зонах: такое условие не пропустило бы никого. Форма не
предлагает значения, выбранные в том же условии противоположной зоны, а собранное пересечение
показывает ошибкой «Значение выбрано в обоих блоках: …». У «Суммы чека» и дополнительных условий со
способом «Диапазон» не должны пересекаться диапазоны. Сервер отклоняет пересечение по условиям
вкладки ошибкой 422 promotion_criterion_zones_overlap, по тегам и меткам —
422 promotion_audience_invalid.
Удалённые значения («битые ссылки»)¶
Значение, выбранное в условиях работающей акции (Активна, Пауза, Запланирована — архивность не
важна), удалить нельзя: справочник тегов отвечает 409 tag_in_use, справочник меток —
409 label_in_use, справочник сегментов — 409 segment_in_use, а последняя версия выбранной линии
акций — 409 promotion_in_use. Запись справочника, выбранную в условиях акций (в том числе в
дополнительном условии «Из списка»), справочник тоже не даёт удалить. Слияние синонимов тегов и меток
переписывает ссылки на цель, переименование обновляет подпись.
Но у черновика и завершённой акции тег, метка, акция или сегмент могут исчезнуть. Тогда:
- ссылка остаётся в условии и показывается красной чипсой с тултипом «Значение удалено из справочника. Замените его или уберите из условия.»;
- если в справочнике есть живой тег или метка с тем же текстом, под чипсой появляется действие «Заменить на «X»»;
- сохранить черновик с такой ссылкой можно, запустить — нет: кнопки «К запуску →» и
«Запустить» недоступны с пояснением «В условиях есть удалённые значения справочника — замените
или уберите их.», а сервер отвечает
400 promotion_audience_unresolvedс перечнем (у удалённого сегмента —kind: SEGMENTи код вvalue); - если акция с битой ссылкой всё же работает, она ни к кому не применяется: подтвердить право клиента по несуществующему значению нельзя.
Новая ссылка обязана существовать: попытка сохранить условие со ссылкой на удалённое значение —
422 promotion_audience_invalid (теги, метки, акции) или 422 promotion_criterion_value_not_found
(значения справочников).
Условия на странице акции¶
Страница акции показывает все условия строками по условиям — в порядке вкладки «Условия»: значения зоны «Акция применяется, если» и после них «кроме: …» — значения зоны «Не применяется, если». Условие, скрытое в настройке, помечено тегом «Скрыто в настройке», архивные значения приглушены, удалённые — красные чипсы. Акция без условий показывает «Без ограничений».
Быстрый просмотр в каталоге акций показывает в разделе «Ограничения»
условия из списка criteria — справочные значения, сумму чека и дополнительные условия; теги, участие
в акциях и условия по клиенту там не выводятся.
Как условия работают при покупке¶
Условия проверяются до ограничений и арбитража: период → условия покупки (товар, место, канал, мерчант, сегменты, сумма чека, дополнительные условия) → условия по клиенту (статус, уровень, баланс) → теги и участие в акциях → расчёт бонуса и ограничения. Полный порядок — «Ограничения и лимиты акции».
flowchart TD
A[Событие покупки] --> B{Все включающие<br/>условия выполнены?}
B -- нет --> X[Акция не применяется]
B -- да --> C{Сработало хотя бы одно<br/>условие исключения?}
C -- да --> X
C -- нет --> D{Ссылки условий<br/>разрешаются?}
D -- нет --> X
D -- да --> E[Проверка ограничений и арбитраж]
- Исключение сильнее включения: покупка, подходящая под включающую зону и одновременно под исключающую, акцию не получает.
- Внутри зоны условия соединяются «И», наборы участий — тоже «И». Условие исключения «Участие в акциях» срабатывает, когда выполнены все его наборы.
- Условие, которое система не умеет исполнить (незнакомый код, дополнительное условие без описания в настройке), акцию не применяет.
- Метка учитывается по версиям акций, которые несут её в момент проверки, — проставленная задним числом метка меняет группу сразу, без правки условий.
- Теги и участия проверяются не более чем тремя запросами на покупку независимо от числа акций: условия кандидатов, теги клиента и участия по всем наборам. Без условий по тегам теги не читаются, без наборов участий регистр участий не трогается.
Чек кассы проверяется по позициям
Условия проверяются на каждое событие покупки. Чек кассы раскладывается на события по позициям, поэтому товарные условия, переменные позиции и «Сумма чека» сравниваются с данными позиции, по которой считается начисление.
Витрина акций в кабинете клиента
Витрина акций в личном кабинете клиента показывает акцию, если выполнены условия, известные до покупки: «Сегменты клиентов» и дополнительные условия на поле профиля. Условия самой покупки (товары, место, мерчант, канал, сумма, переменные покупки) до покупки не проверяются, и акцию с ними витрина не прячет. Теги клиента, участие в акциях, статус, уровень и баланс витрина тоже не проверяет. Акция с удалённым сегментом в условиях на витрине не показывается.
Что сегодня не попадает в регистр участий
Условие «Участие в акциях» считает участия по регистру применений акций, а у него есть известные ограничения:
- акция, применение которой не дало начисления, в регистр не попадает — и группа по её метке не пополняется;
- сторнированные участия считаются: возврат покупки участие не отменяет (то же правило, что у лимита участий);
- акции, исполняемые диаграммами RT Flow через интеграционное начисление, участий не пишут.
Условия в API¶
Условия акции передаются в POST/PUT /v1/promotions тремя полями:
criteria— условия покупки, сегменты, сумма чека и дополнительные условия;params.conditions.client— статус, уровень и баланс клиента;audience— теги клиента и участие в акциях.
{
"criteria": [
{ "code": "product-category", "mode": "INCLUDE", "values": ["DRINKS"] },
{ "code": "store", "mode": "EXCLUDE", "values": ["MSK-001"] },
{ "code": "check-amount", "mode": "INCLUDE", "range": { "fromMinor": 50000 } },
{ "code": "purchase.brand", "mode": "INCLUDE", "method": "MANUAL", "values": ["nike"] }
],
"params": {
"conditions": {
"client": { "status": "ACTIVE", "levels": [{ "configId": 1, "code": "gold" }] }
}
},
"audience": {
"include": {
"customerTags": { "match": "ALL", "tagIds": [101, 102] },
"participation": [
{
"labelIds": [7],
"promotionIds": [123456789],
"self": false,
"count": { "operator": "GTE", "value": 1 },
"period": "ALL_TIME"
}
]
},
"exclude": { "customerTags": { "match": "ANY", "tagIds": [200] }, "participation": [] }
}
}
Поле criteria — список записей:
| Поле | Описание |
|---|---|
code |
Код условия: product-category, sku, geo-region, city, store, merchant, channel, customer-segment, check-amount или код дополнительного условия (purchase.<переменная>, customer.<поле профиля>) |
mode |
INCLUDE — «Акция применяется, если», EXCLUDE — «Не применяется, если»; одно условие может стоять в обеих зонах |
values |
Коды записей справочника или значения дополнительного условия |
range |
У check-amount — {fromMinor, toMinor} в копейках; у дополнительного условия со способом «Диапазон» — {from, to} строками (число с десятичной точкой, дата ISO 8601) |
method |
Способ дополнительного условия: REF_LIST, MANUAL, RANGE; у коробочных не передаётся |
label, hiddenInRegistry |
Только в ответе: подпись условия из настройки и признак «скрыто или удалено в настройке» |
Условия по клиенту (params.conditions.client): status (ACTIVE, BLOCKED), levels —
пары {configId, code}, balanceFromMinor, balanceToMinor. Прежний ключ level отклоняется
400 validation_failed.
Поле audience:
| Поле | Описание |
|---|---|
include, exclude |
Зоны «Акция применяется, если» и «Не применяется, если»; null — условий в зоне нет |
customerTags.match |
ANY (по умолчанию) или ALL |
customerTags.tagIds |
Идентификаторы тегов; пустой список — ошибка |
participation[] |
Наборы, соединённые «И» |
labelIds, promotionIds |
Метки и акции набора; акция передаётся id любой версии, хранится и считается по линии версий |
self |
Участия в самой этой акции |
count |
{operator: GT\|LT\|GTE\|LTE\|EQ\|BETWEEN, value, valueTo}; valueTo — только у BETWEEN; без count — «не менее 1» |
period |
ALL_TIME (по умолчанию) или PROMOTION_PERIOD |
Набор без меток, акций и self не принимается. В ответе по одной акции условия audience приходят
ссылками {id, value, resolved} (resolved: false — значение удалено, value — последняя известная
подпись); в строках каталога audience — null.
Полная замена — с оговорками
Переданные поля заменяют условия целиком. Отсутствующие в PUT поля criteria, audience и
ключ params.conditions.client.levels сохранённые условия не трогают — чтобы правка
остальных полей не стёрла таргетинг молча. Очистка — явным пустым списком (criteria: [],
levels: []) или пустыми зонами include и exclude.
Справочники формы доступны по праву LOYALTY_PROMOTION_READ:
| Метод и путь | Назначение |
|---|---|
GET /v1/promotions/criteria |
Состав вкладки «Условия»: показываемые условия в порядке настройки, их подписи, подсказки, зоны и способы |
GET /v1/promotions/dictionaries/{key}/entries |
Опубликованные записи справочника для выбора ({key} — любой справочник продукта): search по коду, названию и пояснению, page, size (до 100) |
POST /v1/promotions/dictionaries/{key}/entries/lookup |
Проверка списка кодов: найденные записи со статусом и ненайденные коды |
GET /v1/promotions/{id}/criteria/attribute-activity |
Число покупок за последние 7 операционных дней с переменной каждого дополнительного условия акции на переменную покупки |
Перенос акций между контурами несёт условия по значению: записи criteria — кодами, теги и метки —
значениями (недостающие заводятся), акции — кодом корневой версии. Неразрешимый код акции означает,
что акция из бандла не создаётся (promotion_audience_unresolved в отчёте импорта); уровни клиента
должны существовать в конфигурации целевого контура. Файлы, выгруженные до перехода на criteria
(со старым полем scope), импортируются с конвертацией.
Проверка условий из RT Flow¶
Правила тегов, участия и сегментов доступны сценариям RT Flow отдельным вызовом — семантика и код те же, что у условий акции.
| Метод и путь | Право | Назначение |
|---|---|---|
POST /v1/integration/rtflow/condition-checks |
LOYALTY_INTEGRATION_READ |
Проверить клиента по списку условий: теги, участие в акциях, сегменты |
Запрос — externalId клиента и список условий трёх типов: CUSTOMER_TAG (mode, match,
tagIds), PROMOTION_PARTICIPATION (mode, labelIds, promotionIds, count, period с явными
границами from/to и их включительностью) и CUSTOMER_SEGMENT (mode, match, segmentCodes —
коды без учёта регистра). mode: HAS — условие как есть, HAS_NOT — его отрицание. Ответ —
{results: [{index, passed, unresolved?}], allPassed}. Битая ссылка ломает только своё условие,
остальные проверяются; неизвестный тип, пустой список, набор без меток и акций и поле self дают
400 condition_check_invalid, незарегистрированный клиент — 404 customer_not_found. Подробности
вызова — в разделе «Интеграции».
Ошибки¶
Ошибки условий вкладки приходят с кодом условия criterion и, если ошибка относится к одной зоне,
её режимом mode — форма показывает ошибку у своей строки.
| Код | HTTP | Когда возникает |
|---|---|---|
promotion_criterion_unknown |
422 | Код условия неизвестен либо новое значение у условия, скрытого или удалённого в настройке |
promotion_criterion_value_kind_mismatch |
422 | Форма значения не подходит условию или способу (перечень вместо диапазона и т. п.) |
promotion_criterion_values_empty |
422 | Включённое условие без значений или диапазон без единой границы |
promotion_criterion_value_not_found |
422 | Значения нет в справочнике или оно снято с публикации (для нового значения); у сегментов — только сегмента нет в справочнике |
promotion_criterion_value_invalid |
422 | Значение дополнительного условия не разбирается как число или дата; форма показывает «Значения условия не разбираются: число — с точкой, дата — ГГГГ-ММ-ДД. Проверьте: …» |
promotion_criterion_range_invalid |
422 | Отрицательная сумма чека или нижняя граница больше верхней |
promotion_criterion_duplicate |
422 | Одно условие дважды в одной зоне |
promotion_criterion_zones_overlap |
422 | Одно значение или пересекающиеся диапазоны в обеих зонах |
promotion_level_unknown |
422 | В условии «Уровень клиента» — уровень, которого нет в указанной конфигурации |
promotion_audience_invalid |
422 | Теги и участие: ссылка на несуществующее значение, пустой список тегов, набор без меток и акций, неверный порог, одно значение в обеих зонах. В ответе — errors[] с путём поля и причиной |
promotion_audience_unresolved |
400 | Запуск акции с удалённым тегом, меткой, акцией или сегментом в условиях; в ответе — перечень битых ссылок |
tag_in_use |
409 | Удаление тега, выбранного в условиях работающей акции |
label_in_use |
409 | Удаление метки, выбранной в условиях работающей акции |
segment_in_use |
409 | Удаление сегмента, выбранного в условиях работающей акции |
promotion_in_use |
409 | Удаление последней версии акции, выбранной в условиях работающей акции |
condition_check_invalid |
400 | Неверный запрос проверки условий из RT Flow |