> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/it/data-api/catalog-products-2/syncing-products-via-api.md).

# Sincronizzazione dei prodotti tramite API

## Sincronizzazione standard dei prodotti

Una volta creato il catalogo, è possibile sincronizzare i prodotti al suo interno. L'esempio seguente illustra un contesto standard per sincronizzare i prodotti:

```http
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"
            ]
        }
    ]
}
```

In caso di esito positivo, verrà restituito il seguente oggetto:

```json
{
    "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
        }
    ]
}
```

In questo contesto, i valori vuoti o null per i gruppi e il profitto possono essere ignorati.

## Sincronizzazione delle informazioni sulla posizione

È inoltre possibile sincronizzare i filtri per le varie posizioni in cui i prodotti si trovano in negozio. Ciò è utile per l'ottimizzazione delle informazioni sui prodotti a livello di negozio/posizione.

```http
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"
            ]
        }
    ]
}
```

In caso di esito positivo, verrà restituito il seguente oggetto:

```json
{
    "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
        }
    ]
}
```

## Sincronizzazione delle informazioni HFSS

Nella sincronizzazione dei prodotti, dovrai inviare un filtro di `hfss:true` or `hfss:false`Questo consente a Epsilon Retail Media di filtrare la nostra interfaccia in modo appropriato.

```json
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"
            ]
        }
    ]
}
```

{% hint style="info" %}
Vuoi saperne di più su HFSS?

Consulta la pubblicazione del governo del Regno Unito qui: <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>
{% endhint %}

## Sincronizzazione di più prodotti

Se si sincronizzano più prodotti, è possibile sequenziarne fino a 100 per richiesta.

Di seguito viene illustrato un esempio di contesto per la sincronizzazione di due prodotti:

```http
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"
        }
    ]
}
```

In caso di esito positivo, verrà restituito il seguente oggetto:

```json
{
    "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"
            ]
        }
    ]
}
```

## Aggiornamento dell'inventario dei prodotti

Per aggiornare l'inventario di un prodotto, dovrai risincronizzare il prodotto con Epsilon Retail Media. Nella sincronizzazione, contrassegna l'inventario del prodotto su `0`. Di seguito è riportato un esempio:

```http
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"
            ]
        }
    ]
}
```

<br>

## Aggiornamento delle immagini dei prodotti

Epsilon memorizza in cache gli URL delle immagini per garantire prestazioni coerenti e ridurre le richieste al server delle immagini. Se si aggiorna un'immagine senza modificarne l'URL, è necessario attivare esplicitamente un aggiornamento in Epsilon. Per fare questo:

* Rimuovere l'image\_url esistente dal prodotto.
* Reinviare lo stesso image\_url una volta completato l'aggiornamento.

In alternativa, se il server delle immagini lo supporta, è possibile forzare un aggiornamento aggiungendo una stringa di query (ad esempio, una versione o un timestamp) all'URL esistente. Questo comporterà Epsilon per ricaricare l'immagine..

{% hint style="info" %}
Le immagini vengono utilizzate solo nell'interfaccia utente

Le immagini dei prodotti non vengono erogate nelle risposte pubblicitarie. Eventuali aggiornamenti delle immagini influiscono solo sull'aspetto del prodotto nell' Epsilon interfaccia utente mentre si verifica l'aggiornamento della cache.
{% endhint %}

## Recupero dei prodotti

Una volta presente un prodotto nel tuo catalogo, potresti voler recuperare le sue informazioni correnti in un secondo momento.

Per farlo, puoi inviare una richiesta HTTP **GET** con il modulo URL di **`v1/catalog-products/catalogId/<PRODUCT_CODE>`**. L'endpoint è in grado di accettare un codice prodotto per richiesta. Di seguito è riportata una richiesta di esempio:

```http
GET $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
```

Dovresti ricevere le informazioni correnti acquisite nel Epsilon Retail Media sistema per il codice prodotto. Di seguito è riportato un esempio

{% hint style="info" %}
L'invio di un aggiornamento del prodotto non è istantaneo nel Epsilon Retail Media sistema, potrebbe essere necessario un breve periodo di tempo affinché Epsilon Retail Media acquisisca completamente l'aggiornamento di un prodotto. Non preoccuparti se le informazioni di un prodotto non vengono aggiornate istantaneamente durante il recupero dei dettagli.
{% endhint %}

## Eliminazione dei prodotti

Per rimuovere un prodotto dal tuo catalogo, invia una richiesta HTTP DELETE utilizzando il seguente formato quando il prodotto non è più necessario.

### Parametri della richiesta

L'endpoint accetta un codice prodotto per richiesta, in genere il tuo ID GTIN.

```http
DELETE $BASE_URL/v1/catalog-products/<CATALOG_ID>/<PRODUCT_CODE> HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
```

### Eliminazione di prodotti con ID venditore

Se il prodotto include un ID venditore, specificalo come parametro di query durante l'eliminazione del prodotto:

```http
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>
```

### Tempo di elaborazione

L'eliminazione del prodotto può richiedere da 30 minuti a un'ora per essere elaborata.

{% hint style="info" %}
Importante

Se un prodotto è esaurito, imposta il suo inventario su 0 invece di eliminarlo. L'eliminazione di un prodotto rimuove la possibilità per gli inserzionisti di selezionarlo nella Epsilon Retail Media piattaforma, anche quando torna disponibile.
{% endhint %}

### Gestione degli errori

Se ricevi un errore "prodotto non trovato", è probabile che il prodotto non sia stato acquisito nel Epsilon Retail Media sistema.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/it/data-api/catalog-products-2/syncing-products-via-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
