GuidesAPI ReferenceChangelog
GuidesAPI ReferenceChangelogLog In
Guides

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

AttributeData TypeDescription
retailerId*stringRetailer ID where the line item will serve ads on

Accepted values: int64
Writeable? N / Nullable? N
skuIds*listList 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
skuIdstringSKU ID respective to the minBid in the response

Accepted values: sku ids from catalog
Writeable? N / Nullable? N
overallMinBiddecimalOverall 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
minBiddecimalMinimum bid for the respective SKU ID

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

* Required


Retrieve Minimum Bid from SKU IDs

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

Sample Request

curl -L -X POST "https://api.criteo.com/preview/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/preview/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/preview/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/preview/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

ResponseDescription
🟢 200Call executed with success
🔴 400json-serialization-error
Required attribute missing or with unexpected format in request's body
🔴 404Not Found
Retailer ID informed in request's path was not found