Páginas filhas
  • DINTVENDAS-46 - DT - Efetuar a obtenção dos eventos do iFood e preparar o payload de integração para o processamento de pedidos no Winthor.

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS Distribuição e Varejo

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Winthor

Segmento:

Segmentos_totvs
SegmentoDistribuição

Módulo:

Modulos_cross_segmentos

Modulos_framework

Modulos_totvs_construcao

Modulos_totvs_juridico

Modulos_totvs_logistica

Modulos_totvs_manufatura

Modulos_totvs_rh

Modulos_totvs_saude

Modulos_totvs_prestadores_de_servicos
Pedido de Venda

Função:Integrações Winthor
País:Brasil
Requisito/Story/Issue:DINTVENDAS-46


02. SITUAÇÃO/REQUISITO

Foi implementado um mecanismo de integração responsável por consultar os detalhes de pedidos no iFood a partir do OrderId, garantindo que o payload original do pedido seja recuperado e disponibilizado para conversão e integração no Winthor.

Antes da utilização desta integração, é pré-requisito consultar a documentação do fluxo de Polling, pois é a partir dele que os orderIds com status SPE (Separação Finalizada) são identificados e repassados para esta etapa.

03. SOLUÇÃO

Fluxo de Consulta e Recuperação de Pedido

  1. Entrada e Autenticação:

    • A rota recebe obrigatoriamente o parâmetro orderId, que identifica o pedido a ser consultado.

    • A chamada é realizada na rota do iFood /orders/{id}/virtual-bag.

    • A autenticação ocorre via Bearer Token, sendo que cada filial deve utilizar seu próprio token, garantindo o isolamento por merchant (escopo independente).

  2. Consulta à API de Order:

    • O sistema realiza a requisição à API do iFood utilizando o orderId informado.

    • Em caso de sucesso, é retornado o payload completo do pedido, sem qualquer transformação.

  3. Retorno e Armazenamento:

    • A resposta contém o JSON bruto retornado pela API do iFood.

    • Este JSON é armazenado e transformado integralmente na resposta da rota criada, permitindo que esses pedidos sejam processados posteriormente no Winthor.

    • É possível consultar o JSON na rotina 2650 - Detalhes técnicos do Winthor Smart Hub.

Regras de Resiliência e Tratamento de Erros

Falha de Autenticação (401 – Unauthorized):
Registra log informando falha de autenticação, indicando que o token está inválido ou expirado, porém apenas é apresentado nos logs do Winthor Smart Hub

...

Totvs custom tabs box
tabsPré-requisitos e Atualizações, Configuração de Integração, Autenticação e Obtenção do Token (API), Processamento de Pedidos no iFood
idspasso1,passo2,passo3,passo4
Totvs custom tabs box items
defaultyes
referenciapasso1

Pré-requisitos e Atualizações

Para iniciar a funcionalidade, o ambiente deve estar nas versões abaixo ou superiores:

  • Versão do serviços
    • winthor-venda                      - v0.38.4.1
    • winthor-smart-hub               - v1.38.3.2
    •  winthor-integracao-config - v1.38.2.6
    • winthor-integracao-2650    - v1.38.5.2
    • winthor-smart-hub-layouts - v1.38.0.17
Totvs custom tabs box items
defaultno
referenciapasso2

Na Rotina 2670 - Configuração de Integrações, é necessário cadastrar a integração e definir os parâmetros fixos:

  1. Crie a Integração E-commerce informando o código de layout (1 ou 2) e as filiais associadas.
  2. Defina os parâmetros de utilização e requisição, que são os valores fixos (Código de Cliente Padrão, Vendedor Padrão, etc.) que serão utilizados no Winthor.


Na Rotina 2650 - Configuração de Integrações no WSH e instale o layout relacionado a essa nova integração.

Totvs custom tabs box items
defaultno
referenciapasso3

É necessário obter o accessToken para que o Winthor possa se comunicar com a API do iFood.

  1. Execute o endpoint/oauth/userCode para gerar um userCode e uma URL de verificação completa (verificationUrlComplete).
  2. Copie a URL completa e abra-a no navegador. Faça login na conta de desenvolvedor iFood e autorize o aplicativo para a loja.
  3. O iFood exibirá o código de autorização.
  4. Execute o endpoint/oauth/token, preenchendo o authorizationCode (código obtido no passo anterior) e o authorizationCodeVerifier (valor gerado no primeiro passo).

O retorno deve ser o accessToken, que será utilizado para a busca dos pedidos.

Totvs custom tabs box items
defaultno
referenciapasso4

Para que um evento seja importado, ele precisa passar pelo fluxo de separação do iFood até atingir o status SPE (Separação Finalizada).

  1. O pedido é gerado no iFood (e passa pelos status PLC e CFM).
  2. Utilize o App Separador para iniciar a separação do pedido.
  3. Confirme os itens, geralmente digitando os 6 últimos dígitos do Código de Barras (EAN) do produto.
  4. Ao clicar em Finalizar Separação, o polling do sistema iFood gera o status SPE (SEPARATION_ENDED).
  5. Somente com o status SPE o pedido está pronto para ser consumido e importado para o Winthor.

IMPORTANTE:

É fundamental que os produtos cadastrados na loja iFood tenham o mesmo Código de Barras (EAN) e Código de Produto (CODPROD/SKU) cadastrados no Winthor. Caso contrário, será gerado um erro de produto não encontrado.


04. DEMAIS INFORMAÇÕES


Aviso

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

...