Deposit

Пополняет общие счета из кредитного лимита рекламного агентства или из овердрафта рекламодателя.

Операция позволяет рекламным агентствам и прямым рекламодателям пополнять баланс с отсрочкой платежа (см. раздел Оплата за счет кредита и овердрафта).

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

Прямой рекламодатель может пополнить общий счет только при наличии хотя бы одной кампании, прошедшей модерацию.

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

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

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

Внимание. В запрос необходимо включать параметры finance_token и operation_num. Об особенностях формирования токена см. раздел Работа с общим счетом.
{
   "method": "AccountManagement",
   "finance_token": (string),
   "operation_num": (int),
   "param": {
      /* AccountManagementRequest */
      "Action": (string),
      "Payments": [
         {  /* Payment */
            "AccountID": (int),
            "Amount": (float),
            "Origin": (string),
            "Contract": (string),
            "Currency": (string)
         }
         ...
      ]
   }
}

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

Параметр Описание Требуется
Объект AccountManagementRequest
Action Выполняемая операция: Deposit. Да
Payments Массив объектов Payment (не более 50). Каждый объект содержит идентификатор общего счета и сумму оплаты. Да
Объект Payment
AccountID Идентификатор общего счета, который требуется пополнить. Да
Amount

Сумма пополнения в валюте, указанной в параметре Currency. Значение в реальной валюте следует указывать с учетом НДС клиента.

Указанная сумма округляется по математическим правилам с точностью до второго знака после запятой (для всех валют, в том числе тенге).

См. также подраздел Выставление счета, оплата из кредитного лимита или овердрафта: правила конвертации раздела Поддержка валют в API версии Live 4.

Да
Origin Метод пополнения: Overdraft — оплата за счет овердрафта. Для оплаты из овердрафта
Contract Номер договора, по которому предоставлен кредит. Для оплаты из кредитного лимита
Currency

Валюта, в которой указана сумма.

Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN. Значение должно совпадать с валютой клиента.

Если параметр отсутствует или равен NULL, подразумеваются условные единицы (у. е.). Если значение отлично от NULL и не совпадает с валютой клиента, возвращается ошибка с кодом 245.

Нет

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

Внимание. Ошибка при пополнении одного из счетов не влечет отмену всей операции и не влияет на успешность пополнения остальных счетов.

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

{
   "data": {
      /* AccountManagementResponse */
      "ActionsResult": [
         {  /* AccountActionResult */
            "AccountID": (int),
            "Errors": [
               {  /* Error */
                  "FaultCode": (int),
                  "FaultString": (string),
                  "FaultDetail": (string)
               }
               ...
            ]
         }
         ...
      ]
   }
}

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

Параметр Описание
Объект AccountManagementResponse
ActionsResult

Массив объектов AccountActionResult. Каждый объект соответствует элементу входного массива Payments и содержит:

  • в случае успешного пополнения общего счета — идентификатор общего счета;
  • в случае ошибки — массив Errors.

Элементы массива следуют в том же порядке, что и объекты входного массива Payments.

Объект AccountActionResult
AccountID Идентификатор общего счета.
Errors Массив объектов Error — ошибок, возникших при пополнении счета.
Объект Error
FaultCode Код ошибки.
FaultString Текст сообщения об ошибке.
FaultDetail Подробное описание причины ошибки.

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

Python

{
   'Action': 'Deposit',
   'Payments': [
      {
         'AccountID': 3193244,
         'Amount': 5000.0,
         'Origin': 'Overdraft',
         'Currency': 'RUB'
      },
      {
         'AccountID': 3193279,
         'Amount': 1200.0,
         'Contract': '23452345/67',
         'Currency': 'USD'
      }
   ]
}

PHP

array(
   'Action' => 'Deposit',
   'Payments' => array(
      array(
         'AccountID' => 3193244,
         'Amount' => 5000.0,
         'Origin' => 'Overdraft',
         'Currency' => 'RUB'
      ),
      array(
         'AccountID' => 3193279,
         'Amount' => 1200.0,
         'Contract' => '23452345/67',
         'Currency' => 'USD'
      )
   )
)

Perl

{
   'Action' => 'Deposit',
   'Payments' => [
      {
         'AccountID' => 3193244,
         'Amount' => 5000.0,
         'Contract' => 'Overdraft',
         'Currency' => 'RUB'
      },
      {
         'AccountID' => 3193279,
         'Amount' => 1200.0,
         'Contract' => '23452345/67',
         'Currency' => 'RUB'
      }
   ]
}