Examples of scenarios
Adding a site
To add an ad platform, use the POST/{resource-id} operation.
Request:
curl -v -H "Accept: application/vnd.api+json" \ -H "Content-Type: application/vnd.api+json" \ -H "Authorization: token ac3b42lp-89ls-..." \ -X POST --data \ '{ "data": { "type":"context_on_site_campaign", "attributes": { "domain_id":115505, "caption":"Test" } } }' \ 'https://jsonapi.partner2.yandex.com/v1/context_on_site_campaign' | json_pp
Response:
HTTP/1.1 201 Created Content-Length: 2014 Content-Type: application/vnd.api+json Date: Fri, 13 Nov 2020 11:14:52 GMT Location: https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422 Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff { "data" : { "attributes" : {}, "id" : "672422", "links" : { "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422" }, "relationships" : { "blocks" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/blocks", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/blocks" } }, "context_on_site_adblock" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/context_on_site_adblock", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/context_on_site_adblock" } }, "context_on_site_content" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/context_on_site_content", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/context_on_site_content" } }, "context_on_site_direct" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/context_on_site_direct", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/context_on_site_direct" } }, "context_on_site_natural" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/context_on_site_natural", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/context_on_site_natural" } }, "context_on_site_rtb" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/context_on_site_rtb", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/context_on_site_rtb" } }, "context_on_site_stripe" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/context_on_site_stripe", "self" : "https://jsonapi.partner2.yandex.com:443/v1/context_on_site_campaign/672422/relationships/context_on_site_stripe" } } }, "type" : "context_on_site_campaign" } }
Adding a domain
To add a domain, use the POST/{resource-id} operation.
Request:
curl -v -H "Accept: application/vnd.api+json" \ -H "Content-Type: application/vnd.api+json" \ -H "Authorization: token ac3b42lp-89ls-..." \ -X POST \ --data \ '{ "data": { "type":"site", "attributes": { "domain":"mysite.com" } } }' \ 'https://jsonapi.partner2.yandex.com/v1/site' | json_pp
Response:
HTTP/1.1 201 Created Content-Length: 147 Content-Type: application/vnd.api+json Date: Fri, 13 Nov 2020 11:26:47 GMT Location: https://jsonapi.partner2.yandex.com/v1/site/184480 Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff { "data" : { "attributes" : {}, "id" : "184480", "links" : { "self" : "https://jsonapi.partner2.yandex.com/v1/site/184480" }, "relationships" : {}, "type" : "site" } }
Adding an RTB unit with a strategy
To add an RTB unit with the «Maximum revenue» strategy, use the POST/{resource-id} operation.
$PI_TOKEN
must contain the token value for the partner interface API. For example, the value can start with "a7b8e0-". Make sure also to set your value for page_id
.
Request:
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", "block_type": "banner", "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
Response:
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" } }
Set a CPM floor at the ad unit level:
"attributes": { "strategy":"0", "mincpm":"123" }
Editing RTB unit parameters
To edit the RTB unit name, use the PATCH/{resource-id}/{object-id} operation.
Request:
curl -v -H "Accept: application/vnd.api+json" \ -H "Content-Type: application/vnd.api+json" \ -H "Authorization: token ac3b42lp-89ls-..." \ -X PATCH \ --data \ '{ "data": { "type":"context_on_site_rtb", "id":"R-A-636326-1", "attributes": { "caption":"MyBlock" } } }' \ 'https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-1' | json_pp
Response:
HTTP/1.1 200 OK Content-Length: 732 Content-Type: application/vnd.api+json Date: Fri, 13 Nov 2020 11:40:50 GMT Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff { "data" : { "attributes" : { "caption" : "MyBlock" }, "id" : "R-A-636326-1", "relationships" : { "context_on_site_campaign" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-1/context_on_site_campaign", "self" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-1/relationships/context_on_site_campaign" } }, "pages" : { "links" : { "related" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-1/pages", "self" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-1/relationships/pages" } } }, "type" : "context_on_site_rtb" }, "links" : { "self" : "https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb/R-A-636326-1" }, "meta" : { "fields" : [ "caption" ] } }
Creating a universal banner
Request:
curl 'https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb' \ -X 'POST' \ -H 'Content-Type: application/vnd.api+json' \ -H 'Accept: application/vnd.api+json' \ -H "Authorization: $PI_TOKEN" \ -d '{ "data" : { "attributes" : { "block_type" : "banner", "formats_setup_mode" : "standard", "strategy" : 1, "caption" : "Unit", "page_id" : 12345, "tech_type" : "none" }, "type" : "context_on_site_rtb" } }'
Creating a Turbo banner
Request:
curl 'https://jsonapi.partner2.yandex.com/v1/context_on_site_rtb' \ -X 'POST' \ -H 'Content-Type: application/vnd.api+json' \ -H 'Accept: application/vnd.api+json' \ -H "Authorization: $PI_TOKEN" \ -d '{ "data" : { "attributes" : { "block_type" : "banner", "formats_setup_mode" : "standard", "strategy" : 1, "caption" : "Unit", "page_id" : 12345, "tech_type" : "turbo" }, "type" : "context_on_site_rtb" } }'
Ad unit settings
Rendering parameters can be configured at the ad unit level.
Setting up a dark theme:
"attributes":{ "pcode_settings":{ "themeIndicator":"dark", "bgColorLight":"A387FF", "bgColorDark":"FF6279" } }
Blocking an ad format
To block an ad format, remove it from design_templates
.
Brands and categories can be blocked at the site level.
Block video ads:
"attributes" : { "formats_setup_mode" : "manual", "design_templates" : [ { ..., "caption" : "Media design", "type" : "media", ..., }, { ..., "caption" : "TGA design", "type" : "tga", ..., } ] },
Block display ads:
"attributes" : { "formats_setup_mode" : "manual", "design_templates" : [ { ..., "caption" : "Video design", "type" : "video", ..., }, { ..., "caption" : "TGA design", "type" : "tga", ..., } ] },
Blocking brands and categories
Block brands at the site level
curl 'https://jsonapi.partner2.yandex.com/v1/context_on_site_campaign/12345' \ -X PATCH \ -H 'Accept: application/vnd.api+json' \ -H 'content-type: application/vnd.api+json' \ -H "Authorization: $TOKEN" \ -d '{ "data":{ "attributes":{ "brands":[{"bid":"189","blocked":true}] }, "type":"context_on_site_campaign", "id":"12345" } }'
Block categories at the site level
curl 'https://jsonapi.partner2.yandex.com/v1/context_on_site_campaign/12345' \ -X PATCH \ -H 'Accept: application/vnd.api+json' \ -H 'content-type: application/vnd.api+json' \ -H "Authorization: $TOKEN" \ -d '{ "data":{ "attributes":{ "picategories":[{"id":"2","cpm":9999}] }, "type":"context_on_site_campaign", "id":"12345" } }'