Marcas
Lista as marcas com produtos ativos, consulta uma marca pelo slug e lista os produtos dela com paginação.
Marca é uma característica especial do produto (tipo brand): cada valor dela, como "Eco" ou "Nike", é uma marca. Estas rotas alimentam a página "Todas as marcas" e a página de uma marca. Elas só mostram marcas que têm pelo menos um produto ativo, para a página nunca levar a uma lista vazia. A marca é identificada pelo slug (eco, eco-azul), que também é aceito como brand em Listar produtos.
Todas aceitam ?lang= ou Accept-Language para traduzir nome e descrição da marca.
Listar marcas
/api/v1/storefront/brandsPúblicaListar marcas com produtos ativos
Parâmetros de consulta
langstringname e description da marca.Exemplo de requisição
curl "$BASE_URL/api/v1/storefront/brands"Resposta
{
"total": 2,
"brands": [
{
"id": "60be5bf5-a2d2-4dcf-8e9d-aab93a6f6acd",
"feature_id": "b8ff8f38-286f-45c8-89f5-cc5454c6a232",
"name": "Eco",
"description": "",
"code": "eco",
"position": 0,
"slug": "eco",
"product_count": 1
},
{
"id": "fb3519a7-2dc4-47e9-8da3-476a7322e902",
"feature_id": "b8ff8f38-286f-45c8-89f5-cc5454c6a232",
"name": "Eco Verde",
"description": "",
"code": "eco-verde",
"position": 0,
"slug": "eco-verde",
"product_count": 3
}
]
}Campos da resposta
brandsarraytotalintegerbrands[].iduuidbrand_id em Listar produtos.brands[].feature_iduuidbrands[].namestringbrands[].descriptionstringbrands[].codestringbrands[].positionintegerbrands[].slugstring{slug} das rotas abaixo.brands[].product_countintegerConsultar uma marca
A busca pelo slug tenta, nesta ordem, o código da marca, o nome exato e o nome transformado em slug. Slug desconhecido responde 404.
/api/v1/storefront/brands/{slug}PúblicaConsultar uma marca pelo slug
Parâmetros de caminho
slugstringobrigatóriobrands[].slug.Parâmetros de consulta
langstring{
"id": "60be5bf5-a2d2-4dcf-8e9d-aab93a6f6acd",
"feature_id": "b8ff8f38-286f-45c8-89f5-cc5454c6a232",
"name": "Eco",
"description": "",
"code": "eco",
"position": 0,
"slug": "eco",
"product_count": 1
}Listar produtos de uma marca
Devolve a marca e uma página dos produtos dela. Aplica a mesma visibilidade da lista de produtos (produto ativo, grupos de usuário, vendedor ativo, regras de preço zero e estoque da loja) e colapsa ofertas de vendedores do mesmo produto mestre em um cartão, quando o módulo de produtos mestre está ligado. Para filtros adicionais (preço, categoria, características), use Listar produtos com brand=<slug>.
/api/v1/storefront/brands/{slug}/productsPúblicaProdutos de uma marca, paginados
Parâmetros de caminho
slugstringobrigatórioParâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20sort_bystringpadrão: created_atcreated_atpricenamesales_countrating_avgupdated_atquantitypopularitystatuscreated_at.sort_dirstringpadrão: descascdesclangstringExemplo de requisição
curl "$BASE_URL/api/v1/storefront/brands/eco/products?per_page=12&sort_by=price&sort_dir=asc"Resposta
{
"brand": {
"id": "60be5bf5-a2d2-4dcf-8e9d-aab93a6f6acd",
"feature_id": "b8ff8f38-286f-45c8-89f5-cc5454c6a232",
"name": "Eco",
"description": "",
"code": "eco",
"position": 0,
"slug": "eco",
"product_count": 1
},
"page": 1,
"per_page": 12,
"total": 1,
"total_pages": 1,
"products": [
{
"id": "b2794139-dbc7-4eac-ad65-726edc9a1699",
"name": "Teclado Eco Preto 02928",
"slug": "teclado-eco-preto-02928-2928",
"sku": "SD-002928",
"price": 49990,
"quantity": 6,
"track_inventory": true,
"status": "A"
}
]
}Campos da resposta
brandobjectproductsarraynull quando a marca não tem produtos visíveis ou a página passou do fim.totalintegerpageintegerper_pageintegertotal_pagesintegerErros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | A loja exige login para navegar e a requisição é anônima | {"error":"shopping_requires_login","message":"this storefront requires login to browse"} |
| 404 | Slug de marca desconhecido | {"error":"BRAND_NOT_FOUND"} |
| 500 | Falha ao consultar | {"error":"failed to list brands","detail":"..."} |