Passer au contenu principal
Cet exemple démontre un flux complet utilisant les API de Topsort pour une campagne de produits sponsorisés avec ciblage de catégorie. Remplacez les clés API et les ID par vos identifiants et valeurs réels. Étapes :
1

Synchroniser le catalogue

Synchronisez votre catalogue de produits avec Topsort
2

Créer une campagne

Configurez une campagne de produits sponsorisés
3

Envoyer des requêtes d'enchères

Demandez les gagnants d’enchères
4

Suivre les événements

Signalez les impressions, les clics et les achats
5

Obtenir le rapport

Récupérez les données de performance de la campagne
  • Pour gérer les produits, les campagnes et les rapports, utilisez une clé API Advanced (TSC_…). - Pour les enchères et les événements, utilisez une clé API Marketplace (TSE_…).

1. Synchroniser le catalogue

Un exemple de produit example-product-coca-cola, de la catégorie soft-drinks est utilisé dans cet exemple. N’oubliez pas d’utiliser votre clé API Advanced.
const apikey = "TSC_...";

const body = {
  products: [
    {
      active: true,
      categories: ["soft-drinks"],
      id: "example-product-coca-cola",
      imageURL:
        "https://intl.cokestore.com/media/catalog/product/1/6/16181_squeeze-ko-can-maria-2.png",
      name: "Canette de Coca Cola",
      price: "9.99",
      vendors: ["coca-cola"],
    },
  ],
};

try {
  const response = await fetch(
    "https://api.topsort.com/public/v1/catalog-search-service/catalogs/products",
    {
      method: "PUT",
      mode: "cors",
      headers: {
        Authorization: `Bearer ${apikey}`,
        "Content-Type": "application/json; charset=utf-8",
      },
      body: JSON.stringify(body),
    }
  );
  if (!response.ok) {
    console.error("statut inattendu: " + response.status);
  } else {
    console.log("statut de succès: " + response.status);
  }
} catch (error) {
  console.error(error);
}

2. Créer une campagne

Dans cet exemple, une campagne est créée pour promouvoir le produit example-product-coca-cola, avec un déclencheur par mot-clé (soft drink). N’oubliez pas d’utiliser votre clé API Advanced.
const apikey = "TSC_...";

const body = {
  bids: [
    {
      target: {
        type: "product",
        id: "example-product-coca-cola",
      },
      triggers: [
        {
          type: "keyword",
          value: {
            matchType: "exact",
            words: ["soft drink"],
          },
        },
      ],
    },
  ],
  budget: {
    type: "daily",
    amount: 10000,
  },
  campaignType: "autobidding",
  isActive: true,
  status: "approved",
  adFormat: "listing",
  name: "Une campagne d'exemple",
};

try {
  const response = await fetch(
    "https://api.topsort.com/public/v1/campaign-service/campaigns?vendor_id=demo-vendor",
    {
      method: "POST",
      mode: "cors",
      headers: {
        Authorization: `Bearer ${apikey}`,
        "Content-Type": "application/json; charset=utf-8",
      },
      body: JSON.stringify(body),
    }
  );
  if (!response.ok) {
    console.error("statut inattendu: " + response.status);
  } else {
    console.log("statut de succès: " + response.status);
  }
} catch (error) {
  console.error(error);
}

3. Envoyer une requête d’enchères

Dans cet exemple, une requête d’enchères est créée pour retourner les gagnants déclenchés par le terme de recherche “soft drink”. N’oubliez pas d’utiliser votre clé API Marketplace.
const apikey = "TSE_...";

const body = {
  auctions: [
    {
      searchQuery: "soft drink",
      slots: 1,
      type: "listings",
    },
  ],
};

try {
  const response = await fetch("https://api.topsort.com/v2/auctions", {
    method: "POST",
    mode: "cors",
    headers: {
      Authorization: `Bearer ${apikey}`,
      "Content-Type": "application/json; charset=utf-8",
    },
    body: JSON.stringify(body),
  });
  if (!response.ok) {
    console.error("statut inattendu: " + response.status);
  } else {
    console.log("statut de succès: " + response.status);
  }
} catch (error) {
  console.error(error);
}

4. Suivi des événements

Dans cet exemple, un clic sur un produit promu est suivi en utilisant notre API. Le resolvedBidId du gagnant renvoyé par l’appel d’enchères doit être envoyé dans le corps de la requête, pour garantir une attribution correcte des ventes. N’oubliez pas d’utiliser votre clé API Marketplace.
const apikey = "TSE_...";

const body = {
  clicks: [
    {
      id: "d0cf3f56-a719-4e02-9c88-625f965ae6e7",
      occurredAt: "2024-07-23T11:49:04+00:00",
      opaqueUserId: "71303ce0-de89-496d-8270-6434589615e2",
      resolvedBidId:
        "ChAGafmNzX5wy4sEaDnXi4iWEhABjxq1RG513IkbvRgIVcd6GhABjmiyW3t2Ur066CLC3jWVIgoKBjExMjYzNRABMPuVDw",
    },
  ],
};

try {
  const response = await fetch("https://api.topsort.com/v2/events", {
    method: "POST",
    mode: "cors",
    headers: {
      Authorization: `Bearer ${apikey}`,
      "Content-Type": "application/json; charset=utf-8",
    },
    body: JSON.stringify(body),
  });

  if (!response.ok) {
    console.error("statut inattendu: " + response.status);
  } else {
    console.log("statut de succès: " + response.status);
  }
} catch (error) {
  console.error(error);
}

Besoin d'aide avec votre intégration Topsort ?

Parlez-nous, l'équipe d'ingénierie des intégrations.Contactez-nous via votre canal de messagerie dédié ou à support@topsort.com.Si vous n'êtes pas encore client, planifiez une démo avec notre équipe de vente.