POST/{resource-id}

Добавляет новый объект в указанный ресурс.

Формат запроса

POST https://jsonapi.partner2.yandex.com/vX/{resource-id}

Параметр

Описание

resource-id

Идентификатор ресурса, в который необходимо добавить новый объект.

Формат тела запроса

JSON

{
  "data": 
    {
      "type": "{string}",
      "attributes": {
        "brands": [
          {
            "bid": "{string}",
            "blocked": {boolean},
            "cpm": {integer}
          },
          {
            ...
          }
        ],
        "client_id": {integer},
        "email": "{string}",
        "excluded_domains": ["{string}"],
        "excluded_phones": ["{string}"],
        "geo": [
          {
            "id": "{string}",
            "cpm": {integer}
          },
          {
            ...
          }
        ]
      }
    }
}           

При создании блоков через API необходимо явно указывать настройки медийного дизайна.

Пример:

 
"design_templates":[
  {
    "caption":"Media design",
    "type":"media",
    "design_settings":
    {
      "filterSizes":false,
      "horizontalAlign":true
    }
  }
],

Параметры тела запроса

  • data * Объект с параметрами.

    • type * Тип ресурса.

    • attributes * Параметры объекта.

      Ограничение.

      Допустимые значения зависят от ресурса, к которому относится объект, и перечислены в параметре editable_fields операции GET/{resource-id}/{object-id}. Ниже, для примера, приведена часть параметров.

      • brands Бренды, установленные на текущем объекте.

        • bid Минимальная ставка, необходимая для показа бренда (в рублях).

        • blocked Бренд заблокирован (true или false).

        • cpm Минимальный CPM, необходимый для показа в текущем регионе (в рублях).

      • client_id Идентификатор клиента.

      • email Электронная почта клиента.

      • excluded_domains Исключенные домены.

      • excluded_phones Исключенные телефоны.

      • geo Региональные таргетинги, установленные на текущем объекте.

        • id Идентификатор региона. Узнать регион можно с помощью операции GET/{resource-id}.

        • cpm Минимальный CPM, необходимый для показа в текущем регионе (в рублях).

* Обязательный параметр

Общая структура ответа приведена ниже. Порядок следования элементов не гарантируется. В структуре могут присутствовать служебные параметры, которые не описаны в таблице.

Формат ответа

JSON

{
  "data":
  {
      "relationships": {
        "{string}": {
          "links": {
            "related": "{string}",
            "self": "{string}"
          }
        },
        ...
      },
      "id": "{string}",
      "type": "{string}",
      "attributes": {
      },
      "links": {
        "self": "{string}"
      }
  },
  "links": {
    "first": "{string}",
    "next": "{string}",
    "prev": "{string}",
    "self": "{string}",
    "last": "{string}"
  }
}        

Параметры ответа

  • data Информация о созданном объекте.

    • relationships Связанные ресурсы и объекты.

      • links Ссылки на объекты, связанные с текущим объектом.

        • related Ссылка на список связанных объектов с параметрами.

        • self Ссылка на список связанных объектов.

    • id Идентификатор объекта.

    • attributes Массив параметров объекта. Список параметров зависит от типа ресурса. Ниже, для примера, приведена часть параметров.

      • actions Действия, допустимые для текущего объекта.

      • brands Бренды, установленные на текущем объекте.

        • bid Минимальная ставка, необходимая для показа бренда (в рублях).

        • blocked Бренд заблокирован (true или false).

      • client_id Идентификатор клиента.

      • editable_fields Параметры текущего объекта, которые можно редактировать.

      • email Электронная почта клиента.

      • excluded_domains Исключенные домены.

      • excluded_phones Исключенные телефоны.

      • geo Региональные таргетинги, установленные на текущем объекте.

        • id Идентификатор региона. Узнать регион можно с помощью операции GET/{resource-id}.

        • cpm Минимальный CPM, необходимый для показа в текущем регионе (в рублях).

      • lang Язык интерфейса.

      • lastname Фамилия клиента.

      • level Уровень вложенности.

      • login Логин пользователя.

      • midname Отчество пользователя.

      • multistate Текущий статус объекта.

      • multistate_name Текстовое описание статуса объекта.

      • name Имя объекта.

      • page_id Идентификатор площадки.

      • parent_id Идентификатор родительского объекта.

      • regularity Порядок сортировки в интерфейсе.

      • roles Роли пользователя.

      • status Статус объекта. Допустимые значения:

                   - sync — синхронизирован;

                   - pending — отправляется.

    • links Ссылки, связанные с объектом.

      • self Ссылка на текущий объект.

Пример для JSON

$PI_TOKEN должен содержать значение токена для API партнерского интерфейса. Например, значение может начинаться с «a7b8e0-». Также задайте свое значение для параметра page_id.

Запрос:

curl -v -H "Accept: application/vnd.api+json" \
-H "Content-Type: application/vnd.api+json" \
-H "Authorization: token $PI_TOKEN" \
-X POST \
--data \
  '{
    "data":
    {
      "type":"context_on_site_rtb",
      "attributes":
      {
        "caption":"API-created block",
        "page_id": "636326",
        "site_version": "mobile",
        
        "design_templates":[
          {
            "caption":"Media design",
            "type":"media",
            "design_settings":
            {
              "filterSizes":false,
              "horizontalAlign":true
            }
          },
          {
            "caption":"Standard design",
            "type":"tga",
            "filter_tags":["adaptive","vertical"],
            "is_custom_format_direct": false, 
            "design_settings":
            {
              "name":"adaptive0418",
              "limit":1
            }                    
          }
        ],
        "dsp_blocks":["300x300","300x500","300x600","336x280","100%x250"],
        "blind":0,
        "strategy":1
      }
    }
  }' \
'https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb' | json_pp

Ответ:

HTTP/1.1 201 Created
Content-Length: 683
Content-Type: application/vnd.api+json
Date: Fri, 13 Nov 2020 11:32:18 GMT
Location: https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-3
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff


{
   "data" : {
      "attributes" : {},
      "id" : "R-A-636326-4",
      "links" : {
         "self" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-4"
      },
      "relationships" : {
         "context_on_site_campaign" : {
            "links" : {
               "related" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-4/context_on_site_campaign",
               "self" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-4/relationships/context_on_site_campaign"
            }
         },
         "pages" : {
            "links" : {
               "related" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-4/pages",
               "self" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-4/relationships/pages"
            }
         }
      },
      "type" : "context_on_site_rtb"
   }
}