Below, you will find the key concepts of the Criteo Reseller Program REST API which allow you to manage campaigns bids and budgets at the sellers level.
We use JWT to provide token-based authentication system to our REST API. In order to issue calls to our API, you will need to pass a token on to any of these calls.
To get your token, you will need to issue a POST call to the /oauth2/token endpoint, with client_id and client secret as parameters (see Getting Started section).
Retrieve your AdvertiserID by issuing a GET call to the /portfolio/ endpoint.
Retrieve your CampaignID by issuing a GET call to the /sellers/endpoint.
To onboard a new seller, you will need to make sure he is properly flagged in the product catalog you've previously shared with Criteo.
To make sure your seller is properly flagged, you will need to set the seller name column to the seller unique identifier, which is the seller name for each of your seller’s products provided in the catalog.
After the steps above, you will be able to send us your sellers’ budget and bids thanks to the sellers' endpoints described previously, especially:
If you want to remove a seller from the Criteo Reseller Program, you just need to stop this seller inside the campaign (see the section “How do I stop a seller”).
Alternatively, you can also remove the products of the seller from your product catalog. However, this will only take effect once Criteo completes catalog & category ingestion. Furthermore adding it back will also take more time since it will also require a new catalog & category ingestion. Finally, once the seller is removed from the catalog, statistics for this seller won’t be available anymore.
To start a Criteo Reseller Program campaign, you must provide us with a dedicated product catalog containing products from all sellers on-boarded in the program. Note that each of these products should have the seller’s unique identifier in the seller field.
Your campaign will be automatically created from the moment your catalog is ingested.
To go live, your campaign needs at least one seller with budget and bid already set. You can send them through PUT /v1/sellers/bids and POST /v1/sellers /budgets endpoints.
To stop one or more sellers inside your campaign, you must set their budgets as “Inactive”. Once this is done, the system will stop showing ads for these seller’s products.
To set a budget as “Inactive” you must issue a PUT call to the /sellers/budgets endpoint as described below:
There is nothing to do on your side. We anticipate the budget depletion of all sellers and stop their campaigns whenever they are running out of budget.
To set budget and CPC for a specific seller, you need to use the following endpoints:
To increase a budget and CPC for a specific seller, you must issue a PUT call to the /v1/sellers/budgets and /v1/sellers/bids endpoints.
In case your seller wants to decrease its CPC, you must issue a POST call to the /v1/sellers/bids endpoint.
If your seller wants to decrease its budget, you will need to set the current status to Inactive - this will stop the displays on the current budget on the day (D) you perform the action. After this, you can create a new budget with the decreased value (see “How to create a new Budget section”) This will start(D+1), UTC time
Example:
Day 0, seller A has initially set a budget amount of $1000 on its Criteo Reseller Program campaign.
Day 2, seller A still has $800 of budget BUT decides to reduce its available budget to $500.
Then you must issue the following calls:
You can create a new budget if one of two cases :
To create a new Budget for a seller, you will need to issue
The new Budget will take effect either :
First, you will need your seller to provide you with the updated budget.
Then, there are three main scenarios that lead to different actions:
First, you will need your seller to provide you with the updated CPC. You should then issue a PUT call to the sellers/bids/ endpoint to set the updated bid.
As our API essentially relies on sellerName to manage bids and budgets, any change in seller name will automatically create a new entry in our system, not linked to the previous seller name.
In a nutshell, if a seller changes its name on your platform, you will need to:
To get a view of the spent budget for a dedicated seller on a Criteo Reseller Program campaign, issue a GET call to the /v1/sellers endpoint. The information will be available as spentAmount.
To get a view of the spent budget for a dedicated seller on a Criteo Reseller Program campaign, issue a GET call to the /v1/sellers endpoint. The information will be available as remainingAmount.
You can issue a POST call to the /v1/sellers/stats endpoint. It is only possible to access impressions, clicks and cost at the seller level, available up to a daily granularity.
A maximum of 3 dimensions can be used and must contain the seller dimension.
Available dimensions:
Available metrics: