Кампании в API Яндекс Директа: get, add, update, suspend
Кампании через API v5 — полное руководство по сервису campaigns.
Коротко: Сервис campaigns: get, add, update, suspend, resume.
← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Лимиты и баллы · Ограничения · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация · Документация Яндекса
Содержание
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 | Единая перекличаемая кампания |
| Динамическая | DynamicTextCampaign | YML-фид |
| Смарт-баннеры | CpmBannerCampaign | CPM медийная реклама |
| Мастер кампаний | TextCampaign + связь | Несколько кампаний в одном аккаунте |
ЕПК: Группы и объявления.
campaigns.update
Изменяемые поля:
DailyBudget— дневной бюджет.NegativeKeywords— минус-фразы на уровне кампании.TimeTargeting— расписание показов.TextCampaign.BiddingStrategy— стратегия ставок.Name— название кампании.
campaigns.suspend / campaigns.resume
{"method":"suspend","params":{"SelectionCriteria":{"Ids":[12345678]}}}Мгновенно останавливает или возобновляет показы. Не требует модерации. Полезно для автоматической остановки при нулевом балансе.
Workflow создания кампании
campaigns.add→ получите CampaignId.adgroups.addс CampaignId → AdGroupId.ads.add→ ожидание модерации (pollads.getпо Status).keywords.add+bids.set/keywordbids.set.- Проверка через
campaigns.getи Reports API.
Коротко: Перед боевым запуском протестируйте в песочнице.
← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Лимиты и баллы · Ограничения · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация