Documentação Completa da API

⚠️ Aviso: Esta é uma documentação não oficial baseada na documentação pública da Shopee. Para informações atualizadas, consulte a fonte oficial.

🔑 Como Solicitar Acesso à API

Para usar a API de Afiliados Shopee, você precisa solicitar suas credenciais (App ID e Secret). Siga o passo a passo:

1

Tenha um cadastro de afiliado ativo

Você precisa estar cadastrado e ativo no Programa de Afiliados Shopee.

2

Acesse a página Open API

Navegue até: affiliate.shopee.com.br/open_api

3

Clique em "Central de Ajuda"

No canto superior direito da página, localize e clique no botão "Central de Ajuda".

4

Acesse o formulário de e-mail

Role a página até o final e clique em "E-mail (Fale conosco por e-mail)".

5

Preencha o formulário

Complete os campos conforme a tabela abaixo:

Campos do Formulário de Solicitação

Campo Valor a Preencher
Você já é Afiliado da Shopee? Sim
Problemas com login ou não lembra a conta? Não, estou com outras dificuldades/dúvidas
ID de Afiliado Seu ID numérico (encontrado no painel de afiliado)
Número de telefone Número cadastrado no Programa de Afiliados
Tema relacionado à dificuldade Tenho dúvidas/dificuldades com meu cadastro/conta
Cenário em relação ao cadastro/conta Quero ativar a API
📌 Importante: Após enviar, você verá a mensagem "Seu caso será enviado para análise. Em breve retornamos!". A equipe Shopee irá analisar e enviar suas credenciais por e-mail. O tempo de resposta pode variar em até 2 semanas.

🔐 Autenticação

Todas as requisições à API Shopee requerem autenticação via header Authorization com assinatura SHA256. Esse método garante que apenas você (com seu App ID e Secret) pode fazer requisições em nome da sua conta de afiliado.

🔒 Por que usar SHA256? A assinatura SHA256 é um hash criptográfico que valida sua identidade sem expor seu Secret. Mesmo que alguém intercepte a requisição, não conseguirá replicá-la sem conhecer seu Secret.

Estrutura do Header Authorization

O header deve seguir exatamente este formato, com os 3 componentes separados por vírgula:

Authorization: SHA256 Credential={AppId}, Timestamp={Timestamp}, Signature={Signature}

Como calcular a Signature

A assinatura é um hash SHA256 da concatenação (sem espaços ou separadores) de 4 valores nesta ordem exata:

Signature = SHA256(AppId + Timestamp + Payload + Secret)
Componente Descrição Exemplo
AppId Seu ID de aplicação (fornecido pela Shopee após aprovação) 123456
Timestamp Unix timestamp atual em segundos (não milissegundos!) 1704067200
Payload O body completo da requisição como string JSON {"query":"..."}
Secret Sua chave secreta (nunca compartilhe!) abc123xyz...
⚠️ Atenção: O timestamp deve estar próximo do horário atual do servidor. Diferenças maiores que alguns minutos podem causar erro de autenticação.

📡 Formato das Requisições

A API Shopee utiliza GraphQL, uma linguagem de consulta que permite solicitar exatamente os dados que você precisa. Diferente de REST, você especifica quais campos quer receber, otimizando a resposta.

Especificações Técnicas

  • URL Base: https://open-api.affiliate.shopee.com.br/graphql
  • Método HTTP: POST (sempre POST, mesmo para consultas)
  • Content-Type: application/json
  • Encoding: UTF-8

Estrutura do Body (GraphQL)

O corpo da requisição é um JSON com a query GraphQL. Você pode incluir variáveis para parametrizar suas consultas:

{
  "query": "{ ... }",
  "operationName": "NomeOperacao",  // opcional - útil quando há múltiplas operações
  "variables": { ... }               // opcional - valores dinâmicos para a query
}

Estrutura da Resposta

A resposta sempre retorna um objeto JSON. Em caso de sucesso, os dados vêm no campo data. Em caso de erro, os detalhes vêm no campo errors:

// ✅ Sucesso - dados retornados normalmente
{
  "data": {
    "nomeDoEndpoint": { ... }
  }
}

// ❌ Erro - detalhes do problema
{
  "errors": [
    {
      "message": "Descrição do erro",
      "path": ["nomeDoEndpoint"],
      "extensions": {
        "code": 10020,
        "message": "Detalhes específicos do erro"
      }
    }
  ]
}
💡 Dica: Você pode receber data e errors simultaneamente se parte da query funcionou e parte falhou. Sempre verifique ambos os campos.

📦 1.1 Shopee Offer List

Este endpoint retorna campanhas e ofertas especiais da Shopee disponíveis para divulgação. São promoções criadas pela própria Shopee, como campanhas sazonais (Black Friday, Natal, etc.), coleções temáticas e ofertas flash.

📌 Quando usar: Ideal para divulgar promoções gerais da Shopee. Os links já vêm com seu tracking de afiliado embutido no campo offerLink.

Query GraphQL

{
  shopeeOfferV2(
    keyword: "promocao",
    sortType: 1,
    page: 1,
    limit: 10
  ) {
    nodes {
      commissionRate
      imageUrl
      offerLink
      originalLink
      offerName
      offerType
      categoryId
      collectionId
      periodStartTime
      periodEndTime
    }
    pageInfo {
      page
      limit
      hasNextPage
    }
  }
}

Parâmetros

ParâmetroTipoObrigatórioDescrição
keywordStringNãoBusca por nome da oferta
sortTypeIntNão1 = Mais recentes, 2 = Maior comissão
pageIntNãoNúmero da página (padrão: 1)
limitIntNãoItens por página (1-500, padrão: 10)

Campos de Resposta

CampoTipoDescrição
commissionRateStringTaxa de comissão. Ex: "0.0850" = 8.5%
imageUrlStringURL da imagem da campanha
offerLinkStringLink com tracking do afiliado
originalLinkStringLink original sem tracking
offerNameStringNome da oferta/campanha
offerTypeInt1 = Collection, 2 = Categoria
periodStartTimeIntInício da campanha (Unix timestamp)
periodEndTimeIntFim da campanha (Unix timestamp)

🏬 1.2 Shop Offer List

Este endpoint retorna lojas que oferecem comissão diferenciada para afiliados. São vendedores que optaram por pagar uma comissão extra além da comissão padrão da Shopee, tornando mais atrativo divulgar seus produtos.

📌 Quando usar: Ideal para encontrar lojas parceiras com boas comissões. Você pode filtrar por tipo de loja (Mall, Star, Star+) e ordenar por taxa de comissão para encontrar as melhores oportunidades.

O que é Key Seller?

Key Sellers são vendedores estratégicos selecionados pela Shopee. Geralmente são lojas com alto volume de vendas, boa reputação e que participam ativamente do programa de afiliados com comissões atrativas.

Query GraphQL

{
  shopOfferV2(
    keyword: "loja",
    shopType: [1, 4],
    isKeySeller: true,
    sortType: 2,
    page: 1,
    limit: 10
  ) {
    nodes {
      shopId
      shopName
      commissionRate
      ratingStar
      shopType
      imageUrl
      offerLink
      remainingBudget
      sellerCommCoveRatio
      periodStartTime
      periodEndTime
    }
    pageInfo { page limit hasNextPage }
  }
}

Parâmetros

ParâmetroTipoDescrição
shopIdIntFiltrar por ID específico da loja
keywordStringBuscar por nome da loja
shopType[Int]Array: 1=Mall, 2=Star, 4=Star+
isKeySellerBooleanFiltrar apenas Key Sellers
sortTypeInt1=Recentes, 2=Comissão, 3=Populares
sellerCommCoveRatioStringTaxa mínima. Ex: "0.10" = 10%

Tipos de Loja (shopType)

ValorTipoDescrição
1Shopee MallLojas oficiais de grandes marcas
2Star ShopLojas com selo Star
4Star+ ShopLojas premium com selo Star+

🛒 1.3 Product Offer List

Este endpoint é o mais utilizado pelos afiliados. Retorna produtos específicos com suas comissões detalhadas, permitindo buscar itens por palavra-chave, categoria, loja ou diversos outros filtros.

📌 Quando usar: Perfeito para criar listas de produtos, comparadores de preços, bots de ofertas ou qualquer aplicação que precise buscar produtos específicos. É o endpoint mais flexível e completo.

Entendendo as Comissões

A comissão total de um produto pode vir de duas fontes:

  • Comissão Shopee: Paga pela plataforma (geralmente 2-5%)
  • Comissão Seller: Paga pelo vendedor como incentivo extra (varia muito)

A soma das duas resulta na commissionRate total que você receberá.

Query GraphQL

{
  productOfferV2(
    keyword: "celular",
    listType: 1,
    sortType: 5,
    page: 1,
    limit: 20
  ) {
    nodes {
      itemId
      productName
      productLink
      offerLink
      imageUrl
      priceMin
      priceMax
      priceDiscountRate
      sales
      ratingStar
      commissionRate
      sellerCommissionRate
      shopeeCommissionRate
      commission
      shopId
      shopName
      shopType
      periodStartTime
      periodEndTime
    }
    pageInfo { page limit hasNextPage }
  }
}

Parâmetros

ParâmetroTipoDescrição
keywordStringBuscar por nome do produto
shopIdIntFiltrar por loja específica
itemIdIntFiltrar por produto específico
listTypeInt0=Recomendados, 1=Maior comissão, 2=Top performance
sortTypeInt1=Relevância, 2=Vendidos, 3=Maior preço, 4=Menor preço, 5=Comissão
isAMSOfferBooleanFiltrar ofertas com comissão do seller
isKeySellerBooleanFiltrar apenas Key Sellers

Campos de Comissão

CampoDescrição
commissionRateTaxa total de comissão
sellerCommissionRateComissão paga pelo vendedor
shopeeCommissionRateComissão paga pela Shopee
commissionValor estimado da comissão em R$

📈 3.1 Conversion Report

Este endpoint retorna o relatório de conversões com todos os pedidos gerados através dos seus links de afiliado. Você pode ver cliques, pedidos, status de cada compra e comissões estimadas.

📌 Quando usar: Para acompanhar suas vendas em tempo real, analisar performance de campanhas (via utmContent) e prever sua comissão do período. As comissões aqui são estimadas - o valor final só é confirmado após validação.

Fluxo de uma Conversão

Quando alguém clica no seu link e compra, a conversão passa por estes estágios:

  1. UNPAID: Pedido criado, aguardando pagamento
  2. PENDING: Pago, produto em trânsito/aguardando confirmação
  3. COMPLETED: Entrega confirmada, comissão será paga ✓
  4. CANCELLED: Cancelado/devolvido, sem comissão ✗

Query GraphQL

{
  conversionReport(
    purchaseTimeStart: 1704067200,
    purchaseTimeEnd: 1704153600,
    orderStatus: "COMPLETED",
    limit: 50
  ) {
    nodes {
      purchaseTime
      clickTime
      conversionId
      totalCommission
      sellerCommission
      shopeeCommissionCapped
      buyerType
      device
      utmContent
      orders {
        orderId
        orderStatus
        items {
          itemId
          itemName
          shopName
          itemPrice
          qty
          itemTotalCommission
          attributionType
        }
      }
    }
    pageInfo {
      limit
      hasNextPage
      scrollId
    }
  }
}

Principais Filtros

ParâmetroTipoDescrição
purchaseTimeStartIntInício do período (Unix timestamp)
purchaseTimeEndIntFim do período (Unix timestamp)
orderStatusStringUNPAID, PENDING, COMPLETED, CANCELLED
buyerTypeStringNEW (novo) ou EXISTING (recorrente)
deviceStringAPP ou WEB
scrollIdStringPara paginação (válido por 30s)

Status do Pedido

StatusDescrição
UNPAIDPedido criado mas não pago
PENDINGPago, aguardando entrega/confirmação
COMPLETEDEntregue e confirmado
CANCELLEDCancelado ou reembolsado

✅ 3.2 Validated Report

Este endpoint retorna as conversões já validadas pela Shopee, com os valores finais de comissão que serão efetivamente pagos. Diferente do Conversion Report, aqui os valores são definitivos.

📌 Quando usar: Para conferir os valores finais de comissão antes do pagamento. Use o validationId (período de validação) para consultar conversões específicas.

Diferença entre Conversion Report e Validated Report

AspectoConversion ReportValidated Report
ValoresEstimadosFinais/Confirmados
TimingTempo realApós período de validação
UsoAcompanhamento diárioConferência de pagamento
Inclui reembolsosNãoSim (refundAmount)

Query GraphQL

{
  validatedReport(
    validationId: 12345,
    limit: 100
  ) {
    nodes {
      conversionId
      netCommission
      totalCommission
      orders {
        orderId
        items {
          itemName
          itemTotalCommission
          refundAmount
        }
      }
    }
    pageInfo {
      hasNextPage
      scrollId
    }
  }
}
⚠️ Paginação: O scrollId é válido por apenas 30 segundos. Use-o imediatamente na próxima requisição para continuar a paginação.

⚠️ Códigos de Erro

Quando algo dá errado, a API retorna um código de erro no campo extensions.code da resposta. Abaixo estão os erros mais comuns e como resolvê-los:

CódigoErroSolução
10000 System Error Erro interno. Tente novamente em alguns segundos.
10010 Parse Error Verifique a sintaxe da query GraphQL.
10020 Invalid Signature Verifique App ID, Secret, Timestamp e cálculo do SHA256.
10030 Rate Limit Muitas requisições. Aguarde e reduza a frequência.
10035 No API Access Solicite acesso à API conforme instruções acima.
11001 Params Error Parâmetros inválidos. Verifique tipos e valores.

Dicas para evitar erros

  • Use timestamps em segundos (não milissegundos)
  • Não deixe trailing commas na query GraphQL
  • Escape strings corretamente no JSON
  • Verifique se o App está ativo no painel Shopee

Pronto para testar?

Use nosso playground para experimentar os endpoints!

Ir para o Playground
🔥 OFERTA ESPECIAL

Automatize sua integração com a API Shopee

Código Python completo e funcional com os endpoints 1.2, 1.3 (shopOfferV2) e 2. Pronto para executar!

  • Código Python testado e documentado
  • Autenticação SHA256 já implementada
  • Exemplos de uso para cada endpoint
  • Suporte para dúvidas
Quero Automatizar Agora