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

Produtos obrigatórios

Lista os produtos que acompanham um produto (acessórios, itens complementares), indicando quais são obrigatórios.

Alguns produtos pedem outro junto: uma impressora com o cartucho, um colchão com o protetor. O lojista cadastra essa relação no painel e marca cada item como obrigatório ou sugerido. Esta rota devolve os produtos ligados ao produto que o comprador está vendo, no estado atual da loja.

O catálogo apenas informa a relação. Ele não obriga a compra do item obrigatório: quem adiciona os obrigatórios ao carrinho e valida a escolha é a sua vitrine.

GET/api/v1/storefront/products/{id}/required-productsPública

Produtos que acompanham o produto

Parâmetros de caminho

iduuidobrigatório
Id do produto principal.

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/storefront/products/34a3bed9-c40d-4519-801f-5cae027eac2a/required-products"

Resposta

200Produtos retornados (exemplo ilustrativo do formato)
json
{
  "total": 1,
  "required_products": [
    {
      "product_id": "34a3bed9-c40d-4519-801f-5cae027eac2a",
      "required_product_id": "5e833a7f-1a77-402c-835a-32594350d7a7",
      "is_mandatory": true,
      "created_at": "2026-10-10T14:00:00Z",
      "required_product_name": "Cartucho Preto XL",
      "required_product_slug": "cartucho-preto-xl",
      "required_product_price": 8990,
      "required_product_image": "/uploads/cartucho.png",
      "required_product_quantity": 40,
      "required_product_status": "A"
    }
  ]
}
200Produto sem itens ligados (resposta real da loja de testes)
json
{ "required_products": [], "total": 0 }

Campos da resposta

required_productsarray
Itens ligados, com os obrigatórios primeiro e depois por data de cadastro. Só entram produtos ativos.
totalinteger
Quantidade de itens.
required_products[].product_iduuid
O produto principal (o do caminho).
required_products[].required_product_iduuid
Id do produto ligado: use para abri-lo ou adicioná-lo ao carrinho.
required_products[].is_mandatoryboolean
true = o lojista exige que seja comprado junto; false = sugestão.
required_products[].required_product_namestring
Nome do produto ligado.
required_products[].required_product_slugstring
Slug do produto ligado, para o link.
required_products[].required_product_priceinteger
Preço do produto ligado em centavos. É o preço base, sem preço de grupo nem desconto de catálogo; para o valor final use /products/prices.
required_products[].required_product_imagestring
URL da imagem principal. Vazia se não há.
required_products[].required_product_quantityinteger
Saldo em estoque, arredondado para baixo. Confira antes de oferecer.
required_products[].required_product_statusstring
Sempre A aqui.
required_products[].created_atstring
Quando a ligação foi cadastrada, RFC 3339 (UTC).

Erros

StatusQuandoExemplo de corpo
500{id} que não é UUID, ou falha ao consultar{"error":"failed to get required products","detail":"..."}

Produto inexistente, ou sem itens ligados, responde 200 com lista vazia.

O preço não vem escondido para visitante

Esta rota não aplica a regra "esconder preço de visitante" da loja: required_product_price sempre traz o valor. Se a sua vitrine esconde preços de visitantes, não exiba o campo antes do login.

Mostre o estoque do item obrigatório

Um item obrigatório sem estoque (required_product_quantity igual a 0) impede o cliente de concluir a compra do conjunto que você prometeu. Avise antes de adicionar o produto principal.

Veja também

  • Consultar produto
  • Consultas rápidas
Anterior
Selos do produto
Próxima
Produtos do seller
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também