Passer au contenu principal

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.

Le SDK JavaScript de Topsort est la bibliothèque cliente officielle pour s’intégrer avec les API d’enchères et de suivi d’événements de Topsort. Construit en TypeScript, ce SDK simplifie l’intégration, permettant la création d’un flux de bout en bout en quelques minutes.

Installation

<script
  async
  type="module"
  src="https://unpkg.com/@topsort/sdk@latest/dist/index.mjs"
></script>
<script>
  window.TS = {
    token: "TSE_XXXXXXXXXXXX", // Remplacez par votre clé API Topsort
  };
</script>

Création d’une enchère

import { TopsortClient } from "https://unpkg.com/@topsort/sdk@latest/dist/index.mjs";

const topsortClient = new TopsortClient({ apiKey: window.TS.token });

const auctionDetails = {
  auctions: [
    {
      type: "listings",
      slots: 3,
      searchQuery: "hiver",
    },
    {
      type: "banners",
      slots: 1,
      device: "desktop",
      slotId: "slot123",
    },
  ],
};

topsortClient
  .createAuction(auctionDetails)
  .then((result) => console.log("Résultat de l'enchère", result))
  .catch((error) => console.error("Erreur d'enchère", error));

Signalement des événements

const winners = auctionResult.results.flatMap((result) => result.winners || []);

if (winners.length > 0) {
  const impressions = winners.map((winner) => ({
    resolvedBidId: winner.resolvedBidId,
    id: crypto.randomUUID(),
    occurredAt: new Date().toISOString(),
    opaqueUserId: crypto.randomUUID(),
    placement: { path: "/search/hiver" },
  }));

  topsortClient
    .reportEvent({ impressions })
    .then((result) => console.log("Résultat de l'événement", result))
    .catch((error) => console.error("Erreur d'événement", error));
}

Erreurs réessayables

La fonction reportEvent renvoie retry: true pour les erreurs 429 ou 5xx :
topsortClient.reportEvent(eventPayload).then((result) => {
  if (result.retry) {
    console.warn("Erreur transitoire. Réessayez l'appel.");
  }
});
Pour la documentation complète et des exemples de bout en bout, consultez le dépôt GitHub.