PayCampaigns

Оплата кампании из кредитного лимита рекламного агентства

Примечание. Для метода существует версия PayCampaigns (Live).

Кредит предоставляется рекламным агентствам, с которыми заключены специальные кредитные договоры. Метод GetCreditLimits возвращает информацию о предоставленных кредитах.

При оплате кампании за счет кредита автоматически формируется печатная форма счета на оплату, получить которую можно через интерфейс Яндекс.Директа.

Внимание.

Прямые рекламодатели могут оплачивать кампанию, только если она одобрена модератором (см. параметр кампании StatusModerate).

Рекомендации и ограничения

Внимание. Все кампании, указанные в одном вызове метода, должны быть одного типа. Подробнее о типах кампаний...

Рекомендуется оплачивать кампании как можно меньшим количеством вызовов метода PayCampaign в сутки. Данная рекомендация нацелена на повышение производительности API Яндекс.Директа. С точки зрения производительности, лучше оплатить несколько кампаний за один вызов метода, чем использовать его несколько раз для оплаты по одной кампании.

Ниже перечислены ограничения на вызов метода:

  • один пользователь может вызвать метод 1000 раз в сутки;
  • для одной кампании возможно не более 30 финансовых операций в сутки, включая формирование счетов на оплату (CreateInvoice), перевод средств (TransferMoney), оплату за счет предоставленного кредита (PayCampaigns);

Превышение указанных лимитов вызывает ошибку с кодом 56.

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

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

Внимание. В запрос необходимо включать параметры finance_token и operation_num. Подробнее см. Доступ к финансовым методам.
{
   "method": "PayCampaigns",
   "finance_token": (string),
   "operation_num": (int),
   "param": {
      /* PayCampaignsInfo */
      "Payments": [
         {  /* PayCampElement */
            "CampaignID": (int),
            "Sum": (float)
         }
         ...
      ],
      "ContractID": (string),
      "PayMethod": (string)
   }
}

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

Параметр Описание Требуется
Объект PayCampaignsInfo
Payments Массив объектов PayCampElement. Каждый объект указывает кампанию и сумму, оплачиваемую за счет кредита. Да
ContractID Номер договора, по которому предоставлен кредит. Да
PayMethod Способ погашения кредита. Влияет на формирование счета на оплату. В настоящее время параметр должен иметь значение «Bank», что означает банковский перевод. Да
Объект PayCampElement
CampaignID Идентификатор кампании. Да
Sum Сумма в условных единицах, оплачиваемая за счет кредита. Да

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

В случае успеха возвращается значение 1, как показано в следующем примере.

{
   "data": 1
}

При неверном запросе возможны ошибки с кодами 355, 356, 357.

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

Python

{
   'Payments': [
      {'CampaignID': 3193279, 'Sum': 1200.0},
      {'CampaignID': 3193478, 'Sum': 700.0}
   ],
   'ContractID': '23452345/67',
   'PayMethod': 'Bank'
}

PHP

array(
   'Payments' => array(
      array('CampaignID' => 3193279, 'Sum' => 1200.0)
      array('CampaignID' => 3193478, 'Sum' => 700.0)
   ),
   'ContractID' => '23452345/67',
   'PayMethod' => 'Bank'
)

Perl

{
   'Payments' => [
      {'CampaignID' => 3193279, 'Sum' => 1200.0}
      {'CampaignID' => 3193478, 'Sum' => 700.0}
   ],
   'ContractID' => '23452345/67',
   'PayMethod' => 'Bank'
}