Placement API
The Placement API provides endpoints to retrieve information about available placements within the Particular Audience Retail Media platform for any given retailer. Placements represent advertising inventory and/or locations where advertisements can be displayed.
API Endpoint
Method: GET
URL: https://<PA_RM_END_POINT>/retail-media/retailer/{retailerId}/placements
Request Header
Name | Value |
---|---|
Content-Type | application/json |
Authorization | Bearer ACCESS_TOKEN |
info
Please refer to the Authentication API documentation for bearer token.
Path Parameters
Parameter | Type | Description |
---|---|---|
retailerId | string | Get the retailer ID from the retailer API |
info
Please refer to the Retailer API for retailer.
Response Payload
Success Response
- Status Code:
200 OK
- Payload: Returns list of available placements for a retailer in JSON format
{
"data": [
{
"adSetType": "Sponsored Product",
"availabeSlots": [2, 0, 1, 3, 7, 6, 4, 5],
"cost": 0.5,
"costType": "Cost per mille",
"id": "00000000-0000-0000-0000-000000000000",
"name": "placement name",
"route": "Home Page",
"status": "Active",
"strategy": "Relevance",
"widget": "Popular Items"
},
{
"adSetType": "Sponsored Display",
"availabeSlots": [1],
"cost": 0.5,
"costType": "Cost per click",
"dimension": "360x600",
"displayDimensionType": "IAB Standerd",
"endDate": "2025-02-21",
"id": "00000000-0000-0000-0000-000000000000",
"isKeywordTargetingEnabled": false,
"name": "Hero Banner",
"route": "Home Page",
"specialRates": [
{
"endDate": "2025-02-21",
"id": "00000000-0000-0000-0000-000000000000",
"specialCost": 2.00,
"startDate": "2025-02-20",
"title": "special rate title"
}
],
"startDate": "2025-02-20",
"status": "Active",
"strategy": "Fixed",
"widget": "Banner"
}
],
"message": "Data retrieved successfully",
"status": "Success"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
id | GUID | System generated unique identifier for the retailer |
name | string | Name of the retailer. |
widget | string | Name of the widget where the placement is located. |
route | string | Name of the route where the placement is located. |
strategy | string | Advertising strategy used for the placement. |
adSetType | string | Type of ad set associated with the placement. |
costType | string | Type of cost associated with the placement. |
availabeSlots | Array | List of available slots for the placement. |
cost | float | Cost associated with the placement. |
status | string | Status of the placement. |
startDate | string | Start date for the placement. Only available for Fixed strategy. |
endDate | string | End date for the placement. Only available for Fixed strategy. |
specialRates | Array | List of special rates for the placement. Only available for Fixed strategy. |
dimension | string | Dimension of the placement. Available for Sponsored Display AdSet type. |
displayDimensionType | string | Type of dimension used for the placement. Available for Sponsored Display AdSet type. |
isKeywordTargetingEnabled | boolean | Indicates if keyword targeting is enabled for the placement. Available for Sponsored Display AdSet type. |
Error Response
If an error occurs, the API will return an appropriate status code along with an error message.
- Sample Error Response:
{
"status": "Error"
"errorCode": 401,
"errors": ["error message 1", "error message 2"],
"message": "Details error message",
"metadata": {
"requestId": "3d65d860-5acd-4663-b14d-c0bb55317660",
"timeStamp": "2025-04-28T00:00:00.000Z"
},
}
Example Usage (JavaScript)
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "BEARER YOUR_ACCESS_TOKEN");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect:'follow'
};
fetch("https://<PA_RM_END_POINT>/retail-media/retailer/{retailerId}/placements", requestOptions)
.then(response => response.json())
.then(result=> {
console.log(result);
})
.catch(error => console.log('error', error));