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

Regras de preço B2B

Como dar preço diferente por quantidade e por grupo de clientes e como a plataforma escolhe a regra.

No B2B, quem compra mais paga menos, e certos clientes têm condição própria. Uma regra de preço B2B liga um produto a uma faixa de quantidade (por exemplo, de 50 a 99 unidades) e a um preço, fixo ou com percentual de desconto, opcionalmente só para um grupo de usuários (distribuidores, por exemplo). Na vitrine, no carrinho e no checkout a plataforma procura as regras que casam com a quantidade e com o comprador e usa a mais barata. Estas rotas são do administrador da loja.

Esta seção também traz a exclusão de uma faixa de preço por quantidade (price-tiers), o mecanismo mais simples de "compre mais, pague menos" que vive dentro do produto.

Pontos-chave
  • Regras exigem o módulo b2b-pricing ligado e o privilégio manage_b2b ou manage_promotions (inclusive para ler). Com o módulo desligado, as regras não afetam preço nenhum.
  • O id da regra é um número inteiro. O do produto e o do grupo são UUID.
  • Dinheiro em centavos; desconto em pontos-base (1500 = 15%).
  • Uma regra só pode baixar o preço: se ela der um valor igual ou maior que o preço que o comprador já teria, é ignorada.
  • Para tabelas de preço nomeadas, com vigência e atribuição a empresas, existe outro recurso (tabelas de preço B2B); elas vencem as regras avulsas.

Como funciona

Qual regra vale para uma compra

Para um produto, uma quantidade e um comprador, a plataforma considera as regras que cumprem todas estas condições:

  1. is_active é true.
  2. min_qty é menor ou igual à quantidade e (max_qty é 0 ou maior ou igual à quantidade).
  3. usergroup_id está vazio, ou o comprador pertence ao grupo.

Cada regra dá um preço: preço base - preço base × discount_bps ÷ 10000 quando discount_bps é maior que zero; senão price_cents. A regra que der o menor preço vence. priority só ordena a avaliação; ela desempata valores iguais, mas não faz uma regra mais cara vencer uma mais barata.

Ordem das fontes de preço

A plataforma parte do preço base e consulta, nesta ordem: as faixas de preço por quantidade do produto, a tabela de preço nomeada (quando existe uma para o comprador, ela substitui as faixas e dispensa as regras avulsas), as regras de preço B2B, a proposta de preço aceita e o desconto negociado pelo representante. Faixas, regras, propostas e descontos só entram se forem mais baratos que o preço já encontrado. Se o módulo b2b-pricing está desligado, vale o preço base.

Conceitos importantes

Preço fixo ou desconto

Defina um dos dois. Se discount_bps é maior que zero ele é usado e price_cents é ignorado, mesmo que preenchido.

Faixa de quantidade

min_qty vai de 1 em diante; max_qty 0 significa "sem teto". Duas regras para o mesmo produto e grupo com faixas que se sobrepõem são permitidas, e a mais barata vence naquela quantidade.

Faixa de preço por quantidade (price-tiers)

É a escada de preço que pertence ao produto: "a partir de N unidades, R$ X cada" (ou X% de desconto), para todos os clientes ou para um grupo. Aqui você só encontra a exclusão de uma faixa pelo id dela; a criação e a edição das faixas fazem parte do cadastro do produto.

Endpoints

Método e caminhoPara que serveAuthPágina
GET /api/v1/admin/b2b-price-rulesLista regras de preçoadminConsultar regras
GET /api/v1/admin/b2b-price-rules/{id}Detalha uma regraadminConsultar regras
POST /api/v1/admin/b2b-price-rulesCria uma regraadminCriar, alterar e excluir regra
PUT /api/v1/admin/b2b-price-rules/{id}Altera uma regraadminCriar, alterar e excluir regra
DELETE /api/v1/admin/b2b-price-rules/{id}Exclui uma regraadminCriar, alterar e excluir regra
DELETE /api/v1/admin/price-tiers/{id}Exclui uma faixa de preço por quantidadeadminExcluir faixa de preço

Erros comuns

  • Mandar price_cents e discount_bps juntos. O desconto vence e o preço fixo é guardado sem uso.
  • Achar que priority escolhe a regra. Vence o menor preço; priority só desempata.
  • Faixa invertida. max_qty maior que zero e menor que min_qty leva 400. No PUT essa conferência não é feita: confira os dois números antes de enviar.
  • Esperar que a regra baixe um preço que já é menor. Regra que não melhora o preço do comprador é descartada.
  • Usar UUID no caminho. O {id} da regra é um número inteiro; texto leva 400 invalid rule id.
  • Esperar remover o grupo com PUT. Um grupo definido não pode ser limpo por PUT; exclua a regra e crie outra para todos.

Próximos passos

Criar uma regra
Corpo, validações e exemplos.
Consultar regras
Filtre por produto, grupo e situação.
Promoções e cupons
Descontos por campanha, com cupom ou automáticos.
Anterior
Cancelar
Próxima
Consultar regras de preço B2B
Nesta página
  • Como funciona
  • Qual regra vale para uma compra
  • Ordem das fontes de preço
  • Conceitos importantes
  • Preço fixo ou desconto
  • Faixa de quantidade
  • Faixa de preço por quantidade (price-tiers)
  • Endpoints
  • Erros comuns
  • Próximos passos