gkenji
Membros-
Total de ítens
20 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que gkenji postou
-
Aqui ainda não voltou, está dando esse erro: Mensagem: Rejeitado pelo Emissor Nacional: Erro na assinatura do XML. - Cod. Interno: 53876715 - Cod. Interno 53876715 Estou tentando pelo programa exemplo da NFSe do ACBr, até esses dias atras estava funcionando normal.
-
Estou alimentando o componente dessa forma: with NotasFiscais.New.NFSe do begin // Numero do DPS a ser gerado e enviado para o WebService Numero := NumDFe; NumeroLote := NumLote; verAplic := 'ACBrNFSeX-1.00'; IdentificacaoRps.Numero := FormatFloat('#########0', StrToInt(NumDFe)); IdentificacaoRps.Serie := '2'; DataEmissao := Now; DataEmissaoRPS := Now; Competencia := Now; // TtpEmit = (tePrestador, teTomador, teIntermediario) tpEmit := tePrestador; RegimeEspecialTributacao := retNenhum; //retISSQNAutonomos; // TOptanteSN = (osnNaoOptante, osnOptanteMEI, osnOptanteMEEPP) OptanteSN := osnOptanteMEEPP; infNFSe.IBSCBS.cLocalidadeIncid := StrToIntDef(edtCodCidade.Text, 0); infNFSe.IBSCBS.xLocalidadeIncid := edtEmitCidade.Text; Servico.ItemListaServico := '140101'; Servico.CodigoTributacaoMunicipio := '010'; Servico.CodigoNBS := '120013110'; Servico.Discriminacao := 'discriminacao I' + ACBrNFSeX1.Configuracoes.WebServices.QuebradeLinha + 'discriminacao II' + ACBrNFSeX1.Configuracoes.WebServices.QuebradeLinha + 'discriminacao III' + ACBrNFSeX1.Configuracoes.WebServices.QuebradeLinha + 'discriminacao IV'; Servico.CodigoMunicipio := edtCodCidade.Text; Servico.CodigoPais := 1058; // Brasil Servico.Valores.BaseCalculo := 100.35; Servico.Valores.ValorServicos := 100.35; Servico.Valores.ValorDeducoes := 0.00; Servico.Valores.Aliquota := 3.00; Servico.Valores.ValorLiquidoNfse := 100.35; Servico.Valores.ValorIss := 3.01; Servico.Valores.DescontoIncondicionado := 0.00; Servico.Valores.DescontoCondicionado := 0.00; Servico.Valores.tribMun.cPaisResult := 0; Servico.Valores.tribMun.tribISSQN := tiOperacaoTributavel; Servico.Valores.tribMun.tpImunidade := timNenhum; Servico.Valores.tribMun.tpRetISSQN := trNaoRetido; Servico.Valores.totTrib.indTotTrib := indNao; Servico.Valores.totTrib.vTotTribFed := 0; Servico.Valores.totTrib.vTotTribEst := 0; Servico.Valores.totTrib.vTotTribMun := 3.01; Servico.Valores.totTrib.pTotTribFed := 0; Servico.Valores.totTrib.pTotTribEst := 0; Servico.Valores.totTrib.pTotTribMun := 3; Prestador.IdentificacaoPrestador.CpfCnpj := edtEmitCNPJ.Text; Prestador.IdentificacaoPrestador.InscricaoMunicipal := edtEmitIM.Text; Prestador.cUF := UFparaCodigoUF(edtEmitUF.Text); Prestador.Endereco.TipoLogradouro := 'RUA'; Prestador.Endereco.Endereco := edtEmitLogradouro.Text; Prestador.Endereco.Numero := edtEmitNumero.Text; Prestador.Endereco.Complemento := ''; Prestador.Endereco.TipoBairro := 'BAIRRO'; Prestador.Endereco.Bairro := edtEmitBairro.Text; Prestador.Endereco.CodigoMunicipio := edtCodCidade.Text; Prestador.Endereco.xMunicipio := 'BAURU'; Prestador.Endereco.UF := edtEmitUF.Text; Prestador.Endereco.CodigoPais := 1058; // Brasil Prestador.Endereco.CEP := edtEmitCEP.Text; Prestador.Endereco.xPais := 'BRASIL'; Prestador.Contato.Telefone := '1633445566'; Prestador.Contato.Email := '[email protected]'; Tomador.AtualizaTomador := snNao; Tomador.TomadorExterior := snNao; Tomador.IdentificacaoTomador.CpfCnpj := '00000000000'; Tomador.IdentificacaoTomador.InscricaoMunicipal := ''; Tomador.IdentificacaoTomador.InscricaoEstadual := ''; Tomador.IdentificacaoTomador.CAEPF := ''; Tomador.RazaoSocial := 'Gabriel Kenji'; Tomador.Endereco.TipoLogradouro := 'RUA'; Tomador.Endereco.Endereco := 'NOME RUA'; Tomador.Endereco.Numero := '000'; Tomador.Endereco.TipoBairro := 'BAIRRO'; Tomador.Endereco.Bairro := 'BAIRRO'; Tomador.Endereco.CodigoMunicipio := edtCodCidade.Text; Tomador.Endereco.xMunicipio := 'BAURU'; Tomador.Endereco.UF := edtEmitUF.Text; Tomador.Endereco.CodigoPais := 1058; // Brasil Tomador.Endereco.CEP := '00000000'; Tomador.Endereco.xPais := 'BRASIL'; Tomador.Contato.Telefone := '14000000000'; Tomador.Contato.Email := '[email protected]'; end; end; Retorno que estou tendo, é esse: Mensagem: Rejeitado pelo Emissor Nacional: RNG6110 - Falha Schema Xml br Crítica do Emissor Nacional: The 'http://www.sped.fazenda.gov.br/nfse:cLocalidadeIncid' element is invalid - The value '' is invalid according to its datatype 'http://www.sped.fazenda.gov.br/nfse:TSCodMunIBGE' - The Pattern constraint failed. - Cod. Interno 52763643 Mesmo informando isso: infNFSe.IBSCBS.cLocalidadeIncid := StrToIntDef(edtCodCidade.Text, 0); infNFSe.IBSCBS.xLocalidadeIncid := edtEmitCidade.Text;
-
Então, tem dois grupos de tags: Servico.Valores.totTrib.vTotTribFed := 0; Servico.Valores.totTrib.vTotTribEst := 0; Servico.Valores.totTrib.vTotTribMun := 3.01; Servico.Valores.totTrib.pTotTribFed := 0; Servico.Valores.totTrib.pTotTribEst := 0; Servico.Valores.totTrib.pTotTribMun := 0; Eu peguei uma nota do meu cliente, e lá está informando o vTotTribXXX, e quando tento fazer pelo ACBr, informa o pTotTribXXX Não sei se é isso que está impedindo minha nota de ir..
-
Então, eu informei algumas tags, e não foi, vo colar algumas aqui, que estou com dúvida do preenchimento. Servico.Valores.totTrib.indTotTrib := indNao; Servico.Valores.totTrib.vTotTribFed := 0; Servico.Valores.totTrib.vTotTribEst := 0; Servico.Valores.totTrib.vTotTribMun := 3.01; Servico.Valores.totTrib.pTotTribFed := 0; Servico.Valores.totTrib.pTotTribEst := 0; Servico.Valores.totTrib.pTotTribMun := 0; IBSCBS.finNFSe := fnfsRegular; IBSCBS.indFinal := ifNao; IBSCBS.cIndOp := '030103'; IBSCBS.tpOper := togNenhum; IBSCBS.tpEnteGov := tcgNenhum; IBSCBS.indDest := idTomadorAdquirenteDestinatarioIguais; IBSCBS.valores.trib.gIBSCBS.CST := cst000; IBSCBS.valores.trib.gIBSCBS.cCredPres := cpNenhum; IBSCBS.valores.trib.gIBSCBS.gTribRegular.CSTReg := cstNenhum; IBSCBS.valores.trib.gIBSCBS.gTribRegular.cClassTribReg := ''; IBSCBS.valores.trib.gIBSCBS.cClassTrib := '000001'; São somente esses que precisa informar?
-
Estou tentando enviar em modo homologação, atualizei os fontes hoje, coloquei a opção de Remover arquivos antigos. Está dando esse erro: Mensagem: Rejeitado pelo Emissor Nacional: RNG6110 - Falha Schema Xml br Crítica do Emissor Nacional: The 'http://www.sped.fazenda.gov.br/nfse:cLocalidadeIncid' element is invalid - The value '' is invalid according to its datatype 'http://www.sped.fazenda.gov.br/nfse:TSCodMunIBGE' - The Pattern constraint failed. - Cod. Interno 52763609 Comecei a informar a opção: infNFSe.IBSCBS.cLocalidadeIncid := StrToIntDef(edtCodCidade.Text, 0); infNFSe.IBSCBS.xLocalidadeIncid := edtEmitCidade.Text; Mas mesmo assim não adiantou, tentei comentar a linha: procedure TNFSeW_SilTecnologiaAPIPropria.Configuracao; begin inherited Configuracao; //GerarIBSCBSNFSe := True; end; Também não adiantou. Alguém sabe mais alguma coisa que possa fazer? Estou tentando tudo pelo programa Exemplo, clico no radiobutton de "Gera os Campos da Reforma Tributaria", coloquei NÃO
-
Boa noite, A SIL Tecnologia disponibilizou um XML de exemplo: https://interface.siltecnologia.com.br/notafiscalnacional/#xmlmodelo No XML, tem um campo: <!-- Informar 1 (não optante simples nacional), 2 (SINAC), 3 (SIMEI) --> <opSimpNac>1</opSimpNac> Dizendo então que: 1- Não optante 2- SINAC - Optante Simples 3- SIMEI - MEI Se você entrar no site do GOV (https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_i-sefin_adn-dps_nfse-snnfse-1.xlsx/view), e baixar o Excel com as informações do Layout da DPS NFSe, ele diz outra coisa: No Excel, tem a aba "LEIAUTE DPS_NFSe" Linha 89, diz que: Fizendo que o 2 é MEI e 3 é Optante simples E agora? o que eu sigo?
-
Não consegui resolver dessa forma. Eu peguei o TACBrPosPrinter, peguei a NT referente a impressão de NFCe e fiz a minha própria impressão. procedure TNFe.ImprimirNFCe(Nota: TACBrNFe; ImpPorta: String; ImpModelo: TAcbrPosPrinterModelo; TribFederal, TribEstadual, TribMunicipal: Currency); var mTexto : TStringList; I : Integer; auxCNPJ : String; auxNomeEmpresa : String; auxLinhaUm : String; auxEndereco : String; auxBairro : String; auxLinhaDois : String; auxCidade : String; auxUF : String; auxCEP : String; auxLinhaTres : String; auxLinhaProdutos : String; begin auxCNPJ := PadLeft(FormatarCNPJ(Nota.NotasFiscais.Items[0].NFe.Emit.CNPJCPF), 18, ' '); auxNomeEmpresa := '<n>'+Copy(Nota.NotasFiscais.Items[0].NFe.Emit.xNome,1,35)+'</n>'; auxLinhaUm := PadCenter('CNPJ: '+auxCNPJ+' | '+auxNomeEmpresa,64,' '); auxEndereco := Copy(Nota.NotasFiscais.Items[0].NFe.Emit.EnderEmit.xLgr,1,40); auxBairro := Copy(Nota.NotasFiscais.Items[0].NFe.Emit.EnderEmit.xBairro,1,22); auxLinhaDois := PadCenter(auxEndereco+' | '+auxBairro,64,' '); auxCidade := Copy(Nota.NotasFiscais.Items[0].NFe.Emit.EnderEmit.xMun,1,30); auxUF := Copy(Nota.NotasFiscais.Items[0].NFe.Emit.EnderEmit.UF, 1, 2); auxCEP := Copy(FormatarCEP(IntToStr(Nota.NotasFiscais.Items[0].NFe.Emit.EnderEmit.CEP)), 1, 10); auxLinhaTres := PadCenter(auxCidade+'/'+auxUF+' | '+auxCEP,64,' '); mTexto := TStringList.Create; try mTexto.Clear; mTexto.Add('</fb>'); //**************************************************************************************************************************** //CABEÇALHO DA NFCe //**************************************************************************************************************************** mTexto.Add(auxLinhaUm); mTexto.Add(auxLinhaDois); mTexto.Add(auxLinhaTres); mTexto.Add(StringOfChar('-',64)); mTexto.Add('<n> DOCUMENTO AUXILIAR NOTA FISCAL DE CONSUMIDOR ELETRÔNICA </n>'); mTexto.Add(StringOfChar('-',64)); mTexto.Add(' '); //**************************************************************************************************************************** //ITENS DA NFCe //**************************************************************************************************************************** mTexto.Add('<n>CODIGO DESCRICAO QTDE VL UNIT VL TOTAL</n>'); mTexto.Add(StringOfChar('-',64)); for I := 0 to Pred(Nota.NotasFiscais.Items[0].NFe.Det.Count) do begin auxLinhaProdutos := PadRight(FormatFloat('000000',StrToInt(Nota.NotasFiscais.Items[0].NFe.Det.Items[I].Prod.cProd)), 6) +' '+ PadRight(Nota.NotasFiscais.Items[0].NFe.Det.Items[I].Prod.xProd, 31) +' '+ PadLeft(FormatFloat('0000', Nota.NotasFiscais.Items[0].NFe.Det.Items[I].Prod.qCom), 4) +' '+ PadLeft(FormatFloat('###,##0.00', Nota.NotasFiscais.Items[0].NFe.Det.Items[I].Prod.vUnCom), 9) +' '+ PadLeft(FormatFloat('###,##0.00', Nota.NotasFiscais.Items[0].NFe.Det.Items[I].Prod.vProd), 9); mTexto.Add(auxLinhaProdutos); end; //**************************************************************************************************************************** //TOTAIS DA NFCe //**************************************************************************************************************************** mTexto.Add(StringOfChar('-',64)); mTexto.Add('Qtde total de itens '+ FormatFloat('0000',Nota.NotasFiscais.Items[0].NFe.Det.Count)); mTexto.Add('Valor total R$ '+PadLeft(FormatFloat('###,##0.00',Nota.NotasFiscais[0].NFe.Total.ICMSTot.vProd),9)); if Nota.NotasFiscais[0].NFe.Total.ICMSTot.vDesc > 0 then mTexto.Add('Desconto R$ '+PadLeft(FormatFloat('###,##0.00',Nota.NotasFiscais[0].NFe.Total.ICMSTot.vDesc),9)); mTexto.Add('<n>Total a Pagar R$ '+PadLeft(FormatFloat('###,##0.00',Nota.NotasFiscais[0].NFe.Total.ICMSTot.vNF),9)+'</n>'); mTexto.Add(' '); //**************************************************************************************************************************** //FORMAS DE PAGAMENTOS DA NFCe //**************************************************************************************************************************** mTexto.Add('<n>FORMA PAGAMENTO VALOR PAGO</n>'); for I := 0 to Pred(Nota.NotasFiscais[0].NFe.pag.Count) do begin var auxFormaPagamento := FormaPagamentoToDescricao(Nota.NotasFiscais[0].NFe.pag[I].tPag); mTexto.Add(PadRight(auxFormaPagamento, 30)+' '+PadLeft(FormatFloat('###,##0.00',Nota.NotasFiscais[0].NFe.pag[I].vPag),9)); end; //**************************************************************************************************************************** //CONSULTA PELA CHAVE + IDENTIFICAÇÃO DO CLIENTE CONSUMIDOR + NUMERO DA NFCe + PROTOCOLO + SERIE + QRCODE //**************************************************************************************************************************** mTexto.Add(StringOfChar('-',64)); mTexto.Add(' Consulte pela Chave de Acesso em '); mTexto.Add(PadCenter(Nota.NotasFiscais[0].NFe.infNFeSupl.urlChave,64)); mTexto.Add('<n>'+PadCenter(FormatarChaveNFe(Nota.NotasFiscais[0].NFe.procNFe.chNFe),64)+'</n>'); mTexto.Add(' '); if Nota.NotasFiscais[0].NFe.Dest.CNPJCPF <> '' then begin var auxConsumidor := PadCenter('Consumidor - CPF: '+Copy(FormatarCPFCNPJ(Nota.NotasFiscais[0].NFe.Dest.CNPJCPF),1,14)+' - '+Copy(Nota.NotasFiscais[0].NFe.Dest.xNome,1,29),64); mTexto.Add('<n>'+auxConsumidor+'</n>') end else mTexto.Add('<n>'+PadCenter('Consumidor não identificado',64)+'</n>'); mTexto.Add(' '); mTexto.Add(' <n>NFCe Nº:</n> '+StrZero(Nota.NotasFiscais[0].NFe.Ide.nNF,6)+' | <n>Serie:</n> '+IntToStr(Nota.NotasFiscais[0].NFe.Ide.serie)+' | '+DateTimeToStr(Nota.NotasFiscais[0].NFe.Ide.dEmi)+' '); mTexto.Add(' <n>Protocolo de Autorizaçao:</n> '+Nota.NotasFiscais[0].NFe.procNFe.nProt+' '); mTexto.Add(' <n>Data da Autorizaçao:</n> '+DateTimeToStr(Nota.NotasFiscais[0].NFe.procNFe.dhRecbto)+' '); mTexto.Add('</ce>'); mTexto.Add('<qrcode>'+Nota.NotasFiscais[0].NFe.infNFeSupl.qrCode+'</qrcode>'); mTexto.Add(''); //**************************************************************************************************************************** //TRIBUTOS FISCAIS //**************************************************************************************************************************** if (TribFederal > 0) or (TribMunicipal > 0) or (TribEstadual > 0) then begin mTexto.Add(' Tributos totais incidentes (LEI 12.741/2012) '); var auxFederal := 'Federal '+FormatFloat('#,##0.00', TribFederal); var auxMunicipal := 'Municipal '+FormatFloat('#,##0.00', TribMunicipal); var auxEstadual := 'Estadual '+FormatFloat('#,##0.00', TribEstadual); var auxLinhaTributos := PadCenter(auxFederal+' | '+auxMunicipal+' | '+auxEstadual,64); mTexto.Add(auxLinhaTributos); mTexto.Add(' Fonte para Trib. Aprox.: IBPT versão CAF7DD '); end; mTexto.Add(''); mTexto.Add('</corte_total>'); PosPrinter.Porta := ImpPorta; PosPrinter.Modelo := ImpModelo; PosPrinter.Ativar; try PosPrinter.Buffer.Clear; PosPrinter.Buffer.Add(mTexto.Text); PosPrinter.Imprimir; finally PosPrinter.Desativar ; end; finally mTexto.Free; end; end; É só chamar a function, passando os parâmetros, no caso o proprio ACBrNFe1, porta, modelo, e tributos..
-
Caixa de Sugestões do Papo Pro ACBr
gkenji replied to EMBarbosa's tópico in Dúvidas Gerais sobre o ACBr
Acho que poderiam abordar o assunto de criação de Componentes visuais, pelo menos até hoje vejo poucas pessoas falarem.. A comunidade Delphi, acho que ficou bastante acostumada a instalar os componentes: JEDI, Raise, TMS, suiPack, DevExpress, UniGUI entre muitos outros.. No momento da instalação, sempre é muito legal, ver aquela quantidade imensa de opções, porem, depois de algum tempo, principalmente se tem uma equipe muito grande, torna-se uma dificuldade. Como as empresas, software houses, etc.. lidam com isso hoje em dia? existe muitos componentes instalados? fazem seus proprios componentes? usam somente os nativos? usa o gerenciador de dependencia de componentes pelo BOSS? -
Sim, peguei o programa exemplo, e testei todas as opções de impressoras (01), com todas opções de Pag. Codigo (02), com opção EscPos (03) selecionado, umas não imprimiram o QRCode, outras deram erro, outras imprimiram, porem sempre desconfigurado.. A opção Fortes (03) foi o que mais chegou perto do desejado.. Tentei fazer a reinstalação dos drivers da impressora, para tentar achar algum outro problema, porem não deu certo também..
-
Estou tendo problemas para fazer a impressão da NFCe. Tentei fazer com os dois componentes ACBrNFeDANFeESCPOS (ligado a um ACBRPosPrinter), onde o resultado é igual a imagem abaixo Tentei fazer com o componente ACBrNFeDANFCeFortes1, onde o resultado é igual a imagem abaixo Esse aparentemente está mais correto, porem para aparecer dessa forma eu preciso habilitar "MostrarPreview". A hora que abrir o preview, clicar em propriedades da impressora, clicar em OK (sem alterar absolutamente nada), e depois clicar em imprimir, se eu não dizer todos esses passos, a impressão sai assim: Existe alguma configuração que possa fazer para resolver esse problema?
-
Obrigado pela resposta Italo, mas encontrei o problema. Entrei em contato com a SilTecnoliga (provedora da NFSe de Bauru) Foi me passado que a 1 mês a empresa alterou os códigos de atividade que o CNPJ pode emitir, ou seja, se for apresentado esse erro descrito acima: O campo Atividade informado não pertence a lista de atividades do CCM. Provavelmente o CNPJ não pode emitir esse Código de Atividade. Para acompanhar isso no provedor da SilTecnologia, você precisa entrar no site da prefeitura, e seguir esses passos: – Clicar em Sistema Nota Fiscal Eletrônica – Insira o CPF/CNPJ e a Senha, coloque o Texto Imagem apresentado e clique em Confirmar – Clique no botão Fichas e Extratos, – Selecione a linha da empresa e depois clique no botão azul Continuar – Selecione em Nome do relatório a * Ficha Cadastro Mobiliário* e clique em Confirmar, abrirá o documento da ficha da empresa. Lá vai ter os CNAE's e Serviços que podem ser enviados. Aqui deu certo depois desse ajuste.
-
Então, eu pensei que fosse esse o problema, CNAE vs Código de Atividade, fiz uma pesquisa no Google, e achei os CNAE com seus respectivos Códigos de atividades. Estou informando o CNAE: 45.20-0-07 E o Código de Atividade é o: 14.01 Segundo esse site, está correto (imagem abaixo); Uma dúvida que eu tenho é se essa tabela muda para cada provedor? Tentei informar com os pontos, tentei informar sem os pontos, o erro sempre continua o mesmo. Referencia do site que peguei essa informação: https://www.tributosmunicipais.com.br/NFE-Arcoverde/parametros/docs/Tabela_CNAE_x_Atividade_x_Item_da_Lista_de_Servicos.pdf Fui na consulta de CNPJ da receita federal, e lá consta esses CNAE's (imagem abaixo) Eu tentei todos esses códigos CNAE's, e nenhum foi. Como esse cliente já está em funcionamento, eu peguei um xml da nota fiscal já aprovada, e percebi que o campo CNAE não está preenchido, isso é normal? (imagem abaixo) Tem mais alguma coisa que eu possa tentar? Agradeço pelo tempo e pela respota..
-
Desculpe, esqueci de postar o xml.. 3524095930288500012656000000000000003-rps.xml
-
Boa tarde, Estou tentando emitir uma nota fiscal eletronica de serviços para SilTecnologia (Bauru), e está apredentando dois erros: Fiz uma pesquisa no forum, e achei alguém com o mesmo problema que eu, fiz os passos que foi dito no post, que era: Baixei pelo SVN, dei update, e fiz a reinstalação do ACBR. E o erro continua: Erro(s): Código : 1 Mensagem: O campo Atividade informado não pertence a lista de atividades do CCM. Correção: Corrija os campos informados. --------- Código : X202 Mensagem: Lista de NFSe não encontrada! (ListaNfse) Correção: Notei que ele faz o preenchimento pela função: Alimentar_Componente_layout_ABRASF No erro 01, eu acho que falta preenchimento de algum campo.. No erro 02, eu acho que não está encontrando o código de serviço, estou informando: "14.01"
-
API Rest Certificado Digital P12
gkenji replied to gkenji's tópico in Object Pascal - Delphi & Lazarus
Deu erro de SSL, essa mensagem de erro "certificate verify failed", me parece que não é o certificado correto.. Caso seja correto o certificado.. verifica esse ponto do código.. Mode := sslmUnassigned; <--- verifica esse ponto também.. SSLVersions := [sslvTLSv1_2]; <--- pesquisa, existe outros tipos de forma de SSL versões e etc.. -
API Rest Certificado Digital P12
gkenji replied to gkenji's tópico in Object Pascal - Delphi & Lazarus
Esse fonte é muito antigo Moysés, não vo lembrar tudo.. Mas passando o olho ai, é o componente do Indy TIdHTTP Variaveis deve ser isso HttpClient: TIdHTTP; JsonToSend: TMemoryStream; Para acertar os uses, é só colocar um componente do indy TIdHttp e um TIdSSLIOHandlerSocketOpenSSL -
API Rest Certificado Digital P12
gkenji replied to gkenji's tópico in Object Pascal - Delphi & Lazarus
Nem lembrava mais desse código.. Utilizei para fazer a comunicação com o PIX .. Caso tenham dúvidas só falar.. abraço! -
API Rest Certificado Digital P12
gkenji replied to gkenji's tópico in Object Pascal - Delphi & Lazarus
Consegui, usando o INDY.. HttpClient := TIdHTTP.Create( nil ); HttpClient.ConnectTimeout := 20000; HttpClient.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); with TIdSSLIOHandlerSocketOpenSSL(HttpClient.IOHandler).SSLOptions do begin CertFile := [CaminhoCertificado.crt.pem]; //mudar caminho certificado aqui KeyFile := [CaminhoCertificado.key.pem]; //mudar caminho certificado aqui Mode := sslmUnassigned; SSLVersions := [sslvTLSv1_2]; //mudar protocolos de SSL aqui end; with HttpClient do begin Request.CustomHeaders.Values['Content-Type'] := 'application/json; application/x-www-form-urlencoded;'; Request.ContentType := 'application/json'; Request.CharSet := 'utf-8'; Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; GTB5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30618)'; HandleRedirects := True; HTTPOptions := [hoKeepOrigProtocol, hoInProcessAuth]; end; Body:= '[conteudo body]'; //mudar body aqui JsonToSend := TMemoryStream.Create; WriteStringToStream(JsonToSend, Body, IndyTextEncoding_UTF8); JsonToSend.Position := 0; sResponse := HttpClient.Post([URL],JsonToSend); //mudar URL aqui -
Estou fazendo o consumo de uma API Rest na qual precisa carregar um certificado. Consumi ele no Postman e funcionou: -> Entrei em File -> settings -> certificates -> coloquei o HOST e o arquivo *.p12 -> Fiz uma requisição POST, com <authorization> basic, passando usuário e senha.. -> Header só adicionei: Content-Type : application/json -> Body: {"grant_type": "client_credentials"} Eu tentei fazer exatamente isso com o REST Debugger.. Não deu certo.. authorization, content type, body td isso eu configurei.. Mas o certificado eu não sei aonde colocar no RESTClient/RESTRequest ou RESTResponse Alguém já passou por isso? ou sabe alguma solução alternativa?
-
Boa tarde, Notei que para reimprimir o SAT, é preciso ter o XML. Gravando o XML no meu servidor, em determinada pasta, etc.. etc.. Na hora que precisar re-imprimir, eu preciso achar o arquivo la, para poder fazer o comando: ACBrSAT.CFe.Clear; ACBrSAT.CFe.LoadFromFile('C:\teste.xml'); ACBrSAT.ImprimirExtrato Tenho receio de ter alguma alteração de pasta no servidor, e eu perder esse caminho, não sendo possível a re-impressão. A ) Alguém do forum já salvou todos os XML's, dentro de um campo text no banco de dados? A.1) Com ele no banco, eu consigo carregar o arquivo assim??? ACBrSAT1.CFe.AsXMLString := query.fieldbyname('xml').astext; A.2) Fica lento? É utilizável? B ) Eu acabei vendo uma solução no ACBrSATws, mas não encontrei muitas informações de como configurar..
