UploadRawData

Synchronously uploads images as binary data.

Input data

The input data structure in JSON is shown below.

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

Parameters are described below.

ParameterDescriptionRequired
AdImageRequest object
ActionAction: UploadRawData.Yes
AdImageRawDataArray of AdImageRaw objects (no more than 10) containing the image to upload.Yes
AdImageRaw object
Login

Username of the client who owns the image.

For advertisers, this parameter is ignored.

For agencies
RawDataData in base64 encoding. The string can contain a maximum of 20,000,000 characters.Yes
NameCaption for the image.Yes

Output data

The output data structure in JSON is shown below.

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

Parameters are described below.

ParameterDescription
AdImageResponse object
ActionsResult

An array consisting of a single AdImageActionResult object, which contains the result of image uploading:

  • The AdImageHash, if uploading was successful.
  • The Errors array, if an error occurred.
AdImageActionResult object
AdImageHashHash of the image. This parameter is returned if the image was uploaded successfully.
ErrorsArray of Error objects with errors that occurred while uploading images.
Error object
FaultCodeError code.
FaultStringTextual message about the error.
FaultDetailDetailed description of the reason for the error.

Examples of input data

Python

{
   'Action': 'UploadRawData',
   'AdImageRawData': [
      {
         'Login': 'agrom',
         'RawData': 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA...',
         'Name': u'Elephants: new collection'
      }
   ]
}

PHP

array(
   'Action' => 'UploadRawData',
   'AdImageRawData' => array(
      array(
         'Login' => 'agrom',
         'RawData' => 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA...',
         'Name' => 'Elephants: new collection'
      )
   )
)

Perl

{
   'Action' => 'UploadRawData',
   'AdImageRawData' => [
      {
         'Login' => 'agrom',
         'RawData' => 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA...',
         'Name' => 'Elephants: new collection'
      }
   ]
}

Examples of base64 encoding

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);