Marketplace

Introduction

The Marketplace endpoints are used to update the product catalog with the latest status of a product. Products should be updated with the same information on the Product Detail Page found on the retailer's website.

Note: These APIs are going to be processed asynchronously, so success response indicates the request was accepted but not yet completed.

📘

You can also find the Marketplace endpoints in our API Reference here for updating the buy box winner and here for updating offers.


URLs


Endpoints

VerbEndpointDescription
POST/preview/retail-media/retailers/{retailer-id}/products/set-buy-box-winnersUpdate the buy box winner for one or more products
POST/preview/retail-media/retailers/{retailer-id}/offers/updateUpdate one or more offers by replacing each offer's price and availability with the given values

Marketplace Properties

AttributeData TypeDescription
retailer-id*StringThe ID of the retailer.
Writeable? Y / Nullable? N
offerId*StringIdentifies an existing offer.
Writeable? Y / Nullable? N
availability*StringAccepted values: outOfStock, preOrder, inStock, backOrder
Writeable? Y / Nullable? N
price*doubleProduct’s price at this store
Writeable? Y / Nullable? N

(*) Required

📘

Field Definitions

  • Writeable (Y/N): Indicates if the field can be modified in requests.
  • Nullable (Y/N): Indicates if the field can accept null/empty values.

Update BuyBoxWinner

The Buy Box Winner for multiple products can be updated for a retailer by making a POST call to the BuyBoxWinner endpoint. For each product specified, the designated offer becomes the new buy box winner, while the previous buy box winner for that product becomes a loser.

The request body should specify the Offer ID of the current buy box winner. We support a maximum of 5000 buy box winners to be updated simultaneously.

📘

Use case: Update the Buy Box Winner for one or more products by only sending the new winner

https://api.criteo.com/preview/retail-media/retailers/{retailer-id}/products/set-buy-box-winners

Sample request

{
  "data": {
    "type": "SetProductBuyBoxWinnersRequest",
    "attributes": {
      "productBuyBoxWinners": [
        {
          "offerId": "123"
        },
        {
          "offerId": "456"
        }
      ]
    }
  }
}

Sample response

{
  "warnings": [],
  "errors": []
}

Update Offers

Offers can be updated for multiple offers on a specific retailer by making a POST call to the Offer endpoint.

The request body should specify the Offer ID, availability, and price of the offer. We support a maximum of 5000 offers to be updated simultaneously.

📘

Use case: Update the price and availability for an offer

https://api.criteo.com/preview/retail-media/retailers/{retailer-id}/offers/update

Sample request

{
  "data": {
    "type": "UpdateOffersRequest",
    "attributes": {
      "offerUpdates": [
        {
          "offerId": "123",
          "price": 100.00,
          "availability": "preOrder"
        },
        {
          "offerId": "456",
          "price": 200.00,
          "availability": "preOrder"
        }
      ]
    }
  }
}

Sample response

{
  "warnings": [],
  "errors": []
}

Validation errors

invalid-retailer-id
The request contains an invalid Retailer ID

duplicate-offer-id
An duplicate Offer ID has been found in the request.

REQUIRED_FIELD
The required field is missing.