CreateOrUpdateCampaign

Создает кампанию c указанными параметрами или изменяет параметры существующей кампании.

Внимание.

Метод отключен. Используйте API версии 5.

Информацию о соответствии методов в версиях 4 и 5 см. в Руководстве по переходу.

Для метода существует версия CreateOrUpdateCampaign (Live).

Ограничения

Не более 100 вызовов в сутки для редактирования одной кампании. Не более 100 вызовов в сутки для создания кампаний.

Внимание. Метод поддерживает только кампании с типом «Текстово-графические объявления». Для работы с кампаниями всех типов используйте сервис Campaigns API версии 5. Подробнее о типах кампаний...

Входные данные

Ниже показана структура входных данных в формате JSON.

{
   "method": "CreateOrUpdateCampaign",
   "param": {
      /* CampaignInfo */
      "Login": (string),
      "CampaignID": (int),
      "Name": (string),
      "FIO": (string),
      "StartDate": (date),
      "Strategy": {
         /* CampaignStrategy */
         "StrategyName": (string),
         "MaxPrice": (float),
         "AveragePrice": (float),
         "WeeklySumLimit": (float),
         "ClicksPerWeek": (int)
      },
      "SmsNotification": {
         /* SmsNotificationInfo */
         "MetricaSms": (string),
         "ModerateResultSms": (string),
         "MoneyInSms": (string),
         "MoneyOutSms": (string),
         "SmsTimeFrom": (string),
         "SmsTimeTo": (string)
      },
      "EmailNotification": {
         /* EmailNotificationInfo */
         "Email": (string),
         "WarnPlaceInterval": (int),
         "MoneyWarningValue": (int),
         "SendAccNews": (string),
         "SendWarn": (string)
      },
      "StatusBehavior": (string),
      "TimeTarget": {
         /* TimeTargetInfo */
         "ShowOnHolidays": (string),
         "HolidayShowFrom": (int),
         "HolidayShowTo": (int),
         "DaysHours": [
            {  /* TimeTargetItem */
               "Hours": [
                  (int)
                  ...
               ],
               "Days": [
                  (int)
                  ...
               ]
            }
            ...
         ],
         "TimeZone": (string)
      },
      "StatusContextStop": (string),
      "ContextLimit": (string),
      "ContextLimitSum": (int),
      "ContextPricePercent": (int),
      "AutoOptimization": (string),
      "StatusMetricaControl": (string),
      "DisabledDomains": (string),
      "DisabledIps": (string),
      "StatusOpenStat": (string),
      "ConsiderTimeTarget": (string),
      "MinusKeywords": [
         (string)
         ...
      ],
      "AddRelevantPhrases": (string),
      "RelevantPhrasesBudgetLimit": (int),
   }
}

Ниже приведено описание параметров.

Параметр Описание Требуется
Объект CampaignInfo
Login

Логин владельца кампании (логин пользователя Яндекса, в пользу которого ведется рекламная кампания).

При создании кампании прямые рекламодатели указывают собственный логин в Яндексе, рекламные агентства — логин своего клиента. При получении параметров кампании возвращается логин главного представителя рекламодателя.

Да
CampaignID

Идентификатор кампании.

Для создания кампании задают 0, для изменения параметров существующей кампании указывают ее идентификатор.

Да
Name

Название кампании.

Да
FIO

Имя и фамилия владельца кампании.

Да
Strategy

Определяет стратегию показов на поиске. Содержит объект CampaignStrategy с параметрами стратегии.

Да
EmailNotification

Объект EmailNotificationInfo с параметрами отправки уведомлений по электронной почте.

Да
SmsNotification

Объект SmsNotificationInfo с параметрами отправки SMS-уведомлений.

Чтобы получать уведомления, необходимо подписаться на них (см. раздел справки Подпишитесь на SMS-уведомления). Телефонный номер для отправки берется из персональных данных пользователя (см. раздел справки Номера телефонов).

Нет
StartDate

Начало показа объявлений, YYYY-MM-DD. Если не задана, используется дата создания кампании.

Дата может находиться в будущем. В этом случае показ объявлений начинается при наступлении указанной даты, если модератор одобрил объявления и внесены средства на баланс кампании.

Нет
StatusBehavior

Включить поведенческий таргетинг — Yes/No. Предустановленное значение — Yes.

Нет
TimeTarget

Объект TimeTargetInfo с параметрами временного таргетинга.

Нет
StatusContextStop

Не использовать в Рекламной сети Яндекса фразы, отключенные на поиске за низкий CTR, — Yes/No. Предустановленное значение — No (при отключении на поиске фраза продолжает использоваться в Рекламной сети Яндекса).

Ограничение.

Параметр утратил актуальность для новых фраз, поскольку фразы больше не отключаются за низкий CTR.

Нет
ContextLimit

Ограничение бюджета на показ объявлений в Рекламной сети Яндекса:

  • Default — бюджет не ограничен (предустановленное значение);
  • Limited — бюджет ограничен значением параметра ContextLimitSum.
Нет
ContextLimitSum

Максимальный процент бюджета на показ объявлений в Рекламной сети Яндекса. Значение должно быть кратно десяти или равняться нулю: 0, 10, 20... 100.

При значении 0 показы в Рекламной сети выключаются. Предустановленное значение NULL не накладывает ограничение на бюджет, что равнозначно Default в параметре ContextLimit.

Нет
ContextPricePercent

Максимальная ставка в Рекламной сети Яндекса в процентах от ставки на поиске. Значение кратно десяти: 10, 20... 100. Предустановленное значение — 100.

Нет
AutoOptimization

Включить автоматическое уточнение фраз — Yes/No. Предустановленное значение — No.

Нет
StatusMetricaControl

Останавливать показы при недоступности сайта рекламодателя — Yes/No. Недоступность выявляется по результатам мониторинга, проводимого Директом.

Нет
DisabledDomains

Список мест показа, где не нужно показывать объявления:

  • доменные имена сайтов;
  • идентификаторы мобильных приложений (bundle ID для iOS, package name для Android);
  • имена внешних сетей (SSP).

Не более 1000 мест показа. Значения указывают через запятую, например site.ru,ru.example.app.

Нет
DisabledIps

Список IP-адресов, которым не нужно показывать объявления. Адреса указывают через запятую, например 127.0.0.1,127.0.0.2

Нет
StatusOpenStat

При переходе на сайт рекламодателя добавлять к URL метку в формате OpenStat — Yes/No. Предустановленное значение — No.

Нет
ConsiderTimeTarget

Рассчитывать цены позиций показа без учета ставок в остановленных объявлениях конкурентов (остановлены в соответствии с расписанием), — Yes/No. Предустановленное значение — No (учитываются все объявления).

Нет
MinusKeywords

Массив минус-фраз, общих для всех ключевых фраз кампании.

Минус-фразу следует указывать без минуса перед первым словом.

Не более 7 слов в минус-фразе. Длина каждого слова — не более 35 символов. Суммарная длина минус-фраз в массиве — 20000 символов. Оператор «!» или «+» перед словом не учитывается в суммарной длине.

Нет
AddRelevantPhrases

Добавлять дополнительные релевантные фразы к объявлениям — Yes/No.

Нет
RelevantPhrasesBudgetLimit

Максимальный процент бюджета, расходуемый на клики по дополнительным релевантным фразам. Значение кратно десяти: 10, 20, ..., 100. Предустановленное значение — 100.

Нет
Объект CampaignStrategy
StrategyName

Название стратегии управления ставками.

Стратегии с ручным управлением:

  • HighestPosition — стратегия «Наивысшая доступная позиция»;
  • LowestCost — стратегия «Показ в блоке по минимальной цене»;
  • LowestCostPremium — стратегия «Показ в блоке по минимальной цене», но объявления показываются только в спецразмещении;

Автоматические стратегии:

  • WeeklyBudget — автоматическая стратегия «Недельный бюджет» (обязательный параметр WeeklySumLimit, дополнительный MaxPrice);
  • WeeklyPacketOfClicks — автоматическая стратегия «Недельный пакет кликов» (обязательный параметр ClicksPerWeek, дополнительные MaxPrice или AveragePrice);
  • AverageClickPrice — автоматическая стратегия «Средняя цена клика» (обязательный параметр AveragePrice, дополнительный WeeklySumLimit).

Еще две ручные стратегии могут быть указаны, но для них не доступна настройка параметров через API (только через веб-интерфейс):

  • NoPremiumPosition — стратегия «Показ под результатами поиска»;
  • IndependentControl — стратегия «Независимое управление для разных типов площадок».

Последние две стратегии настраиваются через веб-интерфейс Директа. Однако название любой из них может присутствовать в ответе метода GetCampaignsParams и подаваться на вход метода CreateOrUpdateCampaign. В этом случае API не меняет параметры стратегии, установленные через веб-интерфейс.

Да
MaxPrice Максимальная ставка. Может задаваться для стратегий WeeklyBudget и WeeklyPacketOfClicks. Нет
AveragePrice

Средняя ставка для стратегии AverageClickPrice. Также может задаваться для стратегии WeeklyPacketOfClicks.

Для стратегии AverageClickPrice
WeeklySumLimit

Максимальный недельный бюджет для стратегии WeeklyBudget. Также может задаваться для стратегии AverageClickPrice.

Для стратегии WeeklyBudget
ClicksPerWeek Количество кликов в неделю для стратегии WeeklyPacketOfClicks. Для стратегии WeeklyPacketOfClicks
Объект SmsNotificationInfo
MetricaSms Сообщать результаты мониторинга сайтов по данным Яндекс.Метрики — Yes/No. Нет
ModerateResultSms Сообщать результаты модерации объявлений — Yes/No. Нет
MoneyInSms

Сообщать о зачислении средств на баланс кампании — Yes/No. Предустановленное значение — No.

Если у клиента подключен общий счет, возвращается значение соответствующего параметра общего счета.

Нет
MoneyOutSms

Сообщать об исчерпании средств на балансе кампании — Yes/No. Предустановленное значение — No.

Если у клиента подключен общий счет, возвращается значение соответствующего параметра общего счета.

Нет
SmsTimeFrom Время, начиная с которого разрешено отправлять SMS о событиях, связанных с кампанией. Указывается в формате HH:MM, минуты задают кратно 15 (0, 15, 30, 45). Например, «19:45». Нет
SmsTimeTo Время, до которого разрешено отправлять SMS о событиях, связанных с кампанией. Указывается в формате HH:MM, минуты задают кратно 15 (0, 15, 30, 45). Например, «19:45». Нет
Объект EmailNotificationInfo
Email Адрес электронной почты для отправки уведомлений о событиях, связанных с кампанией. Да
WarnPlaceInterval

Периодичность проверки позиции объявления — 15, 30 или 60 минут.

Уведомление отправляется, если объявление переместилось на более низкую позицию, чем та, которую обеспечивала ставка на момент установки.

Да
MoneyWarningValue

Минимальный баланс, при уменьшении до которого отправляется уведомление. Задается в процентах от суммы последнего платежа. Предустановленное значение — 20.

Если у клиента подключен общий счет, возвращается значение соответствующего параметра общего счета.

Да
SendAccNews

Сообщать о событиях, связанных с кампанией, — Yes/No. Задается для кампаний, обслуживаемых персональным менеджером в Яндексе. Предустановленное значение — No.

Нет
SendWarn

Отправлять уведомления по электронной почте — Yes/No. Предустановленное значение — No.

Нет
Объект TimeTargetInfo
ShowOnHolidays

Показывать объявления в праздничные нерабочие дни — Yes/No (к этим дням не относятся обычные субботы и воскресенья). Предустановленное значение — Yes.

Нет
HolidayShowFrom

Час, начиная с которого объявления показываются в праздничные нерабочие дни. Если параметр отсутствует, показы идут по расписанию из параметра DaysHours.

Нет
HolidayShowTo

Час, до которого объявления показываются в праздничные нерабочие дни. Если параметр отсутствует, показы идут по расписанию из параметра DaysHours.

Нет
DaysHours

Массив объектов TimeTargetItem, определяющих расписание показов (временной таргетинг).

Да
TimeZone

Временная зона в месте нахождения владельца рекламной кампании. Список временных зон можно получить с помощью метода GetTimeZones.

Нет
Объект TimeTargetItem
Hours

Массив целых чисел от 0 до 23. Число 0 соответствует интервалу времени с 00:00 по 00:59 включительно, число 1 — с 01:00 по 01:59 включительно и так далее.

Предустановленное значение — массив чисел от 0 до 23 соответствует полным суткам.

Да
Days

Массив целых чисел от 1 до 7. Число 1 соответствует понедельнику, число 7 — воскресенью. В указанные дни объявления показываются в соответствии со значением параметра Hours.

Предустановленное значение — массив чисел от 1 до 7 соответствует полной неделе.

Да

Результирующие данные

Метод возвращает идентификатор созданной или отредактированной кампании, как показано в следующем примере.

{
   "data": 3193279
}

Примеры входных данных

Python

{
   "Login":"agrom",
   "CampaignID":3193279,
   "Name":"Promotion of home appliances",
   "FIO":"Alex Gromov",
   "Strategy":{
      "StrategyName":"WeeklyBudget",
      "WeeklySumLimit":400,
      "MaxPrice":8
   },
   "TimeTarget":{
      "TimeZone":"Europe/Moscow",
      "DaysHours":[
         {
            "Hours":[1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],
            "Days":[1,2,3,4,5]
         },
         {
            "Hours":[10,11,12,13,14,15,16,17,18,19,20],
            "Days":[6,7]
         }
      ],
      "ShowOnHolidays":"Yes"
   },
   "StatusBehavior":"Yes",
   "StatusContextStop":"No",
   "ContextLimit":"Default",
   "ContextLimitSum":30,
   "ContextPricePercent":100,
   "AutoOptimization":"Yes",
   "StatusMetricaControl":"Yes",
   "DisabledDomains": "domain1.ru,domain2.ru",
   "DisabledIps": "64.234.23.21",
   "StatusOpenStat":"No",
   "ConsiderTimeTarget":"Yes",
   "AddRelevantPhrases":"No",
   "RelevantPhrasesBudgetLimit":100,
   "MinusKeywords":[],
   "SmsNotification":{
      "SmsTimeFrom":"09:00",
      "MoneyInSms":"Yes",
      "SmsTimeTo":"21:00",
      "MoneyOutSms":"Yes",
      "ModerateResultSms":"Yes",
      "MetricaSms":"Yes"
   },
   "EmailNotification":{
      "MoneyWarningValue":20,
      "SendAccNews":"Yes",
      "WarnPlaceInterval":60,
      "SendWarn":"Yes",
      "Email":"agrom@yandex.ru"
   }
}

PHP

array(
   "Login" => "agrom",
   "CampaignID" => 3193279,
   "Name" => "Promotion of home appliances",
   "FIO" => "Alex Gromov",
   "Strategy" => array(
      "StrategyName" => "WeeklyBudget",
      "WeeklySumLimit" => 400,
      "MaxPrice" => 8
   ),
   "TimeTarget" => array(
      "TimeZone" => "Europe/Moscow",
      "DaysHours" => array(
         array(
            "Hours" => array(1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23),
            "Days" => array(1,2,3,4,5)
         ),
         array(
            "Hours" => array(10,11,12,13,14,15,16,17,18,19,20),
            "Days" => array(6,7)
         )
      ),
      "ShowOnHolidays" => "Yes"
   ),
   "StatusBehavior" => "Yes",
   "StatusContextStop" => "No",
   "ContextLimit" => "Default",
   "ContextLimitSum" => 30,
   "ContextPricePercent" => 100,
   "AutoOptimization" => "Yes",
   "StatusMetricaControl" => "Yes",
   "DisabledDomains" => "domain1.ru,domain2.ru",
   "DisabledIps" => "64.234.23.21",
   "StatusOpenStat" => "No",
   "ConsiderTimeTarget" => "Yes",
   "AddRelevantPhrases" => "No",
   "RelevantPhrasesBudgetLimit" => 100,
   "MinusKeywords" => array(),
   "SmsNotification" => array(
      "SmsTimeFrom" => "09:00",
      "MoneyInSms" => "Yes",
      "SmsTimeTo" => "21:00",
      "MoneyOutSms" => "Yes",
      "ModerateResultSms" => "Yes",
      "MetricaSms" => "Yes"
   ),
   "EmailNotification" => array(
      "MoneyWarningValue" => 20,
      "SendAccNews" => "Yes",
      "WarnPlaceInterval" => 60,
      "SendWarn" => "Yes",
      "Email" => "agrom@yandex.ru"
   )
)

Perl

{
   'Login' => 'agrom',
   'CampaignID' => 3193279,
   'Name' => 'Promotion of home appliances',
   'FIO' => 'Alex Gromov',
   'Strategy' => {
      'StrategyName' => 'WeeklyBudget',
      'WeeklySumLimit' => 400,
      'MaxPrice' => 8
   },
   'TimeTarget' => {
      'TimeZone' => 'Europe/Moscow',
      'DaysHours' => [
         {
            'Hours' => [1,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],
            'Days' => [1,2,3,4,5]
         },
         {
            'Hours' => [10,11,12,13,14,15,16,17,18,19,20],
            'Days' => [6,7]
         }
      ],
      'ShowOnHolidays' => 'Yes'
   },
   'StatusBehavior' => 'Yes',
   'StatusContextStop' => 'No',
   'ContextLimit' => 'Default',
   'ContextLimitSum' => 30,
   'ContextPricePercent' => 100,
   'AutoOptimization' => 'Yes',
   'StatusMetricaControl' => 'Yes',
   'DisabledDomains' => 'domain1.ru,domain2.ru',
   'DisabledIps' => '64.234.23.21',
   'StatusOpenStat' => 'No',
   'ConsiderTimeTarget' => 'Yes',
   'AddRelevantPhrases' => 'No',
   'RelevantPhrasesBudgetLimit' => 100,
   'MinusKeywords' => [],
   'SmsNotification' => {
      'SmsTimeFrom' => '09:00',
      'MoneyInSms' => 'Yes',
      'SmsTimeTo' => '21:00',
      'MoneyOutSms' => 'Yes',
      'ModerateResultSms' => 'Yes',
      'MetricaSms' => 'Yes'
   },
   'EmailNotification' => {
      'MoneyWarningValue' => 20,
      'SendAccNews' => 'Yes',
      'WarnPlaceInterval' => 60,
      'SendWarn' => 'Yes',
      'Email' => 'agrom@yandex.ru'
   }
}