> 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/feature-integrations/category-cross-sell/integration-requirements.md).

# Requisitos de integración

## Descripción general de alto nivel

Como parte de esta integración, deberás hacer lo siguiente

1. Implementar una solicitud de anuncio adicional para la ubicación de categoría de venta cruzada.
   1. Esto incluye el trabajo para posicionar y renderizar anuncios en tu sitio, así como informar de clics e impresiones
   2. Los pedidos deben proporcionarse a Epsilon Retail Media como parte de tu integración estándar
2. Si sincronizas IDs de categoría con Epsilon Retail Media, deberás utilizar la [filterMapping](/retail-media-interface/integration/es/citrus-filter-mapping-api/filtermapping.md) API para proporcionar valores legibles por humanos para la selección de categorías en la UI
   1. Esto solo se aplica si estás integrado con IDs de categoría en lugar de nombres. (como cuando solicitas anuncios, tus filtros son `category:123j-dsef-er` en lugar de `category:Milk`
3. (Aconsejado) - sincronizar mapeos de venta cruzada de categorías, para automatizar la aprobación y reducir la carga de gestión de campañas.

## Solicitud de anuncio e integración del sitio

### Solicitud de anuncio

Como la venta cruzada de categorías requiere una ubicación independiente, deberás integrar una solicitud de anuncio adicional por cada tipo de anuncio para el que estés integrando la venta cruzada de categorías.

El formato de tu solicitud debe coincidir con la solicitud de anuncio de categoría de venta cruzada como se indica a continuación

* [Anuncio de producto - solicitud de anuncios de venta cruzada de categoría](/retail-media-interface/integration/es/generating-ads/product-ads/requesting-product-ads-1.md#cross-sell-category-placements)
* [Anuncio de banner - solicitud de anuncios de venta cruzada de categoría](/retail-media-interface/integration/es/generating-ads/banner-ads-static/requesting-banner-ads.md#cross-sell-category-placements)
* Banner X - solicitar anuncios de venta cruzada de categorías

### Informar de impresiones y clics

Una vez que hayas integrado tu solicitud de anuncio, también deberás asegurarte de informar correctamente de los clics e impresiones para cada anuncio mostrado. Asegúrate de leer [Notificación de impresiones y clics](/retail-media-interface/integration/es/data-api/api-overview/reporting-impressions-clicks.md).

### Informar de pedidos

Por lo general, la mayoría de las integraciones informan de toda la información de los pedidos a Epsilon Retail Media según una integración estándar. Debes asegurarte de informar correctamente de todos los pedidos a Epsilon Retail Media según [Datos de pedidos](/retail-media-interface/integration/es/data-api/order-data-1.md).

## Mapeos de filtros

El endpoint de mapeo de filtros se puede utilizar para mapear tus IDs de categoría a valores legibles por humanos. Esto es necesario si sincronizas IDs de categoría, ya que la UI muestra los valores a tus usuarios.

{% hint style="info" %}
Si sincronizas categorías legibles por humanos en tu catálogo de productos con Epsilon Retail Media, este paso no será necesario.
{% endhint %}

Los usuarios no entenderán qué `category:12345-abcde` es. La API filterMapping se puede utilizar para mapear el valor al nombre de categoría relevante en tu sitio, como `category:Pantry`.

No existe un método basado en archivos para sincronizar esta información, debe hacerse a través de la [filterMapping](/retail-media-interface/integration/es/citrus-filter-mapping-api/filtermapping.md) API.

{% hint style="warning" %}
A medida que crees categorías adicionales en tu sitio, deberás asegurarte de que la API filterMapping se utilice para actualizar las categorías.
{% endhint %}

## Mapeos de venta cruzada de categorías (aconsejado)

Se aconseja encarecidamente, al integrar este tipo de ubicación, proporcionar un mapeo de qué categorías tienen permitido dirigirse entre sí. Esto puede agilizar tus operaciones después del trabajo de integración inicial. La experiencia del anunciante se agiliza para permitir solo categorías que ya tienen permitido ser seleccionadas.

Además, también es posible configurar la aprobación automática para campañas de categorías de venta cruzada, cuando se proporcionan mapeos de venta cruzada.

### Métodos de integración

* Puedes utilizar la [crossSellCategory](/retail-media-interface/integration/es/crosssellcategory-api/crosssellcategory.md) API para crear y gestionar mapeos según lo requieras.
* Alternativamente, puedes proporcionar un archivo TSV a un bucket de GCS alojado por Epsilon Retail Media con el formato que se indica a continuación.

#### Integración por API

Toda la información requerida se puede ver en la [crossSellCategory](/retail-media-interface/integration/es/crosssellcategory-api/crosssellcategory.md) referencia de la API.

#### Integración por archivo

Si se integra por archivo, Epsilon Retail Media requiere un archivo por catálogo, de qué categorías tienen permitido dirigirse entre sí.

Cada fila del archivo representa un único mapeo de una categoría, y la categoría a la que puede dirigirse. Cada mapeo es unidireccional (si sincronizas chocolate -> leche, los productos de chocolate pueden aparecer en la categoría leche. Si los productos de leche necesitan poder aparecer en chocolate, se requiere una fila adicional).

Necesitamos un feed de datos en formato TSV que se alinee con las siguientes especificaciones:

| nombre de columna   | Requerido | Tipo de datos | Descripción                                                                                                                                       | Ejemplo            |
| ------------------- | --------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
| `category`          | Requerido | Texto         | Este es un ID de categoría único que identifica la categoría del producto anunciado.                                                              | `category:cookies` |
| `cross_category_id` | Requerido | Texto         | Este es un ID de categoría único que identifica una categoría elegible en la que los productos de category\_id se pueden vender de forma cruzada. | `category:milk`    |

A continuación se presentan especificaciones de archivos adicionales:

* Solo se admiten archivos TSV
* El TSV debe estar en LF, no en CRLF
* El TSV debe estar codificado en UTF-8, cualquier tipo provocará que el feed falle
* Convención de nomenclatura requerida: `^cross_sell_category.*.tsv$`

Un fragmento de ejemplo se ve como el siguiente:

| categoría        | cross\_category\_id |
| ---------------- | ------------------- |
| category:cookies | category:milk       |
| category:cookies | category:chocolate  |
| category:milk    | category:cookies    |

Este fragmento anterior permite que la categoría **cookies** realice venta cruzada en las categorías **milk** y **chocolate**. La categoría **milk** puede realizar venta cruzada en la categoría **cookies**. La categoría **chocolate** puede ser el objetivo, pero no puede dirigirse a ninguna otra categoría.

{% hint style="danger" %}
️ Cada fila es una combinación de mapeo única

Debes sincronizar filas únicas para cada mapeo único de categorías de venta cruzada. Si intentas sincronizar múltiples cross\_category\_id en una sola fila, la ingesta del archivo fallará.
{% endhint %}

{% hint style="warning" %}
Orden de las columnas

Asegúrate de que tu archivo tenga la `category` columna como la primera columna. Si sincronizas `cross_category_id` como primera columna, la ingesta fallará.
{% endhint %}

## Proceso de activación de la función

Una vez que esté listo para comenzar a sincronizar su feed de términos de búsqueda sugeridos, Epsilon Retail Media le configurará un bucket de GCS para que deposite sus archivos.

Esta capacidad solo es compatible con buckets de GCS. No se admiten buckets externos como AWS/Azure/otros.

Su Technical Account Manager podrá guiarlo a través de la activación de esta función. Dado que Epsilon Retail Mediael equipo de operaciones de la plataforma de debe realizar una configuración, tenga en cuenta que hay un tiempo de demora adicional para la activación.


---

# 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/feature-integrations/category-cross-sell/integration-requirements.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.
