Synchronisation des produits standard
Une fois votre catalogue créé, vous pouvez y synchroniser des produits. L'exemple ci-dessous présente un contexte standard de synchronisation de produits :
POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"catalogProducts": [
{
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 50,
"price": "19.99",
"tags": [
"imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty","category:Grocery","Brand:Covergirl","Special_Flag:0"
]
}
]
}
En cas de succès, l'objet suivant sera renvoyé :
{
"catalogProducts": [
{
"teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 50,
"price": 19.99,
"tags": [
"imageurl:https://your.image.host.com/image.jpg",
"name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty",
"category:Grocery",
"Brand:Covergirl",
"Special_Flag:0"
],
"groups": [],
"profit": null
}
]
}
Dans ce contexte, les valeurs vides ou nulles pour les groupes et le profit peuvent être ignorées.
Synchronisation des informations d'emplacement
Vous pouvez également synchroniser les filtres pour différents emplacements auxquels vos produits sont en stock. Cela permet d'optimiser vos informations produit au niveau d'un magasin ou d'un emplacement.
POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"catalogProducts": [
{
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 50,
"price": "19.99",
"tags": [
"imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty","category:Grocery","Brand:Covergirl","Special_Flag:0","location:123","location:ABC"
]
}
]
}
En cas de succès, l'objet suivant sera renvoyé :
{
"catalogProducts": [
{
"teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 50,
"price": 19.99,
"tags": [
"imageurl:https://your.image.host.com/image.jpg",
"name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty",
"category:Grocery",
"Brand:Covergirl",
"Special_Flag:0",
"location:123",
"location:ABC"
],
"groups": [],
"profit": null
}
]
}
Synchronisation des informations HFSS
Dans le cadre de la synchronisation de vos produits, vous devez envoyer un filtre de hfss:true
ou hfss:false
. Cela permet à Epsilon Retail Media de filtrer notre interface de manière appropriée.
POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"catalogProducts": [
{
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 50,
"price": "19.99",
"tags": [
"imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"hfss:true","category:Health&Beauty","category:Grocery","Brand:Covergirl","Special_Flag:0","location:123","location:ABC"
]
}
]
}
Besoin d'en savoir plus sur HFSS ?
Consultez la publication du gouvernement britannique à ce sujet (en anglais) : https://www.gov.uk/government/publications/restricting-promotions-of-products-high-in-fat-sugar-or-salt-by-location-and-by-volume-price/restricting-promotions-of-products-high-in-fat-sugar-or-salt-by-location-and-by-volume-price-implementation-guidance
Synchronisation de plusieurs produits
Si vous synchronisez plusieurs produits, vous pouvez en ordonner jusqu'à 100 par requête.
Voici un exemple de contexte de synchronisation pour deux produits :
POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"catalogProducts": [
{
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 50,
"price": "19.99",
"tags": [
"imageurl:https://your.image.host.com/image.jpg",
"name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty",
"category:Grocery",
"Brand:Covergirl",
"Special_Flag:0"
],
"profit": "1.50"
},
{
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965738",
"inventory": 26,
"price": "8.50",
"tags": [
"imageurl:https://your.image.host.com/image.jpg",
"name:Kelloggs Froot Loops Breakfast Cereal 500g"
],
"filters": [
"Brand:Kelloggs",
"category:Pantry",
"category:BreakfastFoods",
"category:Cereals",
"Special_Flag:0"
],
"profit": "0.50"
}
]
}
En cas de succès, l'objet suivant sera renvoyé :
{
"catalogProducts": [
{
"gtin": "23556578965543",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"price": 19.99,
"teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
"groups": [],
"tags": [
"imageurl:https://your.image.host.com/image.jpg",
"name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty",
"category:Grocery",
"Brand:Covergirl",
"Special_Flag:0"
],
"inventory": 50,
"profit": 1.50,
"tags": [
"Natural",
"Lasting",
"Dry Skin",
"Beige"
]
},
{
"gtin": "23556578965736688",
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"price": 8.50,
"teamId": "e8158f9b-bbb9-49fb-93fe-3ad481ca8450",
"groups": [],
"tags": [
"imageurl:https://your.image.host.com/image.jpg",
"name:Kelloggs Froot Loops Breakfast Cereal 500g"
],
"filters": [
"Brand:Kelloggs",
"category:Pantry",
"category:BreakfastFoods",
"category:Cereals",
"Special_Flag:0"
],
"inventory": 26,
"profit": 0.50,
"tags": [
"Pantry",
"BreakfastFoods",
"Cereals",
"Kelloggs"
]
}
]
}
Mise à jour du stock d'un produit
Pour mettre à jour le stock d'un produit, vous devez resynchroniser le produit avec Epsilon Retail Media. Durant votre synchronisation, mettez le stock du produit à 0
. Voici un exemple :
POST $BASE_URL/v1/catalog-products?teamId=<YOUR_TEAM_ID> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
"catalogProducts": [
{
"catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
"gtin": "23556578965543",
"inventory": 0,
"price": "19.99",
"tags": [
"imageurl:https://your.image.host.com/image.jpg","name:Covergirl Clean 120 Creamy Natural Liquid Foundation30mL"
],
"filters": [
"category:Health&Beauty","category:Grocery","Brand:Covergirl","Special_Flag:0"
]
}
]
}
Récupération des informations de produits
Une fois qu'un produit est inscrit dans votre catalogue, vous souhaiterez peut-être en récupérer les informations actuelles par la suite.
Pour ce faire, vous pouvez effectuer une requête HTTP GET en utilisant le format d'URL suivant : v1/catalog-products/catalogId/<PRODUCT_CODE>
. Le point de terminaison accepte un seul code produit par requête. Un modèle de requête est présenté ci-dessous :
GET $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
Vous devriez recevoir les informations actuelles ingérées dans le système Epsilon Retail Media pour le code produit. Voici un exemple :
L'envoi d'une mise à jour de produit n'est pas instantané dans le système Epsilon Retail Media. L'ingestion complète d'une mise à jour de produit peut prendre un peu de temps. Ne vous inquiétez pas si les informations d'un produit ne sont pas instantanément mises à jour lorsque vous essayez de les récupérer.
Suppression de produits
Pour supprimer un produit de votre catalogue, envoyez une requête HTTP DELETE en utilisant le format suivant lorsque le produit n’est plus nécessaire.
Paramètres de la requête
Le point de terminaison accepte un code produit par requête. Il s’agit généralement de votre identifiant GTIN.
DELETE $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
Supprimer des produits dotés d’un identifiant de vendeur
Si le produit comporte un identifiant de vendeur, indiquez-le comme paramètre de requête lors de la suppression du produit :
DELETE $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE>?sellerId=abc123> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
Temps de traitement
Cette opération peut prendre entre 30 minutes et une heure.
Important
Si un produit est en rupture de stock, définissez son stock à zéro au lieu de le supprimer. La suppression d'un produit empêche les annonceurs de le sélectionner dans la plateforme Epsilon Retail Media, même lorsqu'il est de nouveau en stock.
Gestion des erreurs
Si vous recevez une erreur « Aucun produit trouvé », cela signifie probablement que le produit n’a pas été ingéré dans le système Epsilon Retail Media.