> 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/pt-br/data-api/catalog-products-2/syncing-catalog-via-api.md).

# Sincronizando catálogo via API

Para sincronizar produtos, você precisa de um `catalogId` para o qual enviar dados. Na maioria das integrações, ele será criado em seu nome pelo seu Technical Account Manager. Assim que um catálogo for criado, seu Technical Account Manager precisará torná-lo visível em seu Epsilon Retail Media portal.

## Contexto de criação de catálogo

Abaixo está um exemplo de contexto para criar um catálogo:

```http
POST $BASE_URL/v1/catalogs HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogs": [
        {
            "name": "Retailer A"
        }
    ]
}
```

Se for bem-sucedido, o seguinte objeto será retornado:

```json
{
    "catalogs": [
        {
            "teamId": "9f48572c-0a5b-4997-9a0e-ed74f4d32dc6",
            "name": "Retailer A",
            "id": "216af452-d219-4807-b8ca-578bba446541"
        }
    ]
}
```

{% hint style="danger" %}
️

Assim que um objeto for retornado com sucesso, você receberá um `id` para o seu novo catálogo. Se você enviar a mesma solicitação novamente, receberá um novo `id`, criando dois catálogos.
{% endhint %}

{% hint style="info" %}
Você precisará deste `id` para a sincronização de produtos.
{% endhint %}

## Criação de vários catálogos

Se você estiver criando vários catálogos, poderá sequenciar até 100 por solicitação. Abaixo está um exemplo de contexto para criar dois catálogos:

```http
POST $BASE_URL/v1/catalogs HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "catalogs": [
        {
            "name": "Retailer A"
        },
        {
            "name": "Retailer B"
        }
    ]
}
```

Se for bem-sucedido, o seguinte objeto será retornado (cada catálogo terá seu próprio `id`):

```json
{
    "catalogs": [
        {
            "teamId": "9f48572c-0a5b-4997-9a0e-ed74f4d32dc6",
            "name": "Retailer A",
            "id": "216af452-d219-4807-b8ca-578bba446541"
        },
        {
            "teamId": "9f48572c-0a5b-4997-9a0e-ed74f4d32dc6",
            "name": "Retailer B",
            "id": "75047339-65f5-41b8-8f2c-e76b04716cd4"
        }
    ]
}
```

{% hint style="warning" %}
Um catálogo fica oculto por padrão depois de ser criado. Entre em contato com seu Technical Account Manager para tornar seu catálogo visível em seu namespace.
{% endhint %}


---

# 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/pt-br/data-api/catalog-products-2/syncing-catalog-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.
