Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

reij

Boletos via webserver caixa

Recommended Posts

Boa tarde a todos alguem aqui sabe me dizer se o acbr trabalha com envio de boletos via webserver/xml pois o modo tradicional é o cnab

desde já grato pela ajuda

Share this post


Link to post
Share on other sites

Boa tarde.

você se refere ao envio do boleto ou a remessa bancária?

Att.


Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Share this post


Link to post
Share on other sites
10 horas atrás, Juliana Tamizou disse:

Boa tarde.

você se refere ao envio do boleto ou a remessa bancária?

Att.

Estou tentando implementar o sistema de Webservice da caixa mas seria melhor este ser adicionado ao Acbr justo que já uso em minha aplicação.

Para entender melhor a Caixa e o Bradesco já implementaram um sistema de Webservice SOAP/XML com mensagem XSD e WSDL utilizando (SSL/HTTPS) em método GET/POST.

As funções disponíveis são INCLUI_BOLETO, ALTERA_BOLETO, BAIXA_BOLETO E CONSULTA_BOLETO.

Estou enviando o manual de implementação e o link do WSDL para importação no Delphi https://barramento.caixa.gov.br/sibar/ManutencaoCobrancaBancaria/Boleto/Externo?wsdl

Fiz pelo Delphi 7, 10.1 e 10.2 a importação mas o arquivo Externo.pas criado vem com layout todo bagunçado gerando erro na hora da execução além de faltar de alguns campos como CPF, CNPJ, NOME e RAZAO_SOCIAL.

Estou a disposição para envio de material se houver interesse de mais pessoas para o desenvolvimento da ferramenta, visto que envio de arquivo de remessa está sendo substituída pelos bancos.

 

A melhor parte deste sistema é que o retorno Soap inclui o link para download do boleto então nem é necessário formulário de impressão!

Manual_Leiaute_Webservice.pdf

Externo.pas

XML_INCLUI_BOLETO_EXEMPLO.xml

  • Like 1

Share this post


Link to post
Share on other sites

vou começar a estudar o manual do webservice

quais funções do delphi vc usou para montar a <AUTENTICACAO> ? 

tentei usar o HashSHA.GetHashString(Str,SHA256) e EncodeBase64 sem sucesso

 

 

Share this post


Link to post
Share on other sites

Fiz dessa forma deu certo pelo SoapUi enviou perfeito.

function GetStrHashSHA256(Str: String): TBytes;
var
  HashSHA: THashSHA2;
begin
    HashSHA := THashSHA2.Create;
    result := HashSHA.GetHashBytes(Str,SHA256);
end;

autenticacao:= Format('%7.7d',[StrToInt(SoNumero(codbeneficiario.Text))])+'14'+Format('%15.15d',[StrToInt(nossonumero.Text)])+FormatDateTime('ddmmyyyy',StrToDateTime(datavencimento.Text))+FormatFloat('000000000000000',StrToFloat(SoNumero(valor.Text)))+FormatFloat('00000000000000',StrToFloat(SoNumero(cpfcnpj.Text)));

edtbase64.Text:= TNetEncoding.Base64.EncodeBytesToString(GetStrHashSHA256(autenticacao));

 

Share this post


Link to post
Share on other sites

bom dia galera

to pesquisando tb sobre o assunto. ja existe alguma frente de trabalho sobre o assunto? tem algum lugar pra baixar os fontes pra contribuir?


Analista de Sistemas

Control Fácil Sistemas

MultiWare Tecnologia

Share this post


Link to post
Share on other sites

Estou estudando o RestDataWare " https://www.restdw.com.br" 

tenho a ideia de enviar os dados dos boletos para um webservice criado com o RestDataWare

e meu webservice monta e transmite o Xml de registro.. retornando apenas os dados de retornos da CEF..

Assim centralizo todos os registros de boletos pelo meu Webservice... 

mas ainda estou na parte de montar o xml de remessa..

  • Like 1

Share this post


Link to post
Share on other sites

Veja que seu assunto não tem a ver com o que estão falando acima.

o que está sendo dito aqui é que está em fase inicial um webservice da caixa e outro banco para enviar os boletos sem precisar ficar gerando o txt e passando via página

1 hora atrás, danielsk8 disse:

Estou estudando o RestDataWare " https://www.restdw.com.br" 

tenho a ideia de enviar os dados dos boletos para um webservice criado com o RestDataWare

e meu webservice monta e transmite o Xml de registro.. retornando apenas os dados de retornos da CEF..

Assim centralizo todos os registros de boletos pelo meu Webservice... 

mas ainda estou na parte de montar o xml de remessa..

 


Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP

Share this post


Link to post
Share on other sites
Em 28/09/2018 at 10:21, joemil disse:

bom dia galera

to pesquisando tb sobre o assunto. ja existe alguma frente de trabalho sobre o assunto? tem algum lugar pra baixar os fontes pra contribuir?

Comecei por aqui e consegui gerar pelo menos o xml.

function TfrmPrincipal.GeraXml(banco: TConfigBanco; guia: TDataSet): string;
var
 vsxml : TStringList;
 vsdata, vsNossoNumero, AEspecieDoc, vsCNPJCPF, vsNome, vsAutenticacao: string;
 ValorMoraJuros, DataMoraJuros, PercentualMulta: string;
begin

  vsdata := FormatDateTime('yyyymmddhhmmss',now);

  vsNossoNumero :=  copy(guia.fieldbyname('nossonum').asstring,1,17);
  ////////// especie do documento //////////
  if AnsiSameText(banco.EspecieDoc, 'DM') then
    AEspecieDoc := '02'
  else if AnsiSameText(banco.EspecieDoc, 'BP') then
    AEspecieDoc := '32'
  else
    AEspecieDoc := '99';
  //////////////////////////////////////////
  ////////////// multa e juros /////////////////
  if (guia.FieldByName('juros').AsString <> '') and (guia.FieldByName('juros').AsCurrency > 0 ) then
  begin
    ValorMoraJuros    := FormatFloat('0.##',guia.FieldByName('juros').AsCurrency);
    DataMoraJuros     := '<DATA>'+ FormatDateTime('yyyy-mm-dd', guia.FieldByName('datven').AsDateTime+1) + '</DATA>';
    if (guia.FieldByName('multa').AsCurrency > 0) then
      PercentualMulta   := FormatFloat('0.##',guia.FieldByName('multa').AsCurrency)
    else
      PercentualMulta   := '';
  end
  else
  begin
    ValorMoraJuros    := '0.00';
    DataMoraJuros     := '';
    PercentualMulta   := '';
  end;
  /////////////////////////////////////////
  //////////////  CNPJ CPF ////////////////
  if FCgcCpf(guia.FieldByName('ncadastro').AsString) then
  begin
    vsCNPJCPF    := Trim(guia.FieldByName('ncadastro').asString);
  end
  else if FCgcCpf(guia.FieldByName('cpfcnpj').AsString) then
  begin
    vsCNPJCPF    := Trim(guia.FieldByName('cpfcnpj').asString);
  end;
  if Length(Trim(guia.FieldByName('cpfcnpj').asString)) = 14  then
  begin
    vsCNPJCPF  := '<CNPJ>'+vsCNPJCPF+'</CNPJ>';
    vsNome     := '<RAZAO_SOCIAL>'+guia.FieldByName('nome').AsString+'</RAZAO_SOCIAL>';
  end
  else if Length(Trim(guia.FieldByName('cpfcnpj').asString)) = 11 then
  begin
    vsCNPJCPF  := '<CPF>'+vsCNPJCPF+'</CPF>';
    vsNome     := '<NOME>'+guia.FieldByName('nome').AsString+'</NOME>';
  end;
  ////////////////////////////////////////
  ////// autenticacao ////////////////////
  vsAutenticacao := Format('%7.7d',[StrToInt(banco.NroCedLimpo)])
                   +vsNossoNumero
                   +FormatDateTime('ddmmyyyy',guia.fieldbyName('datven').asDateTime)
                   +FormatFloat('000000000000000',guia.fieldbyname('valpre').asCurrency)
                   +FormatFloat('00000000000000',Strtofloat( LimpaNCadastro(banco.CnpjCedente)));

  vsAutenticacao := TNetEncoding.Base64.EncodeBytesToString(GetStrHashSHA256(vsAutenticacao));

  vsxml := TStringList.Create;
  try
    with vsxml do
    begin
      //add('<?xml version="1.0" encoding="iso-8859-1"?>')
      //add('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"');
      //add('                  xmlns:ext="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo"');
      //add('                  xmlns:sib="http://caixa.gov.br/sibar">');
      //add('<soapenv:Header/>');
      //add(' <soapenv:Body>');
      //add('   <ext:SERVICO_ENTRADA>');
      //add('     <sib:HEADER>');


      add('<?xml version="1.0" encoding="UTF-8"?>');
      add('<manutencaocobrancabancaria:SERVICO_ENTRADA xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo" xmlns:sibar_base="http://caixa.gov.br/sibar">');
      add('     <sibar_base:HEADER>');
      add('       <VERSAO>1.2</VERSAO>');
      add('       <AUTENTICACAO>'+vsAutenticacao+'</AUTENTICACAO>');
      add('       <USUARIO_SERVICO>SGCBS02P</USUARIO_SERVICO>');
      add('       <OPERACAO>INCLUI_BOLETO</OPERACAO>');
      add('       <SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM>');
      add('       <UNIDADE>'+banco.NroAgencia+'</UNIDADE>');
      add('       <DATA_HORA>'+vsdata+'</DATA_HORA>');
      add('     </sib:HEADER>');
      add('     <DADOS>');
      add('       <INCLUI_BOLETO>');
      add('          <CODIGO_BENEFICIARIO>'+banco.NroCedLimpo+'</CODIGO_BENEFICIARIO>');
      add('          <TITULO>');
      add('              <NOSSO_NUMERO>'+vsNossoNumero+'</NOSSO_NUMERO>');
      add('              <NUMERO_DOCUMENTO>'+copy(guia.FieldByName('nossolimpo').AsString,1,11)+'</NUMERO_DOCUMENTO>');
      add('              <DATA_VENCIMENTO>'+FormatDateTime('yyyy-mm-dd',guia.FieldByName('datven').AsDateTime)+'</DATA_VENCIMENTO>');
      add('              <VALOR>'+FormatFloat('0.##',guia.FieldByName('valpre').AsCurrency)+'</VALOR>');
      add('              <TIPO_ESPECIE>'+AEspecieDoc+'</TIPO_ESPECIE>');
      add('              <FLAG_ACEITE>N</FLAG_ACEITE>');
      add('              <DATA_EMISSAO>'+FormatDateTime('yyyy-mm-dd',Now)+'</DATA_EMISSAO>');
      add('              <JUROS_MORA>');
      add('                 <TIPO>TAXA_MENSAL</TIPO>');
      Add('                 '+DataMoraJuros);
      add('                 <PERCENTUAL>'+ValorMoraJuros+'</PERCENTUAL>');
      add('              </JUROS_MORA>');
      add('              <POS_VENCIMENTO>');
      add('                 <ACAO>DEVOLVER</ACAO>');
      add('                 <NUMERO_DIAS>29</NUMERO_DIAS>');
      add('              </POS_VENCIMENTO>');
      add('              <CODIGO_MOEDA>09</CODIGO_MOEDA>');
      add('              <PAGADOR>');
      add('                 '+vsCNPJCPF);
      add('                 '+vsNome);
      add('                 <ENDERECO>');
      add('                   <LOGRADOURO>'+copy(guia.FieldByName('endereco').AsString+' '+guia.FieldByName('numero').AsString,1,40)+'</LOGRADOURO>');
      add('                   <BAIRRO>'+copy(guia.FieldByName('bairro').AsString,1,15)+'</BAIRRO>');
      add('                   <CIDADE>'+copy(guia.FieldByName('nomcid').AsString,1,15)+'</CIDADE>');
      add('                   <UF>'+copy(guia.FieldByName('nomest').AsString,1,2)+'</UF>');
      add('                   <CEP>'+copy(RemoveString('-',guia.FieldByName('cep').asString),1,8)+'</CEP>');
      add('                 </ENDERECO>');
      add('              </PAGADOR>');
      if PercentualMulta<>'' then
      begin
        add('              <MULTA>');
        add('                 '+DataMoraJuros);
        add('                 <PERCENTUAL>'+PercentualMulta+'</PERCENTUAL>');
        add('              </MULTA>');
      end;

      add('              <FICHA_COMPENSACAO>');
      add('                 <MENSAGENS>');
      add('                     <MENSAGEM>'+copy(guia.FieldByName('descricao').asString+' Ref. '+guia.FieldByName('ref').asString ,1,40)+'</MENSAGEM>');
      if PercentualMulta<>'' then
      begin
        add('                     <MENSAGEM>MULTA DE '+PercentualMulta+' JUROS '+ValorMoraJuros+' AO MÊS</MENSAGEM>');
      end;
      add('                 </MENSAGENS>');
      add('              </FICHA_COMPENSACAO>');
      add('              <RECIBO_PAGADOR>');
      add('                 <MENSAGENS>');
      add('                     <MENSAGEM>'+copy(guia.FieldByName('descricao').asString+' Ref. '+guia.FieldByName('ref').asString ,1,40)+'</MENSAGEM>');
      if PercentualMulta<>'' then
      begin
        add('                     <MENSAGEM>MULTA DE '+PercentualMulta+' JUROS '+ValorMoraJuros+' AO MÊS</MENSAGEM>');
      end;
      add('                 </MENSAGENS>');
      add('              </RECIBO_PAGADOR>');

      //add('              <PAGAMENTO>');
      //add('                 <QUANTIDADE_PERMITIDA>1</QUANTIDADE_PERMITIDA>');
      //add('                 <TIPO>ACEITA_VALORES_ENTRE_MINIMO_MAXIMO</TIPO>');
      //add('                 <VALOR_MINIMO>500.00</VALOR_MINIMO>');
      //add('                 <VALOR_MAXIMO>1500.00</VALOR_MAXIMO>');
      //add('              </PAGAMENTO>');

      add('          </TITULO>');
      add('       </INCLUI_BOLETO>');
      add('     </DADOS>');
      Add('</manutencaocobrancabancaria:SERVICO_ENTRADA>');


      //add('   </ext:SERVICO_ENTRADA>');
      //add(' </soapenv:Body>');
      //add('</soapenv:Envelope>');
    end;
    vsxml.SaveToFile(vsNossoNumero+'.xml');
  finally
    vsxml.Free;
  end;

end;

 

Share this post


Link to post
Share on other sites
1 minuto atrás, Amarildo de Matos disse:

bom dia.. otimo. elsoft.. e parabens..ai por esta contribuindo..

é isso ai.. juntos somos fortes.. valeu a contribuiçao.. e tambem vou comecar a fazer isso..

Amarildo, bom dia 

Eu não manjo nada de webservices soap, mas to me matando aqui pra fazer isso funcionar...

Assim que conseguir posto aqui pra vocês.

  • Like 1

Share this post


Link to post
Share on other sites
1 hora atrás, elsoft disse:

Pessoal estou postando novamente os arquivo 

Estão com as operações de Baixar, Alterar e consultar incluidos

Principal.dfm

Principal.pas

Registrar.dpr

Registrar.dproj

Poderia compartilhar as Unit ausentes no projeto:

  ConfigBancoFD in '..\..\Source-Sindicato\Comum\ConfigBancoFD.pas',
  uFDSeek in '..\..\Source-Sindicato\Comum\uFDSeek.pas';

Share this post


Link to post
Share on other sites
20 horas atrás, Davi De Sousa Calixto disse:

Poderia compartilhar as Unit ausentes no projeto:

  ConfigBancoFD in '..\..\Source-Sindicato\Comum\ConfigBancoFD.pas',
  uFDSeek in '..\..\Source-Sindicato\Comum\uFDSeek.pas';

Essas units nem são essenciais para o objetivo e finalidade do WebService Soap da Caixa, adicionei e usei para

a busca em meu banco de dados de outra aplicação.

O Datamodulo nao posso enviar porque é onde estão todas as minhas tabelas parte de outra aplicação.

É só criar um datamodulo e colocar o database (FDConnection) do firedac e as querys (FDQuery) da sua tabela onde está os boletos e liga-las 

a unit Principal.pas, ok.

A funcionalidade necessária está toda dentro da unit Principal.pas, os procedimentos para uso está o mais possível desacoplados .

ConfigBancoFD.pas

uFDSeek.pas

Share this post


Link to post
Share on other sites
2 horas atrás, elsoft disse:

Essas units nem são essenciais para o objetivo e finalidade do WebService Soap da Caixa, adicionei e usei para

a busca em meu banco de dados de outra aplicação.

O Datamodulo nao posso enviar porque é onde estão todas as minhas tabelas parte de outra aplicação.

É só criar um datamodulo e colocar o database (FDConnection) do firedac e as querys (FDQuery) da sua tabela onde está os boletos e liga-las 

a unit Principal.pas, ok.

A funcionalidade necessária está toda dentro da unit Principal.pas, os procedimentos para uso está o mais possível desacoplados .

ConfigBancoFD.pas

uFDSeek.pas

Fez os testes em qual ambiente? Pois utilizando as funções esta dando divergencia do hash na consulta e erro na estrutura de dados na inclusão.

Lembrando que em homologação o nosso número inicia com 14.

Vou dar mais uma olhada e posto aqui a aplicacão completada sem banco de dados.

Muito obrigado pela contribuição!

Share this post


Link to post
Share on other sites
2 minutos atrás, Davi De Sousa Calixto disse:

Fez os testes em qual ambiente? Pois utilizando as funções esta dando divergencia do hash na consulta e erro na estrutura de dados na inclusão.

Lembrando que em homologação o nosso número inicia com 14.

Vou dar mais uma olhada e posto aqui a aplicacão completada sem banco de dados.

Muito obrigado pela contribuição!

Fiz os teste nessa url que está na unit, ele retorna os seguintes xmls. E sobre o hash, a função usei a que você passou, como mostra na unit Principal.

Xml de retorno da inclusão :

<?xml version="1.0" encoding="ibm-367"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soapenv:Body>
	<manutencaocobrancabancaria:SERVICO_SAIDA xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo" xmlns:sibar_base="http://caixa.gov.br/sibar">
		<sibar_base:HEADER>
			<VERSAO>1.2</VERSAO>
			<AUTENTICACAO>9leZCacMyrIZzctYQnhp6LoGPWFBOUBQU1BlSyZ9Kz8=</AUTENTICACAO>
			<USUARIO_SERVICO>SGCBS02P</USUARIO_SERVICO>
			<OPERACAO>INCLUI_BOLETO</OPERACAO>
			<SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM>
			<UNIDADE>0353</UNIDADE>
			<DATA_HORA>20181201110933</DATA_HORA>
		</sibar_base:HEADER>
		<COD_RETORNO>00</COD_RETORNO>
		<ORIGEM_RETORNO>MANUTENCAO_COBRANCA_BANCARIA</ORIGEM_RETORNO>
		<MSG_RETORNO></MSG_RETORNO>
		<DADOS>
			<CONTROLE_NEGOCIAL>
				<ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO>
				<COD_RETORNO>1</COD_RETORNO>
				<MENSAGENS>
					<RETORNO>(89) OPERACAO NAO PERMITIDA - CEDENTE INFORMADO NAO POSSUI AUTORIZACAO PARA UTILIZAR SERVICO WEBSERVICE</RETORNO>
				</MENSAGENS>
			</CONTROLE_NEGOCIAL>
		</DADOS>
	</manutencaocobrancabancaria:SERVICO_SAIDA>
	</soapenv:Body>
</soapenv:Envelope>

 

Xml da consulta :

<?xml version="1.0" encoding="ibm-367"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<soapenv:Body>
	<consultacobrancabancaria:SERVICO_SAIDA xmlns:consultacobrancabancaria="http://caixa.gov.br/sibar/consulta_cobranca_bancaria/boleto" xmlns:sibar_base="http://caixa.gov.br/sibar">
		<sibar_base:HEADER>
			<VERSAO>1.2</VERSAO>
			<AUTENTICACAO>w17DVCjz+nn8tasGTNAZI83eooCnab6xuJ86H64ePDI=</AUTENTICACAO>
			<USUARIO_SERVICO>SGCBS02P</USUARIO_SERVICO>
			<OPERACAO>CONSULTA_BOLETO</OPERACAO>
			<SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM>
			<UNIDADE>0353</UNIDADE>
			<DATA_HORA>20181201125618</DATA_HORA>
		</sibar_base:HEADER>
		<COD_RETORNO>00</COD_RETORNO>
		<ORIGEM_RETORNO>CONSULTA_COBRANCA_BANCARIA</ORIGEM_RETORNO>
		<MSG_RETORNO></MSG_RETORNO>
		<DADOS>
			<CONTROLE_NEGOCIAL>
				<ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO>
				<COD_RETORNO>1</COD_RETORNO>
				<MENSAGENS>
					<RETORNO>(89) OPERACAO NAO PERMITIDA - CEDENTE INFORMADO NAO POSSUI AUTORIZACAO PARA UTILIZAR SERVICO WEBSERVICE</RETORNO>
				</MENSAGENS>
			</CONTROLE_NEGOCIAL>
		</DADOS>
	</consultacobrancabancaria:SERVICO_SAIDA>
	</soapenv:Body>
</soapenv:Envelope>

 

Share this post


Link to post
Share on other sites
<?xml version="1.0" encoding="ISO-8859-1"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<manutencaocobrancabancaria:SERVICO_SAIDA xmlns:sibar_base="http://caixa.gov.br/sibar" xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo">
<HEADER xmlns="http://caixa.gov.br/sibar">
    <VERSAO xmlns="">1.2</VERSAO>
    <AUTENTICACAO xmlns="">2VpDBavOb32IKn9DOfaTQ8JnibDBX0m/hDpj1VYvoyU=</AUTENTICACAO>
    <USUARIO_SERVICO xmlns="">SGCBS02P</USUARIO_SERVICO>
    <OPERACAO xmlns="">INCLUI_BOLETO</OPERACAO>
    <SISTEMA_ORIGEM xmlns="">SIGCB</SISTEMA_ORIGEM>
    <UNIDADE xmlns="">3458</UNIDADE>
    <DATA_HORA xmlns="">20181019162459</DATA_HORA>
</HEADER>
    <COD_RETORNO>00</COD_RETORNO>
    <ORIGEM_RETORNO>MANUTENCAO_COBRANCA_BANCARIA</ORIGEM_RETORNO>
    <MSG_RETORNO/>
    <DADOS>
        <CONTROLE_NEGOCIAL>
            <ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO>
            <COD_RETORNO>0</COD_RETORNO>
            <MENSAGENS>
                <RETORNO>(0) OPERACAO EFETUADA</RETORNO>
            </MENSAGENS>
        </CONTROLE_NEGOCIAL>
        <INCLUI_BOLETO>
            <CODIGO_BARRAS>10498769500000001008620113000100040000000080</CODIGO_BARRAS>
            <LINHA_DIGITAVEL>10498620121300010004300000000802876950000000100</LINHA_DIGITAVEL>
            <NOSSO_NUMERO>0</NOSSO_NUMERO>
            <URL>https://boletoonline.caixa.gov.br/ecobranca/SIGCB/imprimir/0862011/14000000000000008</URL>
        </INCLUI_BOLETO>
    </DADOS>
</manutencaocobrancabancaria:SERVICO_SAIDA>
</soapenv:Body>
</soapenv:Envelope>
 
Quando a inclusão da certo o XML de retorno é assim incluso a url para download do PDF e retorno '(0) OPERACAO EFETUADA'
 
Pelo que vi no seu seu cedente não esta configurado na caixa basta entrar em contato com a agência e solicitar.
A url pra produção e homologação não muda essa configuração é feita pela caixa sendo em homologação iniciada em 14 '14000000000000008' quando em produção 00000000000000008.
  • Like 1

Share this post


Link to post
Share on other sites

Sim claro, preciso entrar em contato na agencia para ativar esse serviço. 

Fiz os procedimentos e como retornou aqueles xmls estou a 97% de concluído o serviço. 

Obrigado pela dica do xml retorno, quando funcional.

Share this post


Link to post
Share on other sites

Batendo cabeça aqui achei um erro na função de Inclusão de boleto.

  case operacao of
    INCLUIR_BOLETO: acao := 'INCLUIR_BOLETO';
    ALTERA_BOLETO:  acao := 'ALTERA_BOLETO';
    BAIXA_BOLETO:   acao := 'BAIXA_BOLETO';
    CONSULTA_BOLETO: begin
                       acao := 'CONSULTA_BOLETO';
                       url  := 'https://barramento.caixa.gov.br/sibar/ConsultaCobrancaBancaria/Boleto';
                     end;
  end;

trocar a acao INCLUIR_BOLETO por INCLUI_BOLETO

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...