UploadRawData

Выполняет синхронную загрузку изображений в виде бинарных данных.

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

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

{
   "method": "AdImage",
   "param": {
      /* AdImageRequest */
      "Action": (string),
      "AdImageRawData": [
         {  /* AdImageRaw */
            "Login": (string),
            "RawData": (string),
            "Name": (string)
         }
         ...
      ]
   }
}

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

Параметр Описание Требуется
Объект AdImageRequest
Action Выполняемая операция: UploadRawData. Да
AdImageRawData Массив объектов AdImageRaw (не более 10), содержащих загружаемое изображение. Да
Объект AdImageRaw
Login

Логин клиента — владельца изображения.

Для рекламодателей параметр игнорируется.

Для агентств
RawData Данные, закодированные методом base64. Строка может содержать не более 20 000 000 символов. Да
Name Произвольное наименование изображения. Да

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

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

{
   "data": {
      /* AdImageResponse */
      "ActionsResult": [
         {  /* AdImageActionResult */
            "AdImageHash": (string),
            "Errors": [
               {  /* Error */
                  "FaultCode": (int),
                  "FaultString": (string),
                  "FaultDetail": (string)
               }
               ...
            ],
         }
         ...
      ]
   }
}

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

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

Массив, состоящий из единственного объекта AdImageActionResult, содержащего результат загрузки изображения:

  • в случае успешной загрузки — параметр AdImageHash;
  • в случае ошибки — массив Errors.
Объект AdImageActionResult
AdImageHash Хэш изображения. Параметр возвращается, если изображение успешно загружено.
Errors Массив объектов Error — ошибок, возникших при загрузке изображения.
Объект Error
FaultCode Код ошибки.
FaultString Текст сообщения об ошибке.
FaultDetail Подробное описание причины ошибки.

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

Python

{
   'Action': 'UploadRawData',
   'AdImageRawData': [
      {
         'Login': 'agrom',
         'RawData': 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA...',
         'Name': u'Слоны: новая коллекция'
      }
   ]
}

PHP

array(
   'Action' => 'UploadRawData',
   'AdImageRawData' => array(
      array(
         'Login' => 'agrom',
         'RawData' => 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA...',
         'Name' => 'Слоны: новая коллекция'
      )
   )
)

Perl

{
   'Action' => 'UploadRawData',
   'AdImageRawData' => [
      {
         'Login' => 'agrom',
         'RawData' => 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA...',
         'Name' => 'Слоны: новая коллекция'
      }
   ]
}

Примеры base64-кодирования

Python

import base64;
encoded_image = open("/path/to/image.jpg", "rb").read().encode("base64")

PHP

$encoded_image = base64_encode(file_get_contents("/path/to/image.jpg"));

Perl

use MIME::Base64;
open (IMAGE, "/path/to/image.jpg");
my $bin_image = do{ local $/ = undef; <IMAGE>; };
my $encoded_image = MIME::Base64::encode_base64($bin_image);