Listas sugeridas
Lista os kits de produtos montados pelo lojista (por exemplo "kit churrasco") e devolve o detalhe de um kit, com itens, quantidades e preço final.
Uma lista sugerida é um kit curado pelo lojista: um conjunto de produtos com a quantidade recomendada de cada um e, opcionalmente, um preço fechado para o kit todo. A vitrine mostra as listas em uma página própria e deixa o cliente adicionar todos os itens ao carrinho de uma vez. Quem cria e edita as listas é o lojista, no painel; estas rotas são só de leitura.
Duas regras de loja mudam o comportamento:
- O recurso é um módulo: em lojas onde ele está desligado, as duas rotas respondem 403
module_disabled. - O módulo tem a opção "exigir login" (ligada por padrão). Ligada, um visitante sem token recebe 401
login_required; a vitrine costuma mostrar um convite "Entre para comprar". Desligada, a lista é pública e, se a loja esconde preço de visitante, os valores vêm zerados comprice_redacted: true.
Só listas ativas aparecem, ordenadas pela posição que o lojista definiu.
/api/v1/storefront/suggested-listsAutenticadaListar as listas sugeridas ativas
Cabeçalhos
AuthorizationstringBearer $TOKEN de um cliente logado. Obrigatório quando a loja exige login para ver as listas./api/v1/storefront/suggested-lists/{id}AutenticadaConsultar uma lista sugerida
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
Resposta
A loja de teste usada na documentação não tem o módulo ligado, então os exemplos de resposta acima são ilustrativos e seguem o contrato do código. O exemplo da lista única está resumido.
Campos da resposta
listsarrayGET /suggested-lists: listas ativas, por posição.listobjectGET /suggested-lists/{id}: a lista pedida.clear_cart_on_addbooleantrue, a vitrine deve esvaziar o carrinho antes de adicionar os itens do kit. Quem adiciona os itens é a sua vitrine, um a um; as rotas de lista não mexem no carrinho.iduuidnamestringdescriptionstringcard_namestringgroup_namestringimage_urlstringkit_priceintegernull quando o kit não tem preço próprio (o total é a soma dos itens).statusstringA (ativa) na vitrine.positionintegercreated_atstringupdated_atstringitemsarrayitems[].iduuiditems[].list_iduuiditems[].product_iduuiditems[].quantityintegeritems[].positionintegeritems[].product_namestringitems[].product_slugstringitems[].product_priceintegeritems[].product_imagestringitems[].product_skustringitems[].in_stockbooleanfalse para item indisponível: mostre "indisponível" e sem botão de compra.items[].price_redactedbooleantrue quando o preço foi zerado para o visitante.total_priceintegerfinal_priceintegerkit_price quando existe e é menor que total_price; senão total_price. Em centavos.discount_pctinteger0 quando não há desconto.price_redactedbooleantrue quando os valores da lista foram zerados para o visitante.Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | A loja exige login para ver as listas e a chamada não tem token | {"error":"login_required","detail":"sign in to view suggested lists"} |
| 401 | A loja exige login para navegar | {"error":"shopping_requires_login","message":"this storefront requires login to browse"} |
| 403 | O módulo de listas sugeridas está desligado na loja | {"error":"module_disabled","module":"suggested-lists"} |
| 404 | GET /suggested-lists/{id}: lista inexistente ou inativa | {"error":"suggested list not found"} |
| 500 | Falha ao ler as listas | {"error":"failed to list suggested lists","detail":"..."} |