01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Pedido de Venda

Função:Integrações Winthor
País:Brasil
Requisito/Story/Issue (informe o requisito relacionado) :DINTVENDAS-91


02. SITUAÇÃO/REQUISITO

Atualmente, o sistema de envio de itens ao iFood popula apenas o grupo prices no JSON, utilizando o campo PVENDA da tabela PCTABPR. O grupo scalePrices não era preenchido, o que impossibilitava que o iFood recebesse informações de preços diferenciados por atacado.

O objetivo é ajustar a API de envio de itens para que considere o tipo de precificação por atacado e varejo, populando corretamente o grupo scalePrices no JSON enviado ao iFood. Atualmente, o sistema popula apenas o grupo prices, utilizando o campo PVENDA da tabela PCTABPR, o que impede que o iFood receba informações de preços diferenciados por atacado. O grupo scalePrices não é preenchido.

03. SOLUÇÃO

Foi implementado um ajuste na API de envio de itens para que ela possa popular o grupo  scalePrices com o valor de atacado e a quantidade mínima necessária, dependendo do layout de precificação utilizado.

O preenchimento do JSON agora é regido por dois layouts:

1. Layout 1 (Precificação pela Rotina 201): O processo é sensível ao parâmetro 2277

    ◦ Se 2277 = 'P' (Padrão): Apenas o grupo prices é preenchido (com PVENDA), e scalePrices não é enviado.

    ◦ Se 2277 = 'A' (Atacado): O preço de varejo ( prices ) recebe PVENDAATACx, e o preço de atacado ( scalePrices ) recebe PVENDAx (Comportamento invertido do Winthor).

    ◦ Se 2277 = 'V' (Varejo): O preço de varejo ( prices ) recebe PVENDAx, e o preço de atacado ( scalePrices ) recebe PVENDAATACx.

2. Layout 2 (Precificação por Embalagem - Rotina 2017): O parâmetro 2277 NÃO é validado.

    ◦ É validado se PCEMBALAGEM.QTMINIMAATACADO está preenchido e é diferente de zero. Se for nulo ou zero, scalePrices NÃO deve ser enviado.

    ◦ Se for diferente de zero,  prices utiliza PCEMBALAGEM.PVENDA (varejo) e  scalePrices utiliza PCEMBALAGEM.PVENDAATAC (atacado), sendo a quantidade carregada de PCEMBALAGEM.QTMINIMAATACADO.

Em ambos os layouts, o Acréscimo de preço configurado na Rotina 2670 deve ser aplicado também no grupo scalePrices. Se o preço de atacado (PVENDAATACx ou valor equivalente) estiver nulo ou zero, o grupo  scalePrices não será enviado.


Parâmetro:

Parâmetro 2277 na Rotina 132 - Parâmetros da Presidência (valores 'P', 'A', 'V') (Aplicável ao Layout 1).

Parâmetros 1973, 2257 e 2291 iguais a “Sim” na Rotina 132 (Necessário para usar Precificação por Embalagem - Layout 2).

Rotinas e Dependências

Rotina 2670 - Gerenciar Parâmetros da Integração E-Commerce - Versão 38 ou superior.

Rotina 238 - Manutenção do Cadastro de Produtos (Fonte de informação da Qt, Mínima Atacado para Layout 1).

Rotina 2017 - Precificação por Embalagem (Fonte de preços para Layout 2).

Objeto winthor-venda - Versão 0.38.13.3 ou superior.

Serviço WSH - Versão 1.38.3.2 ou superior



Parâmetro:

Parâmetro 2277 na Rotina 132 - Parâmetros da Presidência (valores 'P', 'A', 'V') (Aplicável ao Layout 1).

Parâmetros 1973, 2257 e 2291 iguais a “Sim” na Rotina 132 (Necessário para usar Precificação por Embalagem - Layout 2).

Rotinas e Dependências

Rotina 2670 - Gerenciar Parâmetros da Integração E-Commerce - Versão 38 ou superior.

Rotina 238 - Manutenção do Cadastro de Produtos (Fonte de informação da Qt, Mínima Atacado para Layout 1).

Rotina 2017 - Precificação por Embalagem (Fonte de preços para Layout 2).

Objeto winthor-venda - Versão 0.38.13.3 ou superior.

Serviço WSH - Versão 1.38.3.2 ou superior

  1. Atualize o objeto winthor-venda para a versão 0.38.13.3 ou superior.
  2. Atualize o serviço WSH para a versão 1.38.3.2 ou superior.
  3. Garanta que a Rotina 2670 está na versão 38 ou superior.
  4. Conceda as permissões necessárias na Rotina 530 para a Rotina 2650
  1. Realize a autenticação no WTA executando o endpoint http://{{host}}:{{port}}/winthor/autenticacao/v1/login.
  2. Inicie o processo de autenticação na API iFood executando o endpoint {{baseUrl}}/oauth/userCode.
  3. Copie a URL completa retornada no JSON (verificationUrlComplete) e realize o login no portal iFood para autorizar/dar permissão para a loja.
  4. Execute o endpoint {{baseUrl}}/oauth/token, preenchendo o authorizationCode (código do aplicativo autorizado) e o authorizationCodeVerifier (valor gerado na etapa 2).
  5. Obtenha o accessToken retornado, que será utilizado nas chamadas subsequentes

1. Acesse a Rotina 2670 - Gerenciar Integrações E-Commerce.
2. Cadastre uma nova integração, obtendo um código de autorização.
3. Selecione o Layout de Integração desejado (ex: "Ifood Tabela de preço (1)" para Layout 1, ou "iFood - Preço por Embalagem (2)" para Layout 2).
4. Na aba Configurações, é possível informar o Acréscimo de preço. O valor preenchido é multiplicado por 100 na fórmula (ex: 0.1 = 10% de acréscimo)

Após o pedido alcançar o status SPE, o sistema Winthor tentará a importação.

Verificação da API (Postman/Virtual Bag)

Ao executar o endpoint virtual-bag com o orderId gerado, o status esperado é 200 OK.

Verificação na Rotina 2650

Na Rotina 2650, ao acessar a opção Detalhes Técnicos, a importação do pedido deve apresentar o Status S (Sucesso).

Verificação no Winthor (Rotina 336)

  • Os pedidos importados são gravados no sistema Winthor com a origem de pedido "R" (Balcão Reserva).
  • Os pedidos podem ser consultados e gerenciados na Rotina 336 - Alterar Pedido de Venda.
  • Se a configuração Multi Filial estiver ativa na Rotina 2650, pedidos originados em uma loja iFood associada à Filial 2, por exemplo, serão recebidos corretamente na Filial 2 no Winthor.


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