Saltar para o conteúdo 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.

Este exemplo demonstra um fluxo completo usando as APIs do Topsort para uma campanha de produto patrocinado com segmentação por categoria. Substitua as chaves de API e IDs pelas suas credenciais e valores reais. Etapas:
1

Sincronizar catálogo

Sincronize seu catálogo de produtos com o Topsort
2

Criar uma campanha

Configure uma campanha de produto patrocinado
3

Enviar solicitações de leilão

Solicite vencedores de leilão
4

Rastrear eventos

Reporte impressões, cliques e compras
5

Obter relatório

Recupere dados de desempenho da campanha
  • Para gerenciar produtos, campanhas e relatórios, use uma Chave de API Avançada (TSC_…). - Para leilões e eventos, use uma Chave de API do Marketplace (TSE_…).
Um exemplo de produto example-product-coca-cola, da categoria soft-drinks é usado neste exemplo. Lembre-se de usar sua Chave de API Avançada.
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: "Lata 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("status inesperado: " + response.status);
  } else {
    console.log("status de sucesso: " + response.status);
  }
} catch (error) {
  console.error(error);
}

2. Criar Campanha

Neste exemplo, uma campanha é criada para promover o produto example-product-coca-cola, tendo um gatilho de palavra-chave (soft drink). Lembre-se de usar sua Chave de API Avançada.
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: "Uma campanha de exemplo",
};

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("status inesperado: " + response.status);
  } else {
    console.log("status de sucesso: " + response.status);
  }
} catch (error) {
  console.error(error);
}

3. Enviar Solicitação de Leilão

Neste exemplo, uma solicitação de leilão é criada para retornar vencedores acionados pelo termo de busca “soft drink”. Lembre-se de usar sua Chave de API do 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("status inesperado: " + response.status);
  } else {
    console.log("status de sucesso: " + response.status);
  }
} catch (error) {
  console.error(error);
}

4. Rastreamento de Eventos

Neste exemplo, um clique em um produto promovido é rastreado usando nossa API. O resolvedBidId do vencedor retornado pela chamada de leilões precisa ser enviado no corpo da solicitação, para garantir a atribuição correta de vendas. Lembre-se de usar sua Chave de API do 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:
        "ChAGafmNzX5wy4sEaDnXi4iWEhABjxq1RG513IkbvRgIVcd6GhABjmiyW3t2Ur066CLC3jWVIgoKBjExMjYzNBABMPuVDw",
    },
  ],
};

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("status inesperado: " + response.status);
  } else {
    console.log("status de sucesso: " + response.status);
  }
} catch (error) {
  console.error(error);
}