Creative Asset Upload
-
Assets are media used in creatives, for example, the background image of a banner ad
-
Upload content for a new Retail Media asset using a form
Endpoints
Verb | Endpoint | Description |
---|---|---|
POST | /assets | Upload creative asset image file |
Creative Asset Attributes
Data Type: string
Value:
Description: Uploaded asset id
AssetFile Required
Data Type: file
Value:formatData
Description: The asset binary content
fileExtension
Data Type: string
Value:
jpg
,
png
,
gif
Description: File extension type
fileLocation
Data Type: string
Value: file path
Description: A url pointing towards the static file the asset represents. Uploaded asset is in a draft state available to internal audiences
Upload Image Asset
The endpoint will allow to upload image assets files

https://api.criteo.com/{version}/retail-media/assets
Sample Request
curl -L -X POST 'https://api.criteo.com/{version}/retail-media/assets' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-F 'AssetFile=@"/C:/Users/<user_profile>/<folder>/Interactive-Header-Background-Image.jpg"'
import requests
url = "https://api.criteo.com/{version}/retail-media/assets"
payload={}
files=[
('AssetFile',('Interactive-Header-Background-Image.jpg',open('/C:/Users/<user_profile>/<folder>/Interactive-Header-Background-Image.jpg','rb'),'image/jpeg'))
]
headers = {
'Accept': 'text/plain',
'Authorization': 'Bearer <MY_ACCESS_TOKEN>'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("multipart/form-data");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("AssetFile","/C:/Users/<user>/<path/<to>/<folder>/Interactive-Header-Background-Image.jpg",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("/C:/Users/<user>/<path/<to>/<folder>/Interactive-Header-Background-Image.jpg")))
.build();
Request request = new Request.Builder()
.url("https://api.criteo.com/{version}/retail-media/assets")
.method("POST", body)
.addHeader("Accept", "text/plain")
.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/assets');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Accept' => 'text/plain',
'Authorization' => 'Bearer <MY_ACCESS_TOKEN>'
));
$request->addUpload('AssetFile', '/C:/Users/<user>/<path/<to>/<folder>/Interactive-Header-Background-Image.jpg', '/C:/Users/j.carvalho/Downloads/Interactive-Header-Background-Image.jpg', '<Content-Type Header>');
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 1
{
"data": {
"attributes": {
"fileExtension": "jpg",
"fileLocation": "https://crtormassetmguseprod.blob.core.windows.net/creativeassets-live/c62129d534f3475ba91de6adb54d41faf2d12e4a6c2a17a57dc1efd056a23998.jpg"
},
"id": "c62129d534f3475ba91de6adb54d41faf2d12e4a6c2a17a57dc1efd056a23998",
"type": "RetailMediaAsset"
},
"warnings": [],
"errors": []
}
Sample Response 2
If the image was previously uploaded, a warning will be shown in the response
{
"data": {
"attributes": {
"fileExtension": "jpg",
"fileLocation": "https://crtormassetmguseprod.blob.core.windows.net/creativeassets-live/0fab8060578680dd895c51b5c2eb8331774fe168338fbb1e3ced85940b013314.jpg"
},
"id": "0fab8060578680dd895c51b5c2eb8331774fe168338fbb1e3ced85940b013314",
"type": "RetailMediaAsset"
},
"warnings": [
{
"traceIdentifier": "27b6f2813d90b048b4c6d70679ae48ae",
"type": "validation",
"code": "asset-already-exists",
"instance": "/api/{version}/external/assets",
"title": "Existing asset",
"detail": "Asset already uploaded with id 0fab8060578680dd895c51b5c2eb8331774fe168338fbb1e3ced85940b013314.jpg",
"source": null
}
],
"errors": []
}
Updated 4 months ago