Consultores Diego.Foliene Postado 26 Junho Consultores Postado 26 Junho Passo a passo para a integração Realize o pré-cadastrado no site Dev.eFrete. Após o preenchimento do e-mail, você vai receber um e-mail da eFrete que deve ser respondido com CNPJ da empresa e Nome fantasia do sistema, ERP ou TMS. Depois de enviar essas informações, você receberá as credências de acesso ao ambiente de homologação e os dados aceitos no ambiente. Obs: Devido ao aumento repentino no volume de integrações temos recebido relatos de que esse processo pode levar um tempo para ser concluído. Particularidades e dicas extras Operações com certificado x Login sem certificado Login sem certificado: Para qualquer operação sem o certificado digital no eFrete é preciso de um token de autenticação que é gerado ao realizar a operação de Login. A operação de Login é feita utilizando o hash, usuário, senha e não devem ser preenchidos os dados do certificado no componente, conforme exemplo: ACBrCIOT.Configuracoes.Certificados.ArquivoPFX := ''; ACBrCIOT.Configuracoes.Certificados.Senha := ''; ACBrCIOT.Configuracoes.Certificados.NumeroSerie := ''; // Atenção, desabilitar essa propriedade ACBrCIOT.SSL.UseCertificateHTTP := False; ACBrCIOT.Configuracoes.Geral.Usuario := 'usuario do eFrete'; ACBrCIOT.Configuracoes.Geral.Senha := 'senha do eFrete'; ACBrCIOT.Configuracoes.Geral.HashIntegrador := 'HashIntegrador do eFrete'; A operação de login irá gerar um token que deverá ser preenchido nas demais operações, conforme exemplo: with ACBrCIOT.Contratos.Add.CIOT do begin // Só é necessário se usar usuario e senha e não o certificado Integradora.Token := 'token recebido na operação de login'; end; Operações com certificado: Para as operações com o certificado digital no eFrete, o login não é necessário pois não será utilizado o token, bastando preencher os dados do certificado, conforme exemplo: // Não preencher o ArquivoPFX se preencher o NumeroSerie ACBrCIOT.Configuracoes.Certificados.ArquivoPFX := 'arquivo. pfx'; ACBrCIOT.Configuracoes.Certificados.Senha := 'senha do certificado'; // Não preencher o NumeroSerie se preencher o ArquivoPFX ACBrCIOT.Configuracoes.Certificados.NumeroSerie := 'número de série do certificado'; // Atenção, habilitar essa propriedade ACBrCIOT.SSL.UseCertificateHTTP := True; ACBrCIOT.Configuracoes.Geral.Usuario := ''; ACBrCIOT.Configuracoes.Geral.Senha := ''; ACBrCIOT.Configuracoes.Geral.HashIntegrador := ''; Campos de mesmo nome com valores diferentes Dada a relação com o MDF-e, alguns campos podem receber a mesma informação. É importante lembrar, no entanto, que cada documento tem seu próprio conjunto de valores aceitos. Um exemplo é o campo TipoRodado no eFrete e o campo tpRod no MDF-e. Ambos recebem a informação do tipo de rodado, mas cada documento aceita um conjunto de valores diferente: MDF-e: 01 - Truck; 02 - Toco; 03 - Cavalo Mecânico; 04 - VAN; 05 - Utilitário; 06 - Outros. eFrete: NaoAplicavel; Truck; Toco; Cavalo. Exemplo de preenchimento do tipo Rodado para o eFrete no ACBrCIOT: var lCIOT: TCIOT; begin lCIOT := ACBrCIOT.Contratos.Add.CIOT; lCIOT.Integradora.Operacao := opGravarVeiculo; //Valores válidos são trNaoAplicavel, trTruck, trToco, trCavalo lCIOT.GravarVeiculo.TipoRodado := trNaoAplicavel; //Demais informações... end; Valores e informações específicos para o ambiente de homologação O ambiente de homologação por padrão solicita o envio de um certificado digital, mas seu envio não é obrigatório. Em ambiente de homologação apenas os Integradores são cadastrados, informe seu próprio, CNPJ como MatrizCNPJ e como Contratante do Frete nas requisições relacionadas. Exemplo de preenchimento de MatrizCNPJ e Cnpj do contratente no ACBrCIOT para o eFrete: var lCIOT: TCIOT; begin lCIOT := ACBrCIOT.Contratos.Add.CIOT; lCIOT.Integradora.Operacao := opAdicionar; lCIOT.AdicionarOperacao.MatrizCNPJ := 'pseudoCNPJ'; lCIOT.AdicionarOperacao.Contratante.CpfOuCnpj := 'mesmopseudoCNPJ'; //Demais informações... end; Web Service Soap x API Rest A integradora eFrete disponibiliza tanto um web service SOAP que comunica com arquivos XMLs quanto uma API Rest que recebe arquivos JSON. O componente ACBrCIOT se comunica com o web service SOAP. Caso enfrente algum problema ou erro inesperado, é válido realizar um teste para a mesma operação na API Rest e conferir se o retorno diverge. Você pode utilizar uma ferramenta de IA para converter o XML gerado pelo componente no JSON correspondente e fazer o envio. Leia o manual do eFrete na integra AQUI. 4 Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Discord Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Recommended Posts