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

# Sincronizar el catálogo mediante API

Para sincronizar productos, necesitas un `catalogId` al que hacer push. En la mayoría de las integraciones, tu Technical Account Manager lo creará en tu nombre. Una vez creado el catálogo, tu Technical Account Manager debe hacer que sea visible dentro de tu portal de Epsilon Retail Media .

## Contexto de creación de catálogo

A continuación se muestra un contexto de ejemplo para crear un 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"
        }
    ]
}
```

Si tiene éxito, se devolverá el siguiente objeto:

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

{% hint style="danger" %}
️

Una vez que se devuelva un objeto con éxito, recibirás un `id` para tu nuevo catálogo. Si envías la misma solicitud de nuevo, recibirás un nuevo `id`, creando dos catálogos.
{% endhint %}

{% hint style="info" %}
Necesitarás este `id` para la sincronización de productos.
{% endhint %}

## Creación de múltiples catálogos

Si estás creando múltiples catálogos, puedes secuenciar hasta 100 por solicitud. A continuación se muestra un contexto de ejemplo para crear dos 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"
        }
    ]
}
```

Si tiene éxito, se devolverá el siguiente objeto (cada catálogo tendrá su propio `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" %}
Un catálogo está oculto de forma predeterminada una vez creado. Ponte en contacto con tu Technical Account Manager para que tu catálogo sea visible en tu espacio de nombres.
{% 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/es/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.
