Кампании в API Яндекс Директа: get, add, update, suspend

Кампании через API v5 — полное руководство по сервису campaigns.

Коротко: Сервис campaigns: get, add, update, suspend, resume.

← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Лимиты и баллы · Ограничения · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация · Документация Яндекса


Содержание

  1. campaigns.get
  2. campaigns.add
  3. Типы
  4. campaigns.update
  5. suspend/resume
  6. Workflow

campaigns.get — получение списка

POST https://api.direct.yandex.com/json/v5/campaigns

Authorization: Bearer <token>

Accept-Language: ru

{

  "method": "get",

  "params": {

    "SelectionCriteria": {

      "States": ["ON", "SUSPENDED"],

      "Statuses": ["ACCEPTED"]

    },

    "FieldNames": ["Id", "Name", "State", "Status", "Type", "StartDate"],

    "TextCampaignFieldNames": ["BiddingStrategy"],

    "Page": {"Limit": 100, "Offset": 0}

  }

}

Фильтры SelectionCriteria: Ids, States (ON, OFF, SUSPENDED, ENDED), Statuses. Если в ответе LimitedBy — нужна пагинация.

campaigns.add — создание

{

  "method": "add",

  "params": {

    "Campaigns": [{

      "Name": "API кампания поиск",

      "StartDate": "2026-08-03",

      "TextCampaign": {

        "BiddingStrategy": {

          "Search": {"BiddingStrategyType": "HIGHEST_POSITION"},

          "Network": {"BiddingStrategyType": "SERVING_OFF"}

        },

        "Settings": [

          {"Option": "ADD_METRICA_TAG", "Value": "YES"}

        ]

      },

      "DailyBudget": {"Amount": 500000000, "Mode": "STANDARD"},

      "NegativeKeywords": {"Items": ["бесплатно", "дешёво"]},

      "TimeTargeting": {

        "Schedule": {

          "Items": [

            {"Days": "MON-FRI", "StartHour": 8, "EndHour": 20}

          ]

        }

      }

    }]

  }

}

Бюджет в микрорублях (×10⁶). 500000000 = 500 ₽/день. После add — adgroups.add, затем ads.add.

Типы кампаний

ТипПоле в addОписание
Тексто-графическаяTextCampaignПоиск + РСЯ
ЕПК (Unified)UnifiedCampaignЕдиная перекличаемая кампания
ДинамическаяDynamicTextCampaignYML-фид
Смарт-баннерыCpmBannerCampaignCPM медийная реклама
Мастер кампанийTextCampaign + связьНесколько кампаний в одном аккаунте

ЕПК: Группы и объявления.

campaigns.update

Изменяемые поля:

  • DailyBudget — дневной бюджет.
  • NegativeKeywords — минус-фразы на уровне кампании.
  • TimeTargeting — расписание показов.
  • TextCampaign.BiddingStrategy — стратегия ставок.
  • Name — название кампании.

campaigns.suspend / campaigns.resume

{"method":"suspend","params":{"SelectionCriteria":{"Ids":[12345678]}}}

Мгновенно останавливает или возобновляет показы. Не требует модерации. Полезно для автоматической остановки при нулевом балансе.

Workflow создания кампании

  1. campaigns.add → получите CampaignId.
  2. adgroups.add с CampaignId → AdGroupId.
  3. ads.add → ожидание модерации (poll ads.get по Status).
  4. keywords.add + bids.set / keywordbids.set.
  5. Проверка через campaigns.get и Reports API.

Коротко: Перед боевым запуском протестируйте в песочнице.


← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Лимиты и баллы · Ограничения · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация