VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Página de produto

Como montar a página de um produto: opções, variações, características, anexos, vídeos, selos e produtos obrigatórios, e como resolver o que o comprador escolheu em SKU, preço e estoque.

Consultar produto devolve o produto em si. Tudo o que a página ainda precisa, como as escolhas do comprador (cor, tamanho, gravação personalizada), a ficha técnica, o manual para baixar, os vídeos e os selos, vem de rotas próprias deste grupo. Elas são separadas de propósito: a página carrega o produto primeiro e busca o resto em paralelo, e uma falha em uma parte não derruba a página inteira.

Todas as rotas desta seção são públicas, sob /api/v1/storefront/products/{id}/..., e identificam o produto por UUID. Diferente de GET /products/{id}, elas não aceitam slug e, na maioria, não checam se o produto está ativo: resolva o produto antes e use o id que ele devolveu.

Pontos-chave
  • Existem três mecanismos para o comprador escolher algo: opções (personalização), variações como produtos-filhos e variações unificadas (um produto com eixos como cor e tamanho). Uma loja pode usar qualquer um, e eles podem coexistir.
  • Para saber qual usar, olhe o produto: has_unified_variations: true, presença de variations ou variation_group_id, e a lista de options.
  • Várias rotas daqui devolvem 200 com lista vazia quando não há dados (e até quando dá erro interno), para a página não quebrar. Vazio não significa "produto inexistente".
  • Preço é inteiro em centavos em toda parte; modificadores de preço de opção podem ser em centavos ou em pontos-base (1 ponto-base = 0,01%).
  • Selos e vídeos de ao vivo dependem de módulos e configurações da loja: sem eles, a resposta é lista vazia.

Como funciona

  1. Abrir o produto

    GET /products/{id} traz preço, estoque, imagens e as flags has_unified_variations e is_variation, mais o array variations quando as variações são produtos-filhos.

  2. Carregar o resto em paralelo

    Opções, variações, características, anexos, vídeos, selos e produtos obrigatórios. Cada uma é independente.

  3. Resolver a escolha do comprador

    Com as variações, o comprador escolhe cor e tamanho. Você converte a escolha em um SKU: com variações unificadas, procure em variations[].combination; com produtos-filhos, chame GET /products/{id}/variant?cor=Vermelho&tamanho=M.

  4. Comprar

    Ao adicionar ao carrinho, envie o id do produto (ou do produto-filho) e as opções escolhidas. Para os produtos obrigatórios (is_mandatory: true), é a vitrine que deve adicioná-los junto: a API do catálogo só informa a relação.

Conceitos-chave

Opções, variações de produtos-filhos e variações unificadas

MecanismoO que éComo saber que o produto usaOnde resolver
OpçõesEscolhas que personalizam um produto único: "Sabor", "Gravar nome", "Enviar arte". Podem ter modificador de preço, de peso e sufixo de SKU.GET /products/{id}/options devolve opçõesA própria opção; o cliente envia o valor ao comprar.
Produtos-filhosCada combinação (Vermelho/M) é outro produto com SKU, preço e estoque próprios, ligado a um produto pai.variations no produto, ou variation_group_idGET /products/{id}/variant?... ou escolha em variations[].
Variações unificadasUm produto com eixos (Cor, Tamanho) e uma linha por combinação, com SKU, estoque, imagem e diferença de preço.has_unified_variations: trueGET /products/{id}/unified-variations, procurando a combination.

Na lista de produtos, has_unified_variations avisa que o comprador precisa escolher cor/tamanho antes de adicionar ao carrinho, sem uma chamada extra por produto.

Preço de variação

Em variações unificadas, o preço da combinação é price do produto mais price_modifier da variação (em centavos; pode ser negativo). Em produtos-filhos, cada filho tem o próprio price. Em opções, some o modificador da opção escolhida: absolute em centavos ou percentage em pontos-base sobre o preço do produto.

Visitante e preço escondido

Quando a loja esconde preços de visitantes, o modificador de preço das opções também sai zerado. As demais rotas desta seção não carregam preço, exceto os produtos obrigatórios e as variações unificadas.

Endpoints

Método e caminhoPara que serveAuthPágina
GET /api/v1/storefront/products/{id}/optionsOpções de personalizaçãoOpcionalVariações e opções
GET /api/v1/storefront/products/{id}/variantAchar o produto-filho por atributosOpcionalVariações e opções
GET /api/v1/storefront/products/{id}/variation-groupEixos do grupo de variaçõesOpcionalVariações e opções
GET /api/v1/storefront/products/{id}/unified-variationsEixos e combinações de variação unificadaOpcionalVariações e opções
GET /api/v1/storefront/products/{id}/featuresFicha técnica do produtoOpcionalCaracterísticas
GET /api/v1/storefront/products/{id}/catalog-featuresSelos de características para o cartãoOpcionalCaracterísticas
GET /api/v1/storefront/products/{id}/attachmentsArquivos para baixarOpcionalAnexos
POST /api/v1/storefront/attachments/{attachmentId}/downloadContar um downloadOpcionalAnexos
GET /api/v1/storefront/products/{id}/videosVídeos e imagens 360OpcionalVídeos e replays
GET /api/v1/storefront/products/{id}/live-replaysReplays de lives que mostraram o produtoOpcionalVídeos e replays
GET /api/v1/storefront/products/{id}/stickersSelos visuais do produtoOpcionalSelos
GET /api/v1/storefront/products/{id}/required-productsProdutos que acompanham esteOpcionalProdutos obrigatórios

Erros comuns

  • Passar o slug em vez do UUID. Estas rotas esperam o UUID. Com um slug, a rota devolve lista vazia ou erro 500 de UUID inválido; resolva o slug com GET /products/{slug} antes.
  • Concluir que o produto não tem opções porque options é null. null e [] significam o mesmo: sem opções.
  • Chamar /variant sem parâmetros. Retorna 400: mande ao menos um atributo, como ?cor=Vermelho.
  • Esperar 404 em produto inexistente. A maioria das rotas devolve 200 com lista vazia. O 404 só vem de /variant (sem correspondência) e do download de anexo (anexo inexistente).
  • Somar o modificador de opção em reais. O modificador é inteiro em centavos (ou pontos-base, conforme price_modifier_type).
  • Supor que is_mandatory é imposto pelo servidor. O catálogo apenas informa quais produtos acompanham este; adicionar os obrigatórios ao carrinho é responsabilidade da sua vitrine.

Próximos passos

Variações e opções
Os três mecanismos de escolha e como resolver cada um.
Consultar produto
A base da página: preço, estoque, SEO.
Anexos
Manuais e fichas para baixar.
Anterior
Fila de aprovação de ligações
Próxima
Variações e opções
Nesta página
  • Como funciona
  • Conceitos-chave
  • Opções, variações de produtos-filhos e variações unificadas
  • Preço de variação
  • Visitante e preço escondido
  • Endpoints
  • Erros comuns
  • Próximos passos