Skip to main content

edi

Leitor EDI

Descrição

  • Aplicação responsável em ler arquivos OCOREN, CONEMB (CT-e) e DOCCOB. * Todos esses arquivos são enviados pela transportadora.

Serviços corelacionados

Mapeamento & Regras de negócio

alt text

  • Os arquivos podem ser enviados diretamente para um e-mail que o leitor os pega automaticamente e faz a leitura;

  • Os arquivos podem ser enviados por meio de um servidor FTP, que também são lidos automaticamente;

  • E no caso de CONEMB e DOCCOB, podem ser importados manualmente através do dashboard;

  • Para arquivos OCOREN foi desenvolvida a estratégia de dividir a requisição de ocorrências para a API INTERNA em n partes de 1000 ocorrências cada, com intervalo 2 segundo entre elas (constante - "sleepBetweenParts").

  • Para arquivos CONEMB foi desenvolvida a estratégia de dividir a requisição de conhecimento para a API EXTERNA em n partes de 1000 conhecimentos cada, com intervalo 2 segundo entre elas (constante - "sleepBetweenParts").

  • Retry para requisições tanto OCOREN quanto CONEMB. Limitado a 5 tentativas com intervalo de 1 segundo.

  • As ocorrências são enviadas para a API INTERNA porque quando desenvolvido o leitor-edi a API EXTERNA não abordava a atualização de ocorrências.

  • Os conhecimentos são enviados para API EXTERNA porque quando o leitor-edi começou a interpretar CONEMB a API EXTERNA já abordava os conhecimentos.

Configuração de conta de e-mail

  • Adicionar informações de acesso na tabela "email_accounts";

Sugestão de configuração de e-mail para usar em testes

Exemplo de uso com GMAIL

  • IMAP: imap.gmail.com;
  • PORTA: 993;
  • Garantir que sua conta esteja em português;
  • Ativar IMAP no gmail.com: CAIXA DE ENTRADA > CONFIGURAÇÕES > VER TODAS AS CONFIGURAÇÕES > ENCAMINHAMENTO E POP/IMAP > ACESSO IMAP > Ativar;
  • Ativar acesso a app menos seguro: https://myaccount.google.com/ > SEGURANÇA > ACESSO A APP MENOS SEGURO > Ativar;

Processamentos dos arquivos por categoria (ocorren, conemb, cteXml e doccob)

Implementamos uma nova abordagem de processamento dos arquivos em suas categorias, agora no lugar de uma fila única, cada categoria é controlado por um processador de trabalhadores que é limitado a constante “limitWorker”. Criando uma escala horizontal de processamento dos arquivos. Esse processador alimenta um canal que é consumido pelos trabalhadores (funções responsáveis) e devolve o resultado por meio de um canal de resposta.

Arquivos CONEMB

  • Leitor EDI lê os arquivos CONEMB (Conhecimentos Embarcados) recebidos pelo email EDI;
  • Dispara para a API Externa se passando por uma transportadora, com integratorToken global;
  • API Externa recebe e repassa à API Interna;
  • API Interna recebe os dados lidos e disparados pelo Leitor, com o token global.

Stakeholders (envolvidos)

Configuração do projeto exemplo

NGINXPHPGOLANGSDKNODEDBHTTPGRPC
--OK---813750063

Iniciando um projeto exemplo

# Clone este projeto
$ git clone git@github.com:freterapido/leitor-edi.git

# Acessa o projeto
$ cd leitor-edi

#crie o banco de dados mysql
$ leitor_edi_db_dev

#executa
$ make