Integração do Preço por Quantidade
Este artigo tem como objetivo explicar como a integração do módulo de preço por quantidade.
Introdução
Seção intitulada “Introdução”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.
Cenário de exemplo
Seção intitulada “Cenário de exemplo”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 tabela | Desconto máximo | Preço mínimo | Acréscimo máximo | Preço máximo |
| Abaixo de 100 KG | 0 | R$ 19,00 | 10% | R$ 17,10 | 12% | R$ 21,28 |
| Entre 100 e 200 KG | 5 | R$ 18,50 | 8% | R$ 17,02 | 14% | R$ 21,09 |
| Entre 200 e 500 KG | 10 | R$ 18,00 | 6% | R$ 16,92 | 16% | R$ 20,88 |
| Entre 500 e 800 KG | 25 | R$ 17,50 | 4% | R$ 16,80 | 18% | R$ 20,65 |
| 800 KG ou mais | 40 | R$ 17,00 | 2% | R$ 16,66 | 20% | R$ 20,40 |
Exemplo completo do JSON
Seção intitulada “Exemplo completo do JSON”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.
Exemplo resumido do JSON
Seção intitulada “Exemplo resumido do JSON”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 } ]
Documentação do JSON
Seção intitulada “Documentação do JSON”O JSON que deve ser enviado consiste em um Array de elementos, onde cada elemento pode ter os seguintes atributos:
| Nome | Atributo | Obrigatório | Explicação |
| Nome da faixa | descricao | Não | Atributo opcional. Pode ser utilizado para informar uma descrição para a faixa. EX: Até 100 KG, Acima de 800 KG |
| Quantidade inicial | qtdeInicial | Sim | 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ço | valorUnitario | Sim | Determina o valor unitário do produto. |
| % Desconto máximo | percDescontoMaximo | Nã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áximo | percAcrescimoMaximo | Nã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. |
Exemplo de linha da tabela 13
Seção intitulada “Exemplo de linha da tabela 13”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”}]