Чем журнал изменений в Директе отличается от выгрузки Changes

14.10.2026 · 8 мин чтения
Тёмная пластина журнала и коралловый маяк из трёх дисков на чёрном фоне
В кабинете Яндекс Директа вкладка истории читается как дневник: кто и когда поменял минус-фразы, бюджет или объявление. Выгрузить эту ленту методом API нельзя. Сервис Changes присылает только сигнал, что объект трогали. Фразу для клиента я собираю из своего снимка настроек: сохраняю состояние до правки и сравниваю его с состоянием после.

Что я вижу во вкладке кабинета

В рекламном кабинете я открываю вкладку, когда нужно вспомнить живую правку. Там видно, кто тронул минус-фразы, кто сдвинул бюджет и кто переписал объявление. Это человеческий журнал. Его читает любой сотрудник, у которого есть доступ к кабинету. Запрос про выгрузку истории изменений аккаунта почти всегда про эту ленту: забрать дневник и положить его в отчёт или отдать агенту. Я сам сначала хотел ровно этого.
API так не умеет. Документация описывает другие сущности, а не экран интерфейса. Вкладка через методы не проброшена. Честный ответ на выгрузку «как в кабинете» у меня один: никак. Журнал остаётся на экране. В рабочий контур я забираю сигнал Changes и свой эталон объектов. Путать эту память с аудитом перед запуском не стоит. Аудит отвечает, можно ли стартовать. Здесь я помню, что уже меняли в живом ведении.
Новый Мастер отчётов в интерфейсе тоже не замена. Срез экрана не становится журналом и не становится снимком объектов. Одну задачу я не закрываю соседней вкладкой.

Чем журнал отличается от Changes и от снимка

Журнал отвечает, кто нажал. Changes отвечает, трогали ли объект. Снимок отвечает, что именно стало другим. Пока у меня есть только сигнал, фразу «добавили минус-фразы в кампанию» я не пишу. Для неё нужна разница двух состояний. Разговор про оптимизацию и про эффективность в письме клиенту держится на этой разнице, а не на сыром логе. Если второй половины нет, отчёт либо молчит, либо начинает додумывать.
ИсточникЧто даётЧего не даёт
Вкладка кабинетаЧеловеческий журнал: кто и когдаВыгрузку этой ленты через API
ChangesСигнал, что объект менялиГотовую фразу про суть правки
Свой снимокРазницу настроек до и послеСмысл, если эталона ещё нет
Старый PDF или ExcelСлой «как было» на стартеСтабильный контур на месяцы

Какие срезы SELF, CHILDREN и STAT приходят

Сервис Changes раскладывает события на три среза: сам объект, его потомки и статистика. В документации это типы, окна и объекты, читается сухо. Для работы мне нужен смысл среза, а не пересказ справочника. Каждый срез — детектор. Он говорит, что что-то менялось. Он не пишет, какую фразу добавили и кто это сделал. Имя сотрудника и текст правки остаются во вкладке. Без прошлого снимка из детектора человеческую фразу не собрать.
SELF я читаю как сигнал про сам объект, который запросил. Менялись его собственные параметры, и я открываю эталон этого объекта, а не соседние сущности. CHILDREN я читаю как сигнал про потомков: менялось то, что живёт внутри, и сверка только карточки родителя здесь врёт. STAT я читаю как сигнал, что менялась статистика. Это не правка настроек. Цифры приезжают своими методами, и я не записываю STAT в список решений за неделю. Срез только выбирает, какой кусок снимка открыть.
СрезЧто реально приходитКуда я смотрю дальше
SELFСигнал, что менялся сам объектВ параметры этого объекта в эталоне
CHILDRENСигнал, что менялись потомкиВо вложенные объекты, не только в родителя
STATСигнал, что менялась статистикаВ цифры отчёта, не в список правок
Тёмная стопка пластин и три коралловые метки на чёрном фоне
Журнал остаётся в кабинете. Changes присылает только тип сигнала.

Как я снимаю настройки до правки и после

В день правки я не начинаю с журнала. Сначала файл «было», потом сама правка, потом файл «стало», и только затем смотрю, какой срез загорелся. Снимок для меня не скрин кабинета и не полный дамп. Это выгрузка объектов, о которых я потом пишу клиенту. В эталоне кампании, ключевые фразы, бюджет и стратегия. Беру их методами в духе Campaigns.get и Keywords.get. Состав полей один и тот же на обоих съёмах.
  1. Решаю, какие поля реально попадут в клиентский отчёт. Кабинет целиком не снимаю: в письмо идёт только то, о чём я обещаю писать.
  2. До правки снимаю эталон этим составом и кладу файл в закрытое хранилище проекта.
  3. Правку делаю руками в кабинете или методом, который этот тип объекта вообще принимает.
  4. Сразу после правки повторяю съём. Имена полей, набор объектов и способ выгрузки те же, иначе файлы нельзя вычесть друг из друга.
  5. Кладу новый файл рядом с эталоном и смотрю разницу состояний. Модель не прошу угадать, что поменяли: без двух файлов она дорисует смысл.
  6. Changes читаю отдельно. Тип среза подсказывает, какой кусок файлов открыть. Фразу для клиента беру только из разницы, не из имени среза.
  7. Тот же состав повторяю на следующей неделе. Сохранил состояние в понедельник — сравниваю со следующим таким же съёмом, а не с обрывком другого набора.
  8. Ночной полный обход без нужды не включаю. Баллы конечны. Снимаю то, что идёт в отчёт, а не весь кабинет «на всякий случай».
На качественную еженедельную выжимку я закладываю одну или две недели, пока накопится слой «было». Если завести контур потом, сравнивать будет не с чем. Поэтому эталон появляется в ту же неделю, когда я впервые отдаю автоматический отчёт. Статистика кампании без слоя «что правили» остаётся набором цифр, которые клиент и так открывает в кабинете.
Регламент у меня на двоих. Один человек отвечает за эталон и следит, чтобы набор полей не плыл. Второй пишет текст выжимки и не подменяет файлы догадкой. Если оба правят состав каждую неделю, сравнение ломается: то нет ключей, то нет бюджета. Набор я фиксирую один раз и меняю осознанно, как скоупы приложения, а не на глаз после созвона.
Две чёрные коробки, в правой приоткрыта карточка с коралловым краем
Эталон до правки и повторный съём после неё я держу одним составом полей.

Старый файл, пока эталона ещё нет

Когда контур только стартует, прошлого снимка нет. Тогда я беру старый клиентский PDF или Excel и говорю: вот как мы описывали настройки раньше. Новый съём сравниваю с этим слоем. Это костыль на старт, не замена регулярного эталона. Через одну или две недели его должен сменить съём из API. На месяцы старый файл единственным контуром я не оставляю: он помнит прошлую подачу, а не текущие объекты. Как только второй файл того же состава уже есть, сравнение идёт только между ними.

Про токен и отчёты здесь больше ничего

Получение токена и сервис Reports я уже разобрал в статье про API. Здесь тот же вход и ничего больше про выдачу доступа: технический логин, одобренная заявка и токен сотрудника, которым я хожу и за цифрами. Отдельный ключ только на историю Яндекс не выдаёт. Отдельного ключа только на Changes тоже нет. Кто обещает выгрузить ленту кабинета отдельным методом, продаёт ожидание, которого в API нет. Если доступ обновляю, обновляю сразу оба контура, и отчёт, и память настроек. Дальше в этом тексте только история изменений.

Что я не правлю через API

Через API я не редактирую Мастер кампаний. Это тип кампании, а не новый Мастер отчётов в интерфейсе. Интересы аудиторий через API не правлю. Товарную кампанию целиком тоже не правлю. Если решение приняли руками в таком месте, разница ключей и бюджета его не покажет. К файлам я тогда добавляю короткую пометку. Список решений за неделю собирается из разницы снимков плюс эти пометки. Из одной вкладки честный список не собрать: вкладка по API не едет.
  • Пообещал клиенту минусы — в эталоне обязаны быть ключевые фразы.
  • Пообещал стратегию — снимаю стратегию, а не только бюджет.
  • Всю историю аккаунта не обещаю: вкладка методами не выгружается.
  • Правку вне API не прячу. Короткая пометка лежит рядом с разницей файлов.
  • Модель, которая «сама вспомнит» правки, вместо эталона не ставлю. Без двух файлов выходит красивый текст и спор на планёрке.

Три слоя, которые я не смешиваю

Экран настроек API в кабинете показывает статус заявки и остаток баллов. Это не журнал правок. Параметры говорят, что доступ открыт. История в интерфейсе говорит, кто нажал. Снимок говорит, что стало другим. Три слоя я держу отдельно и не подписываю один другим. Клиенту пишу прямо: человеческую ленту кабинета не выгружаем, зато каждую неделю видим разницу объектов. Так ожидание журнала не протекает в отчёт.
Три тёмные пластины с коралловой кромкой и кольцо над ними
Доступ, журнал кабинета и снимок объектов я проверяю как три разных слоя.

Когда фраза «ничего не меняли» врёт

Если объявления правили руками, а снимок хранит только ключи и бюджет, фраза «ничего не меняли» формально верна и фактически ложна. Состав полей обязан совпадать с тем, о чём я обещаю писать. Иначе отчёт молчит там, где правка была, или додумывает то, чего в двух файлах нет.
Курсы по API чаще учат методы и молчат про вкладку. После такого разбора легко решить, что доступ плохой, раз дневник не скачивается. Доступ здесь ни при чём: вкладки в методах нет. Рабочий обход один — эталон объектов и одна или две недели, пока есть с чем сравнивать. Расширение браузера, которое обещает скачать журнал, я в контур не ставлю: оно часто ломает доступ. Живу на официальных методах и своём снимке, и тогда письмо не врёт, когда минусы добавили накануне вечером.
SEO

Сверю журнал и снимок

Посмотрю, какие поля снять до правки, как читать срезы Changes и что нельзя обещать клиенту из вкладки кабинета.
SEO-специалист и автор материала
Читайте также