[go: up one dir, main page]

Minimum Bid

πŸ“

A Few Things to Know

  1. A Onsite Sponsored Products line item holds promoted products to advertise on a single retailer.
  2. Line items have bid settings, start & end dates, and optional budgeting & pacing controls.
  3. Target & maximum bid settings must respect minimum bid (minBid), that can be set at product SKU level, to start delivering ads
  4. Products SKU IDs are available through Catalog endpoints

Endpoints

VerbEndpointDescription
POST/retailers/{retailerId}/cpc-min-bidsSearch for min bid CPC defined by collection of SKU IDs

Minimum Bid Attributes

Attribute

Data Type

Description

retailerId*

string

Retailer ID where the line item will serve ads on

Accepted values: int64
Writeable? N / Nullable? N

skuIds*

list<string>

List of SKU IDs in which the minimum bid is requested (usually, the SKUs promoted by the line item).
Values are available through Catalog endpoints

Accepted values: at least, an empty list []
Writeable? N / Nullable? N

skuId

string

SKU ID respective to the minBid in the response

Accepted values: SKU IDs from catalog
Writeable? N / Nullable? N

overallMinBid

decimal

Overall minimum bid resulted from the list of SKUs requested, that the line item should respect to, effectively, deliver ads

Acceptable values: at least 0.01
Writeable? N / Nullable? N

minBid

decimal

Minimum bid for the respective SKU

Acceptable values: at least 0.01
Writeable? N / Nullable? N

*Required


Retrieve Minimum Bid from SKU IDs

https://api.criteo.com/{version}/retail-media/retailers/{retailerId}/cpc-min-bids

Sample Request

curl -L -X POST "https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>" \
    -H "Content-Type: application/json" \
    -d '{
            "data": {
                "type": "<string>",
                "attributes": {
                    "skuIds": [
                        "a1b2c3",
                        "d4e5f6",
                        "g7h8i9"
                    ]
                }
            }
        }'
import requests
import json

url = "https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids"

payload = json.dumps({
    "data": {
        "type": "<string>",
        "attributes": {
            "skuIds": [
                "a1b2c3",
                "d4e5f6",
                "g7h8i9"
            ]
        }
    }
})
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <MY_ACCESS_TOKEN>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();

MediaType mediaType = MediaType.parse("application/json");

RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"type\":\"<string>\",\"attributes\":{\"skuIds\":[\"a1b2c3\",\"d4e5f6\",\"g7h8i9\"]}}}");

Request request = new Request.Builder()
  .url("https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer <MY_ACCESS_TOKEN>")
  .build();

Response response = client.newCall(request).execute();
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <MY_ACCESS_TOKEN>'
));
$request->setBody('{"data":{"type":"<string>","attributes":{"skuIds": ["a1b2c3","d4e5f6","g7h8i9"]}}}');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}

Sample Response

{
    "data": {
        "type": "CpcMinBidsResponse",
        "attributes": {
            "overallMinBid": 0.25,
            "skuMinBids": [
                {
                    "skuId": "a1b2c3",
                    "minBid": 0.20
                },
                {
                    "skuId": "d4e5f6",
                    "minBid": 0.15
                },
                {
                    "skuId": "g7h8i9",
                    "minBid": 0.25
                }
            ]
        }
    },
    "warnings": [],
    "errors": []
}

Responses

Response

Description

🟒 200

Call executed with success

πŸ”΄ 400

json-serialization-error
Required attribute missing or with unexpected format in request's body

πŸ”΄ 404

Not Found
Retailer ID informed in request's path was not found