Manuais:UniNFe/EnviandoXMLBoleto
Índice
[ocultar]Como utilizar o serviço do e-Bank Boleto?
Após realizar a configuração do e-Bank no UniNFe, vamos consumir o serviço do e-Bank Boleto. Bora conferir?
- Observação:
- Por enquanto, está implementado apenas o registro, consulta e cancelamento de boletos. Nas próximas semanas, serão integrados os serviços de prorrogação, instruções, etc e de acordo com o que o banco fornece de operações.
Registrando o boleto pelo UniNFe
Para conseguir fazer o registro de boleto, ERP deve gerar o XML conforme exemplo em nosso site na pasta de envio com o nome e formato a seguir:
0000000000000-BoletoRegistrar.xml
0000000000000 | Conteúdo livre |
-BoletoRegistrar.xml | Conteúdo fixo. Sempre será "-BoletoRegistrar.xml" |
O nome do arquivo de retorno é o mesmo do envio, mudando somente a extensão (final) do mesmo, conforme abaixo:
0000000000000-ret-BoletoRegistrar.xml (se tudo ocorreu bem)
ou
0000000000000-ret-BoletoRegistrar.err (se houve algum erro)
Estrutura do XML de envio do registro
Para ficar mais fácil o entendimento da estrutura, vamos separar por tópicos.
- Observação:
- As tags escritas em vermelho na legenda, indica que são tags obrigatórias.
Informações iniciais
<?xml version="1.0" encoding="utf-8"?> <BoletoRegistrar versao="1.00"> <ConfigurationId>ZCKWGQ55LTDXKYYC</ConfigurationId> <Aceite>true</Aceite> <AgenciaColetora>N</AgenciaColetora> <Avalista> <Nome>string</Nome> <TipoInscricao>0</TipoInscricao> <Inscricao>string</Inscricao> <Endereco> <Logradouro>Rua</Logradouro> <Numero>11</Numero> <Complemento>string</Complemento> <Bairro>Bairro</Bairro> <Cidade>Brasília</Cidade> <UF>DF</UF> <CEP>11111-111</CEP> </Endereco> </Avalista> <Carteira>string</Carteira> <CodigoBarraNumerico>string</CodigoBarraNumerico> <Desconto> <Data>2025-03-12</Data> <Tipo>0</Tipo> <Valor>0</Valor> </Desconto> <DiasParaBaixaOuDevolucao>0</DiasParaBaixaOuDevolucao> <DigitoVerificadorNumeroNoBanco>string</DigitoVerificadorNumeroNoBanco> <Emissao>2025-03-12</Emissao> <Especie>0</Especie> .... .... ....
- Legenda das tags:
- A tag <ConfigurationId> é uma informação fornecida pela Unimake Software;
- A tag <Aceite> é um campo true ou false para o aceite do boleto;
- A tag <AgenciaColetora> indica se a agência é encarregada da cobrança.
- O grupo <Avalista> indica as informações da pessoa que garante o pagamento da dívida;
- A tag <Carteira> é o código da carteira do boleto;
- A tag <CodigoBarraNumerico> indica o código de barras do boleto;
- O grupo <Desconto> indica os descontos do boleto caso houver:
- A tag <Tipo> pode ser preenchida com uma das informações abaixo:
- A tag <DiasParaBaixaOuDevolucao> indica a quantidade de dias para o boleto ser baixado ou devolvido;
- A tag <DigitoVerificadorNumeroNoBanco> é o campo para informar o dígito verificar do número do boleto no banco;
- A tag <Emissao> indica a tag de emissão do boleto;
- A tag <Especie> pode ser informada conforme abaixo:
Informações intermediárias
.... .... .... <FichaAceiteConfig> <FichaAceite>true</FichaAceite> <Merge>true</Merge> <AceiteDetails> <Aceite>true</Aceite> <AgenciaCodigoBeneficiario>string</AgenciaCodigoBeneficiario> <Beneficiario>string</Beneficiario> <Carteira>string</Carteira> <CodigoBanco>0</CodigoBanco> <DataDocumento>2025-03-12</DataDocumento> <DataProcessamento>2025-03-12</DataProcessamento> <Descontos>0</Descontos> <Especie>string</Especie> <Instrucoes> <Instrucao>string</Instrucao> </Instrucoes> <LogoBanco>string</LogoBanco> <MoraMulta>0</MoraMulta> <NossoNumero>string</NossoNumero> <NumeroDocumento>string</NumeroDocumento> <OutrasDeducoes>0</OutrasDeducoes> <OutrosAcrescimos>0</OutrosAcrescimos> <Pagador>string</Pagador> <RodapeDireito> <CodigoBarras>string</CodigoBarras> <TextoLivre>string</TextoLivre> </RodapeDireito> <RodapeEsquerdo> <CodigoBarras>string</CodigoBarras> <TextoLivre>string</TextoLivre> </RodapeEsquerdo> <Testing>true</Testing> <ValorCobrado>0</ValorCobrado> <ValorDocumento>0</ValorDocumento> <Vencimento>2025-03-12</Vencimento> </AceiteDetails> </FichaAceiteConfig> <IdentificacaoDistribuicao>0</IdentificacaoDistribuicao> <IdentificacaoEmissao>0</IdentificacaoEmissao> <Juros> <Data>2025-03-12</Data> <Tipo>0</Tipo> <Valor>0</Valor> </Juros> <LinhaDigitavel>string</LinhaDigitavel> <Mensagens> <Mensagem>string</Mensagem> <Mensagem>string</Mensagem> <Mensagem>string</Mensagem> <Mensagem>string</Mensagem> </Mensagens> <MensagensRecibo> <Mensagem>string</Mensagem> </MensagensRecibo> <Multa> <Data>2025-03-12</Data> <Tipo>0</Tipo> <Valor>0</Valor> </Multa> <NumeroDiasLimiteRecebimento>0</NumeroDiasLimiteRecebimento> <NumeroNaEmpresa>string</NumeroNaEmpresa> <NumeroNoBanco>string</NumeroNoBanco> <NumeroParcela>0</NumeroParcela> <NumeroVariacaoCarteira>0</NumeroVariacaoCarteira> .... .... ....
- Legenda das tags:
- O grupo <FichaAceiteConfig> indica as configurações da ficha de aceite. Veja mais em configurando a ficha de aceite;
- A tag <IdentificacaoDistribuicao> indica quem está distribuindo o boleto se é o cliente igual a 0 ou banco igual a 1;
- A tag <IdentificacaoEmissao> indica quem está emitindo o boleto se é o cliente igual a 0 ou banco igual a 1;
- O grupo <Juros> descreve os juros que serão aplicados ao título caso seja necessário:
- A tag Data é a data inicial para ser aplicado os juros;
- A tag <Tipo> deve ser um dos conteúdos abaixo:
- A tag <Valor> é o valor dos juros. ERP pode informar como porcentagem ou valor de acordo com o tipo configurado anteriormente;
- A tag <LinhaDigitavel> informa qual é a linha digitável do boleto em questão;
- O grupo <Mensagens> auxilia na demonstração da mensagem de instrução para o pagador ou caixa sobre os juros, mora, entre outras informações importantes do boleto;
- O grupo <MensagensRecibo> auxilia na demonstração da mensagem para o pagador no recibo do boleto;
- O grupo <Multa> descreve informações sobre a multa que pode ser aplicada no título caso seja necessário:
- A tag Data é a data inicial para ser aplicado a multa;
- A tag <Tipo> deve ser um dos conteúdos abaixo:
- A tag <Valor> é o valor da multa. ERP pode informar como porcentagem ou valor de acordo com o tipo configurado anteriormente;
- A tag <NumeroDiasLimiteRecebimento> indica o limite de dias que o boleto pode ser recebido;
- A tag <NumeroNaEmpresa> é a identificação do título na empresa (seu número);
- A tag <NumeroNoBanco> é o número do documento no banco (nosso número):
- Validação:
- Itaú (314): -- Tamanho: 8 caracteres (sem informar o dígito verificador) -- Obrigatório: Sim
- Banco do Brasil: -- Tamanho: 10 caracteres (sem informar o dígito verificador) -- Obrigatório: Sim
- Caixa Econômica Federal: -- Tamanho: 17 caracteres -- Obrigatório: Não
- Bradesco: -- Tamanho: 11 caracteres -- Obrigatório: Não
- Santander: -- Tamanho: 12 caracteres (informando o dígito verificador) -- Obrigatório: Não
- Validação:
- A tag <NumeroParcela> é o campo para informar o número da parcela;
- A tag <NumeroVariacaoCarteira> indica o número de variação da carteira do boleto.
Informações finais
.... .... .... <Pagador> <Nome>Pagador Fictício</Nome> <Inscricao>26994558000123</Inscricao> <TipoInscricao>0</TipoInscricao> <Codigo>string</Codigo> <Email>pagador@ficticio.com.br</Email> <Telefone>string</Telefone> <Endereco> <Logradouro>Rua</Logradouro> <Numero>11</Numero> <Complemento>string</Complemento> <Bairro>Bairro</Bairro> <Cidade>Brasília</Cidade> <UF>DF</UF> <CEP>11111-111</CEP> </Endereco> </Pagador> <PDFConfig> <Password>string</Password> <PermitAnnotations>true</PermitAnnotations> <PermitAssembleDocument>true</PermitAssembleDocument> <PermitExtractContent>true</PermitExtractContent> <PermitFormsFill>true</PermitFormsFill> <PermitFullQualityPrint>true</PermitFullQualityPrint> <PermitModifyDocument>true</PermitModifyDocument> <PermitPrint>true</PermitPrint> <SignPDF>true</SignPDF> <TryGeneratePDF>true</TryGeneratePDF> </PDFConfig> <PermiteRecebimentoParcial>N</PermiteRecebimentoParcial> <PixConfig> <Chave>string</Chave> <QrCodeConfig> <Height>0</Height> <ImageFormat>1</ImageFormat> <Quality>0</Quality> <Width>0</Width> </QrCodeConfig> <RegistrarPIX>true</RegistrarPIX> </PixConfig> <Protesto> <Tipo>1</Tipo> <Valor>0</Valor> </Protesto> <Testing>true</Testing> <TipoBaixaDevolucao>1</TipoBaixaDevolucao> <ValorAbatimento>0</ValorAbatimento> <ValorIOF>0</ValorIOF> <ValorNominal>45.88</ValorNominal> <Vencimento>2021-05-13</Vencimento> <UseHomologServer>true</UseHomologServer> </BoletoRegistrar>
- Legenda das tags:
- O grupo <Pagador> são as informações do pagador do boleto;
- O grupo <PDFConfig> indica as configurações do PDF. Veja mais em configurando o PDF do boleto;
- A tag <PermiteRecebimentoParcial> é um campo N (false) ou S (true) que indica se permite recebimento parcial do boleto;
- O grupo <PixConfig> indica as configurações do PIX quando o banco aceitar boleto híbrido. Veja mais em configurando o PIX do boleto híbrido;
- O grupo <Protesto> informa o protesto que poderá ser aplicado ao título caso seja necessário:
- A tag <Tipo> deve ser um dos conteúdos abaixo:
- A tag <Valor> é o número de dias para protesto ou negativação conforme tipo configurado anteriormente;
- A tag <Testing> define o tipo de ambiente para emissão do boleto. Se true, será usado o ambiente de teste;
- A tag <TipoBaixaDevolucao> indica o tipo de baixa ou devolução conforme conteúdo abaixo:
- A tag <ValorAbatimento> é o valor do abatimento do boleto;
- A tag <ValorIOF> é o valor do IOF a ser recolhido;
- A tag <ValorNominal> é o valor nominal do boleto em questão;
- A tag <Vencimento> é a data de vencimento do boleto;
- A tag <UseHomologServer> não é obrigatória, o valor dela por padrão é false. Só utilize quando é necessário fazer testes para possibilitar DEBUG do lado do eBank, naturalmente isso só pode ocorrer se um desenvolvedor do eBank solicitar esta tag no XML para facilitar depuração de código.
Estrutura mínima para utilizar o serviço
<?xml version="1.0" encoding="UTF-8"?> <BoletoRegistrar versao="1.00"> <ConfigurationId>ZCKWGQ55LTDXKYYC</ConfigurationId> <Aceite>true</Aceite> <Emissao>2025-03-18</Emissao> <Especie>2</Especie> <NumeroParcela>0</NumeroParcela> <Pagador> <Nome>Pagador Fictício</Nome> <Inscricao>26994558000123</Inscricao> <TipoInscricao>0</TipoInscricao> <Endereco> <Logradouro>Rua</Logradouro> <Numero>11</Numero> <Complemento>string</Complemento> <Bairro>Bairro</Bairro> <Cidade>Brasília</Cidade> <UF>DF</UF> <CEP>11111-111</CEP> </Endereco> </Pagador> <PDFConfig> <TryGeneratePDF>true</TryGeneratePDF> </PDFConfig> <Testing>true</Testing> <ValorNominal>45.88</ValorNominal> <Vencimento>2025-03-25</Vencimento> <UseHomologServer>true</UseHomologServer> </BoletoRegistrar>
XML de retorno do envio do registro: O que fazer?
Para verificar se o boleto foi registrado, deve analisar o XML de retorno que será gerado na pasta de retorno com o nome a seguir:
0000000000000-ret-BoletoRegistrar.xml
E sua estrutura é a seguinte:
<?xml version="1.0" encoding="utf-8"?> <BoletoRegistrarResponse> <Status>0</Status> <Motivo>Boleto registrado</Motivo> <CodigoBarraNumerico>73796162838172194122054272866843292534256573</CodigoBarraNumerico> <NumeroNoBanco>-2147483648</NumeroNoBanco> <LinhaDigitavel>53527298768113385317506126802226533485564252978</LinhaDigitavel> <PdfContentSuccess>True</PdfContentSuccess> <PdfContentMessage/> <PdfContentBase64>BASE_64_DO_PDF_BOLETO</PdfContentBase64> <PdfPath>d:\testenfe\Retorno\0000000000000-ret-BoletoRegistrar.pdf</PdfPath> <UniNFeVersao>5.1.0.136 | 25-03-2025 - 10:41:11</UniNFeVersao> </BoletoRegistrarResponse>
- Legenda das tags:
- A tag <Status> indica o status da requisição;
- A tag <Motivo> é a descrição do status do boleto;
- A tag <CodigoBarraNumerico> é o campo com o código de barras do boleto registrado;
- A tag <NumeroNoBanco> é o campo com o número do boleto no banco;
- A tag <LinhaDigitavel> é o campo com a linha digitável do boleto;
- A tag <PdfContentSuccess> indica se o PDF do boleto retornou com sucesso;
- A tag <PdfContentBase64> é o campo em base64 do boleto registrado;
- A tag <PdfPath> é o caminho onde está o PDF do boleto;
- A tag <UniNFeVersao> indica a versão do UniNFe que foi utilizada.
Consultando o boleto pelo UniNFe
Após o registro do boleto, ERP deve consultar ele para saber se foi pago ou não. Para isso, ERP deve usar o XML conforme exemplo em nosso site na pasta de envio com o nome e formato a seguir:
0000000000000-BoletoConsultar.xml
0000000000000 | Conteúdo livre |
-BoletoConsultar.xml | Conteúdo fixo. Sempre será "-BoletoConsultar.xml" |
O nome do arquivo de retorno é o mesmo do envio, mudando somente a extensão (final) do mesmo, conforme abaixo:
0000000000000-ret-BoletoConsultar.xml (se tudo ocorreu bem)
ou
0000000000000-ret-BoletoConsultar.err (se houve algum erro)
Estrutura do XML de envio da consulta
O XML é bem pequeno comparado ao XML de registro, vamos conferir!
<?xml version="1.0" encoding="UTF-8"?> <BoletoConsultar versao="1.00"> <ConfigurationId>ZCKWGQ55LTDXKYYC</ConfigurationId> <DataEmissaoInicial>2025-03-25</DataEmissaoInicial> <DataEmissaoFinal>2025-03-25</DataEmissaoFinal> <NumerosNoBanco> <!--Pode repetir até 50 vezes--> <NumeroNoBanco>-2147483641</NumeroNoBanco> <NumeroNoBanco>-2147483642</NumeroNoBanco> <NumeroNoBanco>-2147483643</NumeroNoBanco> <NumeroNoBanco>-2147483644</NumeroNoBanco> </NumerosNoBanco> <PageNumber>0</PageNumber> <PageSize>0</PageSize> <Testing>true</Testing> <UseHomologServer>true</UseHomologServer> </BoletoConsultar>
- Legenda das tags:
- A tag <ConfigurationID> é uma informação fornecida pela [unimake.com.br Unimake Software];
- A tag <DataEmissaoInicial> é a data de emissão inicial do boleto para realizar a consulta. Não é obrigatória se informado a tag <NumerosNoBanco>;
- A tag <DataEmissaoFinal> é a data de emissão final do boleto para realizar a consulta. Não é obrigatória se informado a tag <NumerosNoBanco>;
- O grupo <NumerosNoBanco> são números dos boletos no banco. Não é obrigatória se informado a data de emissão final/inicial;
- A tag <PageNumber> é o número da página que seja consultar;
- A tag <PageSize> é o tamanho da página, ou seja, quantidade de registro por página que deseja ter como retorno;
- A tag <Testing> define o tipo de ambiente para emissão do boleto. Se true, será usado o ambiente de teste;
- A tag <UseHomologServer> não é obrigatória, o valor dela por padrão é false. Só utilize quando é necessário fazer testes para possibilitar DEBUG do lado do eBank, naturalmente isso só pode ocorrer se um desenvolvedor do eBank solicitar esta tag no XML para facilitar depuração de código.
XML de retorno do envio da consulta: O que fazer?
Para saber se o boleto foi pago, cancelado, entre outros status, ERP deve analisar o XML de retorno que será gerado na pasta de retorno com o nome a seguir:
0000000000000-ret-BoletoConsultar.xml
E sua estrutura é a seguinte:
<?xml version="1.0" encoding="utf-8"?> <BoletoConsultarResponse> <Status>0</Status> <Motivo>Boletos encontrados</Motivo> <BoletoResponse> <CodigoBarras/> <DataEmissao>20-09-2018</DataEmissao> <DataLiquidacao/> <DataVencimento>20-09-2018</DataVencimento> <NumeroNaEmpresa>1235512</NumeroNaEmpresa> <NumeroNoBanco>-2147483648</NumeroNoBanco> <Pagador> <Codigo/> <Nome/> <Inscricao/> <Telefone/> <Email>pagador@dominio.com.br</Email> <TipoInscricao>0</TipoInscricao> <Endereco> <Logradouro>Rua 87 Quadra 1 Lote 1 casa 1</Logradouro> <Numero/> <Complemento/> <Bairro>Santa Rosa</Bairro> <Cidade>Luziânia</Cidade> <UF>DF</UF> <CEP>72320000</CEP> </Endereco> </Pagador> <PdfContent> <Content/> <Success>False</Success> <Message/> </PdfContent> <QrCodeContent> <Text>00020101021226950014br.gov.bcb.pix2573pix.sicoob.com.br/qr/payload/v2/cobv/e736df1b-1389-4b96-a070-c8dddac768de5204000053039865802BR5924JULIO PEREIRA DE OLIVEIRA6008Brasilia62070503***630435A3</Text> <Image/> <Success>False</Success> </QrCodeContent> <Situacao>9</Situacao> <TipoLiquidacao>0</TipoLiquidacao> <Valor>156.23</Valor> <ValorAbatimento>0.00</ValorAbatimento> <ValorDesconto>0.00</ValorDesconto> <ValorJuros>0.00</ValorJuros> <ValorLiquidado>156.23</ValorLiquidado> <ValorMulta>0.00</ValorMulta> </BoletoResponse> <BoletoResponse> <CodigoBarras/> <DataEmissao>20-09-2018</DataEmissao> <DataLiquidacao/> <DataVencimento>20-09-2018</DataVencimento> <NumeroNaEmpresa>1235512</NumeroNaEmpresa> <NumeroNoBanco>-2147483648</NumeroNoBanco> <Pagador> <Codigo/> <Nome/> <Inscricao/> <Telefone/> <Email>pagador@dominio.com.br</Email> <TipoInscricao>0</TipoInscricao> <Endereco> <Logradouro>Rua 87 Quadra 1 Lote 1 casa 1</Logradouro> <Numero/> <Complemento/> <Bairro>Santa Rosa</Bairro> <Cidade>Luziânia</Cidade> <UF>DF</UF> <CEP>72320000</CEP> </Endereco> </Pagador> <PdfContent> <Content/> <Success>False</Success> <Message/> </PdfContent> <QrCodeContent> <Text>00020101021226950014br.gov.bcb.pix2573pix.sicoob.com.br/qr/payload/v2/cobv/e736df1b-1389-4b96-a070-c8dddac768de5204000053039865802BR5924JULIO PEREIRA DE OLIVEIRA6008Brasilia62070503***630435A3</Text> <Image/> <Success>False</Success> </QrCodeContent> <Situacao>9</Situacao> <TipoLiquidacao>0</TipoLiquidacao> <Valor>156.23</Valor> <ValorAbatimento>0.00</ValorAbatimento> <ValorDesconto>0.00</ValorDesconto> <ValorJuros>0.00</ValorJuros> <ValorLiquidado>156.23</ValorLiquidado> <ValorMulta>0.00</ValorMulta> </BoletoResponse> <UniNFeVersao>5.1.0.136 | 25-03-2025 - 15:40:45</UniNFeVersao> </BoletoConsultarResponse>
- Legenda das tags:
- A tag <Status> indicando o status da requisição;
- A tag <Motivo> com a descrição do status da requisição;
- O grupo <BoletoResponse> com as informações do boleto encontrado:
- A tag <CodigoBarras> indica o código de barras do boleto retornado;
- A tag <DataEmissao> é a data de emissão do boleto;
- A tag <DataLiquidacao> é a data em que o boleto foi liquidado;
- A tag <DataVencimento> é a data de vencimento do boleto;
- A tag <NumeroNaEmpresa> é o identificador do título na empresa (seu número);
- A tag <NumeroNoBanco> é o número do documento no banco (nosso número);
- O grupo <Pagador> identifica o pagador do boleto como nome, telefone, email, endereço, entre outros;
- O grupo <PdfContent> reúne informações do PDF do boleto:
- A tag <Content> terá o base64 do PDF do boleto;
- A tag <Success> é um campo booleano em que caso seja verdadeiro o PDF foi gerado com sucesso. Se falso, verifique a tag <Message>;
- A tag <Message> é a mensagem de erro caso <Success> for falso;
- O grupo <QrCodeContent> reúne informações do QrCode do boleto:
- A tag <Text> é o texto devolvido pelo banco ou mensagem de erro caso o QrCode não seja gerado corretamente;
- A tag <Image> é a imagem PNG 512x512 em base64;
- A tag <Success> é um campo booleano em que caso seja verdadeiro o QrCode foi gerado com sucesso. Se falso, verifique a tag <Message>;
- A tag <Situacao> indica qual a situação do boleto sendo:
Literal | Numérico |
---|---|
Desconhecida | 0
|
EmCarteira | 1
|
Liquidado | 2
|
BaixadoPorSolicitacao | 3
|
BaixadoPorProtesto | 4
|
EmCartorio | 5
|
AguardandoEntradaEmCartorio | 6
|
Rejeitado | 7
|
Cancelado | 8
|
Emitido | 9
|
Confirmado | 10
|
Bloqueado | 11
|
Removido | 12
|
ConfirmadoPeloBeneficiario | 13
|
ProtestadoEAguardandoBaixa | 14
|
AguardandoLiquidacao | 15
|
PagoParcialmente | 16
|
Agendado | 17
|
TituloComPendenciaEmCartorio | 18
|
BaixadoPorDuplicidadeDeRegistro | 19
|
BaixadoPorDecursoDePrazo | 20
|
BaixadoPorMedidaJudicial | 21
|
Devolvido | 22
|
Outros | 32767
|
- A tag <TipoLiquidacao> indica o tipo da liquidação do boleto, sendo um dos valores abaixo:
Literal | Numérico |
---|---|
Desconhecido | 0
|
LiquidadoMasNaoIdentificado | 1
|
LiquidadoViaPIX | 2
|
LiquidadoViaDebitoEmConta | 3
|
LiquidadoViaCheque | 4
|
LiquidadoViaRemessa | 5
|
LiquidadoViaCartorio | 6
|
LiquidadoNoBancoEmissor | 7
|
LiquidadoEmBancoDiferente | 8
|
- A tag <Valor> é o valor total do boleto;
- A tag <ValorAbatimento> é o valor de abatimento do boleto;
- A tag <ValorDesconto> é o valor do desconto aplicado no momento do pagamento do boleto;
- A tag <ValorJuros> é o valor dos juros aplicados no momento do pagamento do boleto;
- A tag <ValorLiquidado> é o valor realmente pago do boleto;
- A tag <ValorMulta> é o valor de multa, podendo não existir.
Cancelando o boleto pelo UniNFe
Após o registro do boleto, ERP pode fazer o cancelamento do boleto. Para isso, ERP deve usar o XML conforme exemplo em nosso site na pasta de envio com o nome e formato a seguir:
0000000000000-BoletoCancelar.xml
0000000000000 | Conteúdo livre |
-BoletoCancelar.xml | Conteúdo fixo. Sempre será "-BoletoCancelar.xml" |
O nome do arquivo de retorno é o mesmo do envio, mudando somente a extensão (final) do mesmo, conforme abaixo:
0000000000000-ret-BoletoCancelar.xml (se tudo ocorreu bem)
ou
0000000000000-ret-BoletoCancelar.err (se houve algum erro)
Estrutura do XML de envio do cancelamento
O XML de cancelamento do boleto é bem simples, vamos conferir!
<?xml version="1.0" encoding="UTF-8"?> <BoletoCancelar versao="1.00"> <ConfigurationId>ZCKWGQ55LTDXKYYC</ConfigurationId> <NumeroNoBanco>-2147483648</NumeroNoBanco> <Testing>true</Testing> <UseHomologServer>true</UseHomologServer> </BoletoCancelar>
- Legenda das tags:
- A tag <ConfigurationId> é o ID da configuração da conta corrente no eBank, sendo um número fornecido pela Unimake e tag obrigatória;;
- A tag <NumeroNoBanco> é o número do documento no banco (nosso número), sendo uma tag obrigatória;
- A tag <Testing> define o tipo de ambiente para emissão do boleto. Se true, será usado o ambiente de teste;
- A tag <UseHomologServer> não é obrigatória, o valor dela por padrão é false. Só utilize quando é necessário fazer testes para possibilitar DEBUG do lado do eBank, naturalmente isso só pode ocorrer se um desenvolvedor do eBank solicitar esta tag no XML para facilitar depuração de código.
XML de retorno do envio do cancelamento: O que fazer?
Para saber se o boleto foi cancelado, ERP deve analisar o XML de retorno que será gerado na pasta de retorno com o nome a seguir:
0000000000000-ret-BoletoCancelar.xml
E sua estrutura é a seguinte:
<?xml version="1.0" encoding="utf-8"?> <BoletoCancelarResponse> <Status>0</Status> <Motivo>Boleto cancelado com sucesso.</Motivo> <UniNFeVersao>5.1.0.136 | 25-03-2025 - 11:08:16</UniNFeVersao> </BoletoCancelarResponse>
- Legenda das tags:
- A tag <Status> indica o status da requisição;
- A tag <Motivo> é a descrição do status da requisição;
- A tag <UniNFeVersao> indica a versão do UniNFe que foi utilizada.
Veja também