> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Solicitud y respuesta a la subasta de marcas patrocinadas

export const LastUpdatedEs = ({date}) => {
  const label = "Última actualización:";
  return <>
      <style>{`
        .last-updated-component {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          padding: 10px 16px;
          border-radius: 8px;
          margin-top: 12px;
          margin-bottom: 16px;
          font-size: 14px;
          background-color: rgba(0, 0, 0, 0.05);
          border: 1px solid rgba(0, 0, 0, 0.12);
          color: rgba(0, 0, 0, 0.75);
          line-height: 1;
        }

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Las subastas de Sponsored Brands funcionan enviando solicitudes de subasta con ubicación.
  detalles y factores desencadenantes, para luego recibir respuestas estructuradas que contienen
  Campañas ganadoras con todos los recursos creativos y metadatos necesarios.
</div>

## Plantillas disponibles

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Las campañas de Sponsored Brands se crean utilizando una de las tres plantillas predefinidas:
</div>

* **Colección de productos**: Múltiples productos mostrados en una sola página de destino para una búsqueda de productos integral.
* **Producto destacado**: Un solo producto y una propuesta creativa
* **Tienda Destacada**: Dirige tráfico directamente a la página de la tienda del vendedor para dar a conocer la marca.

## Solicitud de subasta

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Las solicitudes de subasta para Marcas Patrocinadas siguen el formato de subasta estándar con
  Desencadenantes específicos para la segmentación:
</div>

```json theme={null}
{
  "auctions": [
    {
      "winners": 2,
      "placementId": "some-placement",
      "triggers": {
        "products": {
          "ids": ["pmk_1", "pmk_8"]
        },
        "category": {
          "id": "electronics"
        },
        "searchQuery": "cool electronics"
      },
      "geoTargeting": "santiago",
      "opaqueUserId": "user-123"
    }
  ]
}
```

### Parámetros de solicitud

* **Ganadores**: Número de campañas de marcas patrocinadas que regresarán
* **placementId**: Identificador del espacio publicitario de las marcas patrocinadas
* **Desencadenantes**: Criterios de segmentación utilizando uno de los siguientes:
* **products.ids**: Matriz de identificadores de productos específicos a segmentar
* **category.id**: Categoría de producto para una segmentación más amplia
* **searchQuery**: Términos de búsqueda para la segmentación basada en palabras clave
* **geoSegmentación**: Ubicación geográfica para campañas basadas en la ubicación.
* **opaqueUserId**: Identificador de usuario anónimo para personalización

## Respuesta a la subasta

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  La respuesta a la subasta devuelve las campañas ganadoras de marcas patrocinadas con información completa.
  activos creativos y metadatos:
</div>

```json theme={null}
{
  "results": [
    {
      "winners": [
        {
          "rank": 1,
          "resolvedBidId": "ChAGc-G66Wt7LKQEOcW8VBdIEhABjz_zDXx7db-ZYpxiwJ3DGhABjr4Lt_J0_a7Xv_uIfyOXIgUKATEQATDrrg8",
          "productId": "pmk_1",
          "type": "url",
          "id": "www.topsort.com",
          "vendorId": "vendor_id",
          "content": {
            "headline": "Campaign Headline",
            "logo": "https://some.url.com/logo.jpeg"
          },
          "campaignId": "018f3ff3-0d7c-7b75-bf99-629c62c09dc3",
          "productIds": ["pmk_1", "pmk_4", "pmk_8"]
        }
      ],
      "error": false
    }
  ]
}
```

### Campos de respuesta

#### Objeto ganador

* **clasificación**: Posición en el ranking de la campaña ganadora
* **resolvedBidId**: Identificador único para el seguimiento y la atribución de ofertas.
* **productId**: Identificador principal del producto para la campaña
* **tipo**: Tipo de campaña (siempre "producto" para marcas patrocinadas)
* **id**: Identificador de campaña
* **título**: Título de la campaña para fines de visualización
* **campaignId**: UUID de la campaña de marcas patrocinadas
* **productIds**: Matriz de todos los productos incluidos en la campaña (de 1 a 5 productos)

#### Matriz de activos

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Recursos creativos para la representación del anuncio de las marcas patrocinadas:
</div>

* **URL**: CDN URL para el recurso
* **rol**: Tipo de activo ("imagen" para banners creativos, "logotipo" para el logotipo de la marca)
* **contentType**: Tipo MIME del recurso
* **longitud del contenido**: Tamaño del archivo en bytes
* **ancho/alto**: Dimensiones del recurso en píxeles

#### Objeto de contenido

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Contenido de la campaña para renderizar:
</div>

* **Titular**: Texto del titular de la campaña
* **brandName**: Nombre de la marca o del proveedor
* **creative1**: Recurso creativo adicional URL (vídeos, imágenes secundarias)

## Notas de implementación

### Flexibilidad de renderizado

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Los recursos creativos, el titular y los ID de producto se devuelven por separado en el
  respuesta a la subasta, lo que le permite representar estos elementos según sus preferencias
  Requisitos de diseño frontend. El array de assets contiene todos los elementos creativos necesarios.
  Componentes con una clara identificación de funciones.
</div>

### Soporte para múltiples productos

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Las campañas de marcas patrocinadas pueden promocionar de 1 a 5 productos simultáneamente.
  El array `productIds` contiene todos los productos incluidos en la campaña, mientras que
  `productId` representa el producto principal a efectos de seguimiento.
</div>

### Integración de plantillas

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Si bien las campañas se crean utilizando plantillas disponibles (Colección de productos,
  La respuesta a la subasta proporciona todo lo necesario (Producto destacado, Tienda destacada),
  Los recursos y el contenido necesarios, independientemente de la plantilla utilizada, garantizan
  Integración coherente en todos los tipos de campañas.
</div>

### Especificaciones de contenido

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Todos los recursos creativos (imágenes y vídeos) subidos para Marcas Patrocinadas
  Las campañas deben cumplir estos requisitos:
</div>

* **Formatos compatibles**: JPEG, PNG, WEBP, GIF, MP4
* **Tamaño máximo de archivo**: 5 MB por creatividad/vídeo

***

<LastUpdatedEs date="2025-11-18" />
