Este documento visa explicar o funcionamente da Tela de Monitoramento de pedidos
Quando é iniciada a integração de um pedido, é exibido em tela, os dados basicos do pedido integrado. É possível realizar uma Pesquisa rápida e busca avançada.
Imagem 1 - Tela de Monitoramento
São exibidas as seguintes informações:
É possível realizar o processamento de um pedido individualmente pelo seu ID, a opção Processar pedido por ID irá abrir a seguinte tela:
Imagem 2 - Processamento de pedido por ID da tela de processamento
Após a confirmação do pedido, o mesmo será inserido na fila de integração.
Tela responsável por realizar as buscas mais detalhadas dos registros exibidos.
Imagem 3 - Busca avançada da tela de monitoramento
É possível realizar a busca por ID Pedido(iFood), Pedido (iFood), Nro Empresa, Situação (ERP), Status, Nome consumidor, Total do pedido, Data e Pedido(ERP).
A integração ocorre em três etapas exemplificadas no fluxograma abaixo:
Imagem 4 - Fluxo de integração de pedidos no Conector IFood
Nesta etapa, consultamos a API de Poolling do iFood em busca de pedidos separados, para isso filtramos os pedidos com status de SEPARATION_ENDED(SPE), ou seja, os status PLC, CFM, RTP, DSP, CON e CAN são ignorados na busca.
Ou seja, nesta primeira etapa só obtemos o ID do pedido que está pedente de integração. O serviço responsável por capturar os pedidos é o servicos\ServicoIntegracaoPedidosPooling que processa a cada 1 min. Internamente alimentamos a tabela Ecm_intstmwebhook ecm_intstmevento com as informações obtidas do pedido.
Nesta consulta recebemos informações limitadas do iFood, dessa forma essa consulta no painel de monitoramento reflete da seguinte forma:
Imagem 5 - Etapa de pedido pendente na tela de monitoramento
Nesta etapa, através do id obtido na Etapa 1, consultamos a API do iFood através do endpoint de post orders / vistualbag onde obtemos os dados complementares do iFood e transformamos na estrutura para alimentar a API de Pedido do ERP.
Vale ressaltar que ainda nesta etapa não não foi criado o pedido no ERP, pois a API de Pedido faz uma gama de validações para verificar se os dados do pedido está correto para assim integrar com o ERP. O serviço responsável por capturar os pedidos é o servicos\ServicoIntegracaoPedidos que processa a cada 1 min. Internamente complementamos a tabela Ecm_intstmwebhook ecm_intstmevento com as informações adicionais do pedido e também a estrutura da API de Pedidos de Vendas que poderá ser consultadas através da tabela mad_imppedvenda.
Nesta etapa conseguimos dados complementares do iFood e dessa forma exibimos no painel com o seguinte complemento:
Imagem 6 - Etapa de pedido enviado para a API de Pedido do ERP
Nesta última etapa, temos o processamento do pedido na API de Vendas. O processamento ocorre por via do Scheduler da API Processamento de Pedidos (Scheduler).
Neste processo, em caso de sucesso o pedido é criado nas tabelas definitivas do ERP, e na tela de monitoramento incrementamos com a informação do número do pedido no ERP e situação do mesmo. Internamente estrutura da API de Pedidos de Vendas que poderá ser consultadas através da tabela mad_imppedvenda onde consta se foi processado com sucesso e em caso de críticas será possível visualizar através do caminho Críticas de Importação
Imagem 7 - Etapa de pedido processado pelo Scheduler da API
Clique para expandir