> ## 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.

# Requêtes et Réponses d'Enchères des Marques Sponsorisées

export const LastUpdatedFr = ({date}) => {
  const label = "Dernière mise à jour:";
  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" }}>
  Les enchères de Marques Sponsorisées fonctionnent en envoyant des requêtes d'enchères avec les
  détails de placement et les déclencheurs de ciblage, puis en recevant des réponses structurées contenant
  les campagnes gagnantes avec tous les éléments créatifs et métadonnées nécessaires.
</div>

## Modèles Disponibles

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Les campagnes de Marques Sponsorisées sont construites en utilisant l'un des trois modèles prédéfinis :
</div>

* **Collection de Produits** : Plusieurs produits affichés sur une page de destination pour une découverte complète des produits
* **Mise en Avant d'un Produit** : Un seul produit et un créatif
* **Vitrine de Boutique** : Dirige le trafic directement vers la page de la boutique d'un vendeur pour la notoriété de la marque

## Requête d'Enchère

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Les requêtes d'enchères pour les Marques Sponsorisées suivent le format d'enchère standard avec
  des déclencheurs spécifiques pour le ciblage et la prise en charge du filtrage basé sur la géolocalisation :
</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"
    }
  ]
}
```

### Paramètres de Requête

* **winners** : Nombre de campagnes de marques sponsorisées à retourner
* **placementId** : Identifiant pour l'emplacement de marques sponsorisées
* **triggers** : Critères de ciblage en utilisant l'un des suivants :
  * **products.ids** : Tableau d'identifiants de produits spécifiques à cibler
  * **category.id** : Catégorie de produit pour un ciblage plus large
  * **searchQuery** : Termes de recherche pour un ciblage basé sur les mots-clés
* **geoTargeting** : Identifiant de localisation géographique pour le filtrage de campagne basé sur la localisation
* **opaqueUserId** : Identifiant d'utilisateur anonyme pour la personnalisation et le ciblage amélioré

### Comportement du Filtrage par Géolocalisation

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Le système d'enchères filtre automatiquement les campagnes en fonction du ciblage par géolocalisation :
</div>

* **Correspondance de Localisation** : Les campagnes avec des paramètres de géolocalisation spécifiques ne participent que lorsque le champ `geoTargeting` correspond à leurs localisations configurées
* **Pas de Géolocalisation** : Les campagnes sans restrictions de géolocalisation participent à toutes les enchères quel que soit la valeur de `geoTargeting`
* **Localisations Multiples** : Les campagnes ciblant plusieurs localisations participent lorsque la requête correspond à l'une de leurs localisations configurées
* **Compatibilité Ascendante** : Les campagnes existantes sans géolocalisation continuent de fonctionner comme avant

## Réponse d'Enchère

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  La réponse d'enchère retourne les campagnes de marques sponsorisées gagnantes avec les
  éléments créatifs et métadonnées complets :
</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
    }
  ]
}
```

### Champs de Réponse

#### Objet Winner

* **rank** : Classement de position de la campagne gagnante
* **resolvedBidId** : Identifiant unique pour le suivi des enchères et l'attribution
* **productId** : Identifiant de produit principal pour la campagne
* **type** : Type de campagne (toujours "product" pour les marques sponsorisées)
* **id** : Identifiant de campagne
* **title** : Titre de campagne à des fins d'affichage
* **campaignId** : UUID de la campagne de marques sponsorisées
* **productIds** : Tableau de tous les produits inclus dans la campagne (1 à 5 produits)

#### Tableau Assets

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Éléments créatifs pour le rendu de la publicité de marques sponsorisées :
</div>

* **url** : URL CDN pour l'élément
* **role** : Type d'élément ("image" pour la bannière créative, "logo" pour le logo de marque)
* **contentType** : Type MIME de l'élément
* **contentLength** : Taille du fichier en octets
* **width/height** : Dimensions de l'élément en pixels

#### Objet Content

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Contenu de campagne pour le rendu :
</div>

* **headline** : Texte du titre de campagne
* **brandName** : Nom de marque ou de vendeur
* **creative1** : URL d'élément créatif supplémentaire (vidéos, images secondaires)

## Notes d'Implémentation

### Flexibilité de Rendu

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Les éléments créatifs, le titre et les productIds sont retournés séparément dans la
  réponse d'enchère, vous permettant de rendre ces éléments selon vos
  exigences de conception frontend. Le tableau des éléments contient tous les composants créatifs
  nécessaires avec une identification claire des rôles.
</div>

### Support Multi-Produits

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Les campagnes de marques sponsorisées peuvent promouvoir 1 à 5 produits simultanément. Le
  tableau `productIds` contient tous les produits inclus dans la campagne, tandis que
  `productId` représente le produit principal à des fins de suivi.
</div>

### Intégration de Modèles

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Bien que les campagnes soient construites en utilisant les modèles disponibles (Collection de Produits,
  Mise en Avant d'un Produit, Vitrine de Boutique), la réponse d'enchère fournit tous les
  éléments et contenus nécessaires quel que soit le modèle utilisé, assurant
  une intégration cohérente à travers tous les types de campagnes.
</div>

### Spécifications de Contenu

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  Tous les éléments créatifs (images et vidéos) téléchargés pour les campagnes de Marques Sponsorisées
  doivent respecter ces exigences :
</div>

* **Formats supportés** : JPEG, PNG, WEBP, GIF, MP4
* **Taille maximale du fichier** : 5 Mo par créatif/vidéo

***

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