9488075076
Живой запуск кампании на бою 30.07.2026 вскрыл две поломки, которых вчерашняя починка не видела. Обе — из класса молчаливых: портал рапортует успех, а в жизни ничего не происходит. ПЕРВАЯ. Минимум Директа НЕ постоянный. Вчера мы приняли живой отказ «Budget for this period cannot be less than 600 rub.» за постоянный порог и зашили 600 ₽ в настройку. Сегодня та же кампания на неделю получила отказ «cannot be less than 2400 rub.» — проверка её пропустила, и клиент снова увидел английский текст. Две точки дали правило: минимум = 300 ₽ за каждый календарный день периода, считая оба края. период 30.07-31.07, 2 дня → 600 ₽ = 2 × 300 период 30.07-06.08, 8 дней → 2400 ₽ = 8 × 300 Теперь порог считается от периода показа, а ставка за день вынесена в настройку YANDEX_DIRECT_MIN_SPEND_RUB_PER_DAY. Период вычисляется ДО денег — иначе считать минимум не от чего. ВТОРАЯ. Создать объявления — не значит запустить рекламу. Запуск проходил успешно, портал ставил статус «на модерации», а в кабинете лежали кампания, группа и 15 объявлений в состоянии DRAFT и OFF. Яндекс кладёт всё созданное черновиком и проверку сам не начинает. Реклама не показалась бы никогда, и узнать об этом можно было только глазами в кабинете: наш журнал говорил, что всё хорошо. Добавлены два вызова, которых не было вовсе: ads.moderate — отдать созданные объявления на проверку campaigns.resume — включить показ Порядок обязателен. Пока кампания черновик, включить её нельзя — Директ отвечает «кампания является черновиком и не может быть остановлена». Сначала модерация, она переводит кампанию в MODERATION, и только потом включение. Отбор объявлений строго по Ids. На CampaignIds Директ отвечает «отсутствует обязательный параметр Ids» — именно так отправка молча не сработала бы. На модерацию уходят объявления, созданные ИМЕННО этим заходом: повторная отправка уже проверяемого — отказ по позиции, он порвал бы возобновляемый запуск. Включение показа безобидно при любом повторе: на включённой кампании Яндекс отвечает предупреждением, а не отказом. Заодно клиент Директа перестал молчать про отказы внутри ответа: раньше он смотрел только AddResults, UpdateResults и DeleteResults, теперь ещё ModerateResults и ResumeResults. Отказ по позиции в этих двух проходил бы насквозь незамеченным. ПРОВЕРЕНО ЖИВЬЁМ. Кампания № 6 на бою: в кабинете 713175197, группа 5778555449, 15 объявлений, аудитория подключена, статус MODERATION, показ включён. На счету Яндекса 8775 ₽. У клиента заморожено 3333.36 ₽ за 27778 показов до 06.08. Тесты: 346 зелёных по рекламе, 43 по клиенту Директа, статанализ ноль замечаний. Четыре новых теста — минимум по длине периода на боевом случае, отправка на модерацию, порядок модерация-до-включения, отсутствие повторной отправки. Два старых теста закрепляли частный случай в два дня — им проставлен явный срок показа, иначе они молча описывали бы неправду. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>