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.
Dieses Beispiel demonstriert einen vollständigen Workflow unter Verwendung der APIs von Topsort für eine gesponserte Produktkampagne mit Kategorie-Targeting. Ersetzen Sie API-Schlüssel und IDs durch Ihre tatsächlichen Anmeldedaten und Werte.
Schritte:
Katalog synchronisieren
Synchronisieren Sie Ihren Produktkatalog mit Topsort
Kampagne erstellen
Richten Sie eine gesponserte Produktkampagne ein
Auktionsanfragen senden
Fordern Sie Auktionsgewinner an
Ereignisse verfolgen
Melden Sie Impressionen, Klicks und Käufe
Bericht abrufen
Rufen Sie Kampagnen-Leistungsdaten ab
- Verwenden Sie für die Verwaltung von Produkten, Kampagnen und Berichten einen Advanced API-Schlüssel
(TSC_…). - Verwenden Sie für Auktionen und Ereignisse einen Marketplace API-Schlüssel (TSE_…).
1. Katalog synchronisieren
Ein Beispielprodukt example-product-coca-cola aus der Kategorie soft-drinks wird in diesem Beispiel verwendet. Denken Sie daran, Ihren Advanced API-Schlüssel zu verwenden.
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: "Coca Cola Dose",
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("unerwarteter Status: " + response.status);
} else {
console.log("Erfolgsstatus: " + response.status);
}
} catch (error) {
console.error(error);
}
2. Kampagne erstellen
In diesem Beispiel wird eine Kampagne erstellt, um das Produkt example-product-coca-cola zu bewerben, mit einem Keyword-Trigger (soft drink). Denken Sie daran, Ihren Advanced API-Schlüssel zu verwenden.
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: "Eine Beispielkampagne",
};
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("unerwarteter Status: " + response.status);
} else {
console.log("Erfolgsstatus: " + response.status);
}
} catch (error) {
console.error(error);
}
3. Auktionsanfrage senden
In diesem Beispiel wird eine Auktionsanfrage erstellt, um Gewinner zurückzugeben, die durch den Suchbegriff “soft drink” ausgelöst wurden. Denken Sie daran, Ihren Marketplace API-Schlüssel zu verwenden.
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("unerwarteter Status: " + response.status);
} else {
console.log("Erfolgsstatus: " + response.status);
}
} catch (error) {
console.error(error);
}
4. Ereignisverfolgung
In diesem Beispiel wird ein Klick auf ein beworbenes Produkt mit unserer API verfolgt. Die resolvedBidId des vom Auktionsaufruf zurückgegebenen Gewinners muss im Anfragekörper gesendet werden, um eine korrekte Verkaufszuordnung sicherzustellen. Denken Sie daran, Ihren Marketplace API-Schlüssel zu verwenden.
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("unerwarteter Status: " + response.status);
} else {
console.log("Erfolgsstatus: " + response.status);
}
} catch (error) {
console.error(error);
}