Skip to content
Light
English

Quantity Pricing Integration

Este artigo tem como objetivo explicar como a integração do módulo de preço por quantidade.

A integração do preço por quantidade é realizada através do envio de uma String JSON, com as variações de preço por quantidade, no campo 27 dos registros da Tabela 13 - Preços dos Produtos.

A seguir apresentamos um cenário prático para ajudar no entendimento.

Considere que o preço do produto RAÇÃO DE ARROZ SACO 20 KG tem os seguintes preços:

Descrição da Faixa

Quantidade mínima

(>=)

Preço de tabelaDesconto máximoPreço mínimoAcréscimo máximoPreço máximo
Abaixo de 100 KG0R$ 19,0010%R$ 17,1012%R$ 21,28
Entre 100 e 200 KG5R$ 18,508%R$ 17,0214%R$ 21,09
Entre 200 e 500 KG10R$ 18,006%R$ 16,9216%R$ 20,88
Entre 500 e 800 KG25R$ 17,504%R$ 16,8018%R$ 20,65
800 KG ou mais40R$ 17,002%R$ 16,6620%R$ 20,40

A String JSON que representa o cenário de exemplo é apresentada abaixo:

OBS: No final deste artigo você encontra a documentação de cada um dos atributos do JSON.

[ { “descricao”: “Abaixo de 100 KG”, “qtdeInicial”: 0, “valorUnitario”: 19, “percDescontoMaximo”: 10, “percAcrescimoMaximo”: 12 }, { “descricao”: “Entre 100 e 200 KG”, “qtdeInicial”: 5, “valorUnitario”: 18.5, “percDescontoMaximo”: 8, “percAcrescimoMaximo”: 14 }, { “descricao”: “Entre 200 e 500 KG”, “qtdeInicial”: 10, “valorUnitario”: 18, “percDescontoMaximo”: 6, “percAcrescimoMaximo”: 16 }, { “descricao”: “Entre 500 e 800 KG”, “qtdeInicial”: 25, “valorUnitario”: 17.5, “percDescontoMaximo”: 4, “percAcrescimoMaximo”: 18 }, { “descricao”: “800 KG ou mais”, “qtdeInicial”: 40, “valorUnitario”: 17, “percDescontoMaximo”: 2, “percAcrescimoMaximo”: 20 } ]

OBS: Para facilitar a visualização apresentamos ele com as formatações e quebras de linhas, no entanto ao fazer o envio no layout padrão do Demander não devem ser enviadas as quebras de linha.

Abaixo preparamos a versão mais simples do JSON, somente com os atributos obrigatórios.

Perceba que que a faixa inicial iniciando em Zero é opcional, se ela não for informada o aplicativo utiliza o preço normal do produto.

[ { “qtdeInicial”: 5, “valorUnitario”: 18.50 }, { “qtdeInicial”: 10, “valorUnitario”: 18.00 }, { “qtdeInicial”: 25, “valorUnitario”: 17.50 }, { “qtdeInicial”: 40, “valorUnitario”: 17.00 } ]

O JSON que deve ser enviado consiste em um Array de elementos, onde cada elemento pode ter os seguintes atributos:

NomeAtributoObrigatórioExplicação
Nome da faixadescricaoNão

Atributo opcional.

Pode ser utilizado para informar uma descrição para a faixa.

EX: Até 100 KG, Acima de 800 KG

Quantidade inicialqtdeInicialSim

Determina a partir de qual quantidade do produto o preço é aplicado.

OBS: Utilizamos o >= (maior ou igual) para identificar a faixa de acordo com a quantidade.

PreçovalorUnitarioSim

Determina o valor unitário do produto.
% Desconto máximopercDescontoMaximoNão

Atributo opcional.

Determina o percentual máximo de desconto que pode ser aplicado nesta faixa.

Quando não informado o sistema utiliza o percentual padrão informado da Tabela 13 ou na configuração da empresa.

% Acréscimo máximopercAcrescimoMaximoNão

Atributo opcional.

Determina o percentual máximo de acréscimo que pode ser aplicado nesta faixa.

Quando não informado o sistema utiliza o percentual padrão informado da Tabela 13 ou na configuração da empresa.

Abaixo temos um exemplo de como fica uma linha/registro de preço de produto com o JSON de preço por quantidade:

13|99999|48|UN||200.00|20|0|0|||||||||7.57|2.8||||||||[ { “descricao”: “Abaixo de 100 KG”, “qtdeInicial”: 0, “valorUnitario”: 19, “percDescontoMaximo”: 10, “percAcrescimoMaximo”: 12 }, { “descricao”: “Entre 100 e 200 KG”, “qtdeInicial”: 5, “valorUnitario”: 18.5, “percDescontoMaximo”: 8, “percAcrescimoMaximo”: 14 }, { “descricao”: “Entre 200 e 500 KG”, “qtdeInicial”: 10, “valorUnitario”: 18, “percDescontoMaximo”: 6, “percAcrescimoMaximo”: 16 }, { “descricao”: “Entre 500 e 800 KG”, “qtdeInicial”: 25, “valorUnitario”: 17.5, “percDescontoMaximo”: 4, “percAcrescimoMaximo”: 18 }, { “descricao”: “800 KG ou mais”, “qtdeInicial”: 40, “valorUnitario”: 17, “percDescontoMaximo”: 2, “percAcrescimoMaximo”: 20 }]|

[{ “qtdeInicial”:“5”, “valorUnitario”: “100.00”, “percDescontoMaximo”: 10.00, “percAcrescimoMaximo” : 10.00 }{ “qtdeInicial”:“5”, “valorUnitario”: “92.50”, “percDescontoMaximo”: 5.00, “percAcrescimoMaximo” : 5.00 } { “qtdeInicial”:“20”, “valorUnitario”: “80.00”}]