Limite de Quantidade por SKU no Carrinho: É possível recuperar via API?

Olá, pessoal! Tudo bem?

Existe alguma forma de recuperar, via API, o valor configurado para “Quantidade máxima de um mesmo SKU no Carrinho”? Preciso validar essa restrição no meu backend, mas não encontrei um endpoint que forneça essa informação.

Oi @gabernardone Tudo bem?

Atualmente, não existe um endpoint público na API da VTEX que retorne diretamente o valor configurado da opção “Quantidade máxima de um mesmo SKU no Carrinho” que você vê na imagem (Configurações da loja > Configurações > Gerais).

:magnifying_glass_tilted_left: Alternativas e soluções possíveis:

:white_check_mark: 1. Controle no backend com valor fixo, criando um arquivo de configuração e validando a partir dele

Como essa configuração é estática e administrada manualmente via VTEX Admin, a abordagem mais comum é replicar esse valor no backend como um parâmetro de ambiente ou em uma tabela de configuração. Por exemplo:

{
  "maxSkuQtyInCart": 50
}

:backhand_index_pointing_down: Exemplo prático:

1. Crie um arquivo config.json com o valor

Coloque esse arquivo no seu app VTEX IO, por exemplo dentro da pasta /assets ou /config.

// config/config.json
{
  "maxSkuQtyInCart": 50
}

2. Consuma esse valor no backend

Se você estiver usando um app custom com Node.js:

const config = require('./config/config.json');

function validarQuantidadeSku(carrinho) {
  for (const item of carrinho.items) {
    if (item.quantity > config.maxSkuQtyInCart) {
      throw new Error(`Quantidade do SKU ${item.skuId} excede o máximo permitido de ${config.maxSkuQtyInCart}.`);
    }
  }
}

3. Ou use no frontend VTEX IO (React)

Você pode importar com fetch ou require no React, dependendo de onde está o arquivo.

import config from '../config/config.json';

const maxQty = config.maxSkuQtyInCart;
// agora pode comparar com item.quantity

:hammer_and_wrench: Alternativa: expor via GraphQL ou REST

  • Você pode expor esse valor como um endpoint interno (GraphQL ou REST), retornando o valor do JSON, e o frontend consulta.
  • Assim, se o cliente mudar esse número no JSON, já reflete na lógica.

Ideia de resposta extraída a partir de Quantidade máx de um mesmo sku - #4 by fabio.santos

Espero que ajude.

Abs,
Diretoria Four2One