01. DADOS GERAIS

Produto:

TOTVS Distribuição e Varejo - Linha Winthor

Linha de Produto:

Linha Winthor

Segmento:

Distribuição TOTVS Goiânia

Módulo:

Vendas

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:

  1. Campo promotionPrice (grupo prices):
  2. Campo price (grupo scalePrices):


É 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

  1. Verificar e atualizar as dependências conforme listado na seção Rotinas e Dependências.
  2. Realizar a autenticação no WTA executando o endpoint: http://{{host}}:{{port}}/winthor/autenticacao/v1/login.
  3. Na Rotina 132, configurar os parâmetros 1973, 2257 e 2291 como “Sim”.
  4. Na Rotina 2670, cadastrar a Integração e configurá-la para utilizar o Layout 2.
  5. 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.

  1. Na Rotina 292, certificar-se de que o produto possui uma embalagem cadastrada.
  2. 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.
  3. 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.
  4. Executar o endpoint Consulta Itens: http://{{host}}:{{port}}/winthor/venda/v0/ifood/item?filial=1&page=1&pageSize=25.
  5. 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.

  1. Manter a configuração de Layout 2 (parâmetros 1973, 2257 e 2291 como “Sim” na Rotina 132).
  2. 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).
  3. Na Rotina 2017, manter a precificação para a embalagem com valores de P. Oferta e P. Oferta Atacado vigentes.
  4. 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


Importante!

As versões estarão disponíveis para download no CCW. 

https://centraldecontrole.pcinformatica.com.br/


Mantenha suas rotinas sempre atualizadas!



05. ASSUNTOS RELACIONADOS