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

-
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
- hostname: outlook.office365.com
- imap_port: 993
- email: fr.edi.developers@outlook.com
- senha: RnI4NzM0NjUzZWRpQEA0NTc0Yg==
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)
- Leonardo Teixeira (leonardo@freterapido.com)
- Gabriel Lasaro (gabriel@freterapido.com)
- Savio Araujo Pagung (savio.pagung@freterapido.com)
Configuração do projeto exemplo
| NGINX | PHP | GOLANG | SDK | NODE | DB | HTTP | GRPC |
|---|---|---|---|---|---|---|---|
| - | - | OK | - | - | - | 8137 | 50063 |
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