CreateInvoice

Формирует счет на оплату одной или нескольких кампаний в формате HTML.

Внимание.

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

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

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

При вызове метода указывают одну или несколько кампаний и суммы к оплате, отражаемые в счете. Метод возвращает URL счета на оплату. Получить счет может пользователь, от лица которого вызван метод (пользователю необходимо авторизоваться в Яндексе).

Внимание.

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

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

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

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

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

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

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

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

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

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

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

Параметр Описание Требуется
Объект CreateInvoiceInfo
Payments Массив объектов PayCampElement. Каждый объект указывает кампанию и сумму, отражаемую в счете на оплату. Да
Объект PayCampElement
CampaignID Идентификатор кампании. Да
Sum Сумма в условных единицах, отражаемая в счете на оплату. Да

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

При успешном выполнении метод возвращает URL счета на оплату, как показано ниже. В противном случае возвращается сообщение об ошибке.

{
   "data": "https://passport.yandex.ru/passport?mode=subscribe&from=balance&retpath=http%3A%2F%2Fbalance.yandex.ru%2Fpaypreview.xml%3Frequest_id%3D14062489%26ref_service_id%3D7%26ui_type%3Dstd"
}

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

Python

{
   'Payments': [
      {'CampaignID': 3193279, 'Sum': 500.0}
      {'CampaignID': 3193244, 'Sum': 1200.0}
   ]
}

PHP

array(
   'Payments' => array(
      array('CampaignID' => 3193279,'Sum' => 500.0)
      array('CampaignID' => 3193244,'Sum' => 1200.0)
   )
)

Perl

{
   'Payments' => [
      {'CampaignID' => 3193279, 'Sum' => 500.0}
      {'CampaignID' => 3193279, 'Sum' => 1200.0}
   ]
}