API Яндекс Директа v5: Создать объявления в группе

Сценарий из mcp-everything. Актуально на 2026-10-24.

Массово завести текстово-графические объявления: под новые товары, акции, города.

  1. Узнай ID группы объявлений (AdGroupId) — например, из существующих объявлений через Ads.get: POST /json/v5/ads с method = get и SelectionCriteria.CampaignIds.
  2. Создай объявления: Ads.add — POST /json/v5/ads с method = add и params.Ads, где у каждого объявления AdGroupId и TextAd с Title, Text, Href и Mobile = NO.
  3. Результат — в result.AddResults: для каждого объявления Id или Errors. Ошибка одного объявления не отменяет остальные — проверяй каждый элемент.
  4. Ads.add стоит 20 баллов за вызов и 20 за каждое объявление — собирай объявления пачками, а не по одному.
  5. Отлаживай на песочнице https://api-sandbox.direct.yandex.com — данные там удаляются через месяц после последнего обращения.
curl -X POST https://api.direct.yandex.com/json/v5/ads \
  -H "Authorization: Bearer $DIRECT_TOKEN" -H 'Content-Type: application/json; charset=utf-8' \
  -d '{"method": "add", "params": {"Ads": [{
        "AdGroupId": 123456789,
        "TextAd": {"Title": "Кружки с логотипом от 50 шт", "Text": "Печать за 3 дня. Доставка по России.", "Href": "https://example.ru/mugs", "Mobile": "NO"}
      }]}}'

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth 2.0: приложение регистрируется заранее, OAuth-токен пользователя Директа передаётся в заголовке Authorization: Bearer <токен>.

Методы сценария

POST /json/v5/ads — Ads.get: получение объявлений

Параметр Где Тип Обяз. Описание
method body string да get
params.SelectionCriteria body object да Нужен хотя бы один из Ids, AdGroupIds, CampaignIds
params.SelectionCriteria.Ids body array нет ID объявлений, до 10 000
params.SelectionCriteria.AdGroupIds body array нет ID групп, до 1000
params.SelectionCriteria.CampaignIds body array нет ID кампаний, до 10
params.FieldNames body array да Поля верхнего уровня
params.TextAdFieldNames body array нет Поля текстово-графического объявления
params.Page body object нет Limit и Offset

POST /json/v5/ads — Ads.add: создание объявлений

Тот же адрес, "method": "add". В result.AddResults[] для каждого объявления — Id или Errors.

Параметр Где Тип Обяз. Описание
method body string да add
params.Ads body array да Объявления
params.Ads[].AdGroupId body integer да ID группы объявлений
params.Ads[].TextAd.Text body string нет Текст текстово-графического объявления
params.Ads[].TextAd.Title body string нет Заголовок
params.Ads[].TextAd.Href body string нет Ссылка
params.Ads[].TextAd.Mobile body string нет Мобильное объявление: YES/NO

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/dev/direct/doc/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-direct.md