01. DADOS GERAIS
| Produto: | |
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | |
|---|
| 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
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).
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.
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
• Pedido Inexistente (404 – Not Found):
Registra log informando que o orderId não foi encontrado ou não pertence ao token/filial informada.
• Erros de Rede ou Timeout:
Caso ocorra falha de comunicação com a API, o sistema registra o erro e devolve um status nos logs, preservando a estabilidade do processo.
Pré-requisitos e AtualizaçõesPara 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
|
Na Rotina 2670 - Configuração de Integrações, é necessário cadastrar a integração e definir os parâmetros fixos: - Crie a Integração E-commerce informando o código de layout (1 ou 2) e as filiais associadas.
- 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. |
É necessário obter o accessToken para que o Winthor possa se comunicar com a API do iFood. - Execute o endpoint /oauth/userCode para gerar um userCode e uma URL de verificação completa (verificationUrlComplete).
- Copie a URL completa e abra-a no navegador. Faça login na conta de desenvolvedor iFood e autorize o aplicativo para a loja.
- O iFood exibirá o código de autorização.
- 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. |
Para que um evento seja importado, ele precisa passar pelo fluxo de separação do iFood até atingir o status SPE (Separação Finalizada). - O pedido é gerado no iFood (e passa pelos status PLC e CFM).
- Utilize o App Separador para iniciar a separação do pedido.
- Confirme os itens, geralmente digitando os 6 últimos dígitos do Código de Barras (EAN) do produto.
- Ao clicar em Finalizar Separação, o polling do sistema iFood gera o status SPE (SEPARATION_ENDED).
- 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
05. ASSUNTOS RELACIONADOS
