01. DADOS GERAIS
| Produto: | 



TOTVS Distribuição e Varejo - Linha Winthor |
|---|
| Linha de Produto: | 
Linha Winthor |
|---|
| Segmento: | 
Distribuição TOTVS Goiânia |
|---|
| Módulo: | |
|---|
| Função: | Integração de Vendas |
|---|
| País: | Brasil |
|---|
| Requisito/Story/Issue (informe o requisito relacionado) : | DINTVENDAS-268 |
|---|
02. SITUAÇÃO/REQUISITO
A necessidade que motivou essa implementação é popular o campo de preço de oferta (promotionPrice) na API de envio de Item. Esta funcionalidade é voltada especificamente para clientes que utilizam a precificação por embalagem (Layout 2 do iFood). Atualmente, apenas o campo price, que representa o preço padrão do produto, é preenchido. O objetivo é passar a popular o campo promotionPrice, dentro do grupo prices, que representa o preço de oferta.
03. SOLUÇÃO
A necessidade que motivou essa implementação é popular o campo de preço de oferta (promotionPrice) na API de envio de Item. Esta funcionalidade é voltada especificamente para clientes que utilizam a precificação por embalagem (Layout 2 do iFood). Atualmente, apenas o campo price, que representa o preço padrão do produto, é preenchido. O objetivo é passar a popular o campo promotionPrice, dentro do grupo prices, que representa o preço de oferta.
SOLUÇÃO
A solução implementada consiste na inclusão do campo promotionPrice e na alteração condicional do campo price dentro do grupo scalePrices. O objetivo é refletir corretamente o preço promocional e o preço de atacado vigente no envio ao iFood.
Esta lógica será aplicada somente para clientes que trabalham com precificação por embalagem (Layout 2).
Regra para obtenção do Preço de Oferta:
A regra acordada com o time de Varejo é buscar o menor preço vigente dentre todos os disponíveis, considerando o preço da Rotina 2017 e o preço da Rotina 2011. É realizada uma consulta unificada (utilizando UNION) entre as tabelas PCEMBALAGEM (Rotina 2017) e PCOFERTAPROGRAMADA (Rotina 2011). O sistema deve retornar o menor preço vigente para cada produto/codfilial/embalagem.
Regras de Preenchimento dos Campos na API:
- Campo promotionPrice (grupo prices):
- Deve ser populado somente se o parâmetro Utiliza preço por embalagem estiver igual a S.
- Deve receber o valor do campo VLOFERTA obtido pela consulta unificada.
- Caso não exista oferta vigente ou o valor retornado seja 0, o campo não deve ser enviado (mantendo-se apenas o preço padrão atual).
- Campo price (grupo scalePrices):
- Caso o SELECT retorne valor em VLOFERTAATAC, o campo price do grupo scalePrices deve ser substituído por esse valor.
- Não há um campo específico para preço de oferta de atacado, portanto, o preço padrão de atacado (price em scalePrices) é substituído quando o valor de oferta de atacado existir.
- O campo QTMINATACADO não deve ser alterado, permanecendo conforme a regra já existente.
É essencial que os seguintes componentes estejam atualizados: - Objeto winthor-venda: 0.38.21.12 ou superior.
- Objeto winthor-pedido-venda: versão mínima 1.38.3.6.
- Serviço WSH: versão 1.38.3.2 ou superior.
- Layout iFood no WSH: a partir da versão 1.38.0.20.
|
Na Rotina 132 (Parâmetros da Presidência), os seguintes parâmetros devem estar configurados como “Sim” para utilizar o Layout 2: - 1973 - Usar venda por embalagem.
- 2257 - Utilizar preço de venda por embalagem.
- 2291 - Utilizar venda por embalagem.
Rotina 2670: Necessário cadastrar uma Integração. Rotina 292: O produto deve ter uma embalagem cadastrada. Rotinas 2011 (Cadastrar Ofertas Programadas) e 2017 (Precificação por Embalagem) devem ser utilizadas para o cadastro das ofertas. |
1. Pré-configuração e Atualização de Versões- Verificar e atualizar as dependências conforme listado na seção Rotinas e Dependências.
- Realizar a autenticação no WTA executando o endpoint: http://{{host}}:{{port}}/winthor/autenticacao/v1/login.
- Na Rotina 132, configurar os parâmetros 1973, 2257 e 2291 como “Sim”.
- Na Rotina 2670, cadastrar a Integração e configurá-la para utilizar o Layout 2.
- Garantir que os produtos estejam corretamente precificados, com estoque no Winthor e cadastrados na plataforma iFood via API Ingestion - Send Items.
2. Cadastro e Cenário de Oferta Vigente (Rotinas 2011 e 2017)Este passo simula o Cenário 2, onde há ofertas ativas tanto na Rotina 2011 quanto na 2017. - Na Rotina 292, certificar-se de que o produto possui uma embalagem cadastrada.
- Na Rotina 2011 (Cadastrar Ofertas Programadas), cadastrar uma Oferta Programada para o produto, informando Valor de Oferta (VLOFERTA) e Valor de Oferta Atacado (VLOFERTAATAC). Certificar-se de que a data atual está entre a vigência configurada.
- Na Rotina 2017 (Precificação por Embalagem), cadastrar uma precificação para a embalagem do mesmo produto, informando valores de P. Oferta e P. Oferta Atacado, que podem ser diferentes dos cadastrados na Rotina 2011.
- Executar o endpoint Consulta Itens: http://{{host}}:{{port}}/winthor/venda/v0/ifood/item?filial=1&page=1&pageSize=25.
- Resultado Esperado (Status 200 OK): O grupo prices.promotionPrice deve ser populado com o menor valor de oferta (VLOFERTA) vigente entre as Rotinas 2011 e 2017. O campo scalePrices.price deve ser substituído pelo menor valor de oferta atacado (VLOFERTAATAC) vigente.
3. Cadastro sem Oferta Vigente (Apenas Rotina 2017)Este passo simula o Cenário 3, onde não há oferta ativa na Rotina 2011, mas há preço de oferta cadastrado na Rotina 2017. - Manter a configuração de Layout 2 (parâmetros 1973, 2257 e 2291 como “Sim” na Rotina 132).
- Certificar-se de que não há uma Oferta Programada ativa para o produto na Rotina 2011 (ou não está dentro do período de vigência).
- Na Rotina 2017, manter a precificação para a embalagem com valores de P. Oferta e P. Oferta Atacado vigentes.
- Executar o endpoint Consulta Itens: http://{{host}}:{{port}}/winthor/venda/v0/ifood/item?filial=1&page=1&pageSize=25.
Resultado Esperado (Status 200 OK): O grupo prices.promotionPrice e scalePrices.price devem trazer os valores de oferta (VLOFERTA e VLOFERTAATAC) configurados na Rotina 2017. |
|
04. DEMAIS INFORMAÇÕES
05. ASSUNTOS RELACIONADOS
