Jump to content

dev botao

APi Boleto PIX Sicoob - Não esta tratando as mensagens de Erro corretamente


CS COM INFO LTDA
Go to solution Solved by Victor H. Gonzales - Panda,
  • Este tópico foi criado há 147 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Estou homologando os Boletos na APi do Sicoob, e não esta retornando as mensgens corretamente

Mandei salvar o LOG de Envio/Retorno e esta vindo assim as mensagens:

Boleto Correto, onde retornou a chave PIX:

26/01/24 10:09:16:099 - Comando Enviar: [{"numeroContrato":93653,"modalidade":1,"numeroContaCorrente":105457,"especieDocumento":"DMI","dataEmissao":"2024-01-23T00:00:00-03:00","nossoNumero":151208,"seuNumero":"013938\/03-1","identificacaoBoletoEmpresa":"013938\/03-1","identificacaoEmissaoBoleto":2,"identificacaoDistribuicaoBoleto":2,"valor":7.93,"dataVencimento":"2024-04-22T00:00:00-03:00","numeroParcela":1,"aceite":false,"tipoDesconto":1,"dataPrimeiroDesconto":"2024-04-22T00:00:00-03:00","valorPrimeiroDesconto":0.01,"tipoJurosMora":1,"dataJurosMora":"2024-04-23T00:00:00-03:00","valorJurosMora":0.01,"tipoMulta":1,"dataMulta":"2024-04-23T00:00:00-03:00","valorMulta":0.16,"pagador":{"numeroCpfCnpj":"11948862000167","nome":"18 - ARLEI GARCIA DOS SANTOS","endereco":"RUA CANDIDO PORTINARI QD 34 LOTE 03 0","bairro":"CENTRO","cidade":"LUIS EDUARDO MAGALHAES","cep":"47850000","uf":"BA"},"mensagensInstrucao":{"tipoInstrucao":1,"mensagens":["Ap\u00c3\u00b3s o Vencimento Cobrar Multa de R$ 0,16. Cobrar Juros de R$ 0,01 ao Dia.<br \/>","11"]},"gerarPdf":false,"codigoCadastrarPIX":1}]
26/01/24 10:09:16:308 - Retorno Envio: {"resultado":[{"status":{"codigo":"200","mensagem":"string"},"boleto":{"numeroContrato":25546454,"modalidade":1,"numeroContaCorrente":777,"especieDocumento":"DM","dataEmissao":"2018-09-20T00:00:00-03:00","nossoNumero":-2147483648,"seuNumero":"1235512","identificacaoBoletoEmpresa":"4562","codigoBarras":"","linhaDigitavel":"","identificacaoEmissaoBoleto":1,"identificacaoDistribuicaoBoleto":1,"valor":156.23,"dataVencimento":"2018-09-20T00:00:00-03:00","dataLimitePagamento":"2018-09-20T00:00:00-03:00","valorAbatimento":1,"tipoDesconto":1,"dataPrimeiroDesconto":"2018-09-20T00:00:00-03:00","valorPrimeiroDesconto":1,"dataSegundoDesconto":"2018-09-20T00:00:00-03:00","valorSegundoDesconto":0,"dataTerceiroDesconto":"2018-09-20T00:00:00-03:00","valorTerceiroDesconto":0,"tipoMulta":1,"dataMulta":"2018-09-20T00:00:00-03:00","valorMulta":5,"tipoJurosMora":1,"dataJurosMora":"2018-09-20T00:00:00-03:00","valorJurosMora":4,"numeroParcela":1,"aceite":true,"codigoNegativacao":2,"numeroDiasNegativacao":60,"codigoProtesto":1,"numeroDiasProtesto":30,"quantidadeDiasFloat":2,"pagador":{"numeroCpfCnpj":"98765432185","nome":"Marcelo dos Santos","endereco":"Rua 87 Quadra 1 Lote 1 casa 1","bairro":"Santa Rosa","cidade":"Luziânia","cep":"72320000","uf":"DF","email":["[email protected]"]},"beneficiarioFinal":{"numeroCpfCnpj":"98784978699","nome":"Lucas de Lima"},"mensagensInstrucao":{"tipoInstrucao":1,"mensagens":["Descrição da Instrução 1","Descrição da Instrução 2","Descrição da Instrução 3","Descrição da Instrução 4","Descrição da Instrução 5"]},"rateioCreditos":[{"numeroBanco":756,"numeroAgencia":4027,"numeroContaCorrente":-2147483648,"contaPrincipal":true,"codigoTipoValorRateio":1,"valorRateio":156.23,"codigoTipoCalculoRateio":1,"numeroCpfCnpjTitular":"98765432185","nomeTitular":"Marcelo dos Santos","codigoFinalidadeTed":10,"codigoTipoContaDestinoTed":"CC","quantidadeDiasFloat":1,"dataFloatCredito":"2020-12-30"}],"pdfBoleto":"JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCA1Nzgv+PgolaVRleHQtNS41LjExCnN0YXJ0eHJlZgoyNzAxOQolJUVPRgo=","qrCode":"00020101021226950014br.gov.bcb.pix2573pix.sicoob.com.br/qr/payload/v2/cobv/e736df1b-1389-4b96-a070-c8dddac768de5204000053039865802BR5924JULIO PEREIRA DE OLIVEIRA6008Brasilia62070503***630435A3"}}]}

 

Boleto que esta com divergência e não torna as mensagens de erro:

26/01/24 09:29:29:991 - Comando Enviar: [{"numeroContrato":93653,"modalidade":1,"numeroContaCorrente":105457,"especieDocumento":"DMI","dataEmissao":"2024-01-23T00:00:00-03:00","nossoNumero":151215,"seuNumero":"013938\/01-1","identificacaoBoletoEmpresa":"013938\/01-1","identificacaoEmissaoBoleto":2,"identificacaoDistribuicaoBoleto":2,"valor":7.93,"dataVencimento":"2024-02-23T00:00:00-03:00","numeroParcela":1,"aceite":false,"tipoJurosMora":1,"dataJurosMora":"2024-02-24T00:00:00-03:00","valorJurosMora":0.01,"tipoMulta":1,"dataMulta":"2024-02-24T00:00:00-03:00","valorMulta":0.16,"pagador":{"numeroCpfCnpj":"11948862000167","nome":"18 - ARLEI GARCIA DOS SANTOS","endereco":"RUA CANDIDO PORTINARI QD 34 LOTE 03 0","bairro":"CENTRO","cidade":"LUIS EDUARDO MAGALHAES","cep":"47850000","uf":"BA"},"mensagensInstrucao":{"tipoInstrucao":1,"mensagens":["Ap\u00c3\u00b3s o Vencimento Cobrar Multa de R$ 0,16. Cobrar Juros de R$ 0,01 ao Dia.<br \/>","11"]},"gerarPdf":false,"codigoCadastrarPIX":1}]
26/01/24 09:29:30:462 - Retorno Envio: HTTPCode=400
Result={"mensagens":[{"mensagem":"string","codigo":"string"}]}

 

Mas testando a comunicação e enviando pelo Postman, ele me retorna exatamente oque esta errado / faltando:

 

{
    "resultado": [
        {
            "status": {
                "codigo": 400,
                "mensagem": "Tipo de Desconto inválido."
            },
            "boleto": {
                "numeroContrato": 93653,
                "modalidade": 1,
                "numeroContaCorrente": 105457,
                "nossoNumero": 151190,
                "seuNumero": "013938/01-1",
                "especieDocumento": "DM",
                "dataEmissao": "2024-01-23T00:00:00-03:00",
                "valor": 7.93,
                "dataVencimento": "2024-02-23T00:00:00-03:00",
                "valorMulta": 0.0,
                "valorJurosMora": 0.01,
                "numeroParcela": 1,
                "aceite": false,
                "pagador": {
                    "nome": "18 - ARLEI GARCIA DOS SANTOS",
                    "numeroCpfCnpj": "11948862000167",
                    "endereco": "RUA CANDIDO PORTINARI QD 34 LOTE 03 0",
                    "bairro": "CENTRO",
                    "cidade": "LUIS EDUARDO MAGALHAES",
                    "cep": "47850000",
                    "uf": "BA"
                },
                "mensagensInstrucao": {
                    "tipoInstrucao": 1,
                    "mensagens": [
                        "Descrição da Instrução 1",
                        "Descrição da Instrução 2",
                        "Descrição da Instrução 3",
                        "Descrição da Instrução 4",
                        "Descrição da Instrução 5"
                    ]
                },
                "identificacaoBoletoEmpresa": "013938/01-1",
                "tipoJurosMora": 1,
                "dataJurosMora": "2024-02-24T00:00:00-03:00",
                "tipoMulta": 0,
                "dataMulta": "2024-02-24T00:00:00-03:00",
                "identificacaoEmissaoBoleto": 2,
                "identificacaoDistribuicaoBoleto": 2,
                "gerarPdf": true,
                "codigoCadastrarPIX": 1
            }
        }
    ]
}

 

Portando "acredito" que não tenha alguma TAG mapeada e que esta se perdendo....

 

 

 

 

 

Link to comment
Share on other sites

  • Consultores

Bom dia!

Está em nosso backlog para ser avaliado de acordo com a disponibilidade da equipe de consultores.

Vou adicionar uma observação de foi solicitado o status e verificar se é possível adicionar no sprint desta semana.

Qualquer novidade será informada neste tópico.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

Link to comment
Share on other sites

  • Consultores

veja se isso atende a necessidade

 

ACBrBoletoRet_Bancoob.pas

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

  • Consultores
  • Solution

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

esta ultima alteração esta dando erro na consulta de boletos.

---------------------------
GExperts Debugger Exception Notification
---------------------------
Project SePixCD.exe raised exception class Exception with message '<TJsonValue>"resultado" value type error: jvObject to jvArray'.
---------------------------
[&Filter ...] [Ignore &All this Session] [&Break] [Additional &Info] [&Continue]
---------------------------
ThreadId=23964
ProcessId=19
ThreadName=""
ExceptionMessage="<TJsonValue>"resultado" value type error: jvObject to jvArray"

 

 

na linha 130 da unit ACBrBoletoRet_Bancoob

aJsonViolacoes := aJson.Values['resultado'].AsArray;

 

Json que retornou:

 

{
    "numeroContrato": 12345,
    "modalidade": 1,
    "numeroContaCorrente": 01234,
    "nossoNumero": 000000,
    "seuNumero": "000726",
    "especieDocumento": "DM",
    "dataEmissao": "2024-02-10T00:00:00-03:00",
    "codigoBarras": "75691965100000104000000000000000000652000001",
    "linhaDigitavel": "75691311910100000000000000000000196510000010400",
    "valor": 104,
    "dataVencimento": "2024-03-10T00:00:00-03:00",
    "valorAbatimento": 0,
    "tipoDesconto": 0,
    "valorMulta": 2.2,
    "valorJurosMora": 0.19,
    "numeroParcela": 1,
    "aceite": false,
    "pagador": {
        "nome": "5 - cliente xxxxxxxxx              ",
        "numeroCpfCnpj": "00011111114",
        "endereco": "Rua x                                   ",
        "bairro": "Centro         ",
        "cidade": "FORMIGA        ",
        "cep": "35570000",
        "uf": "MG"
    },
    "mensagensInstrucao": {
        "mensagens": [
            "",
            "",
            "",
            "",
            ""
        ]
    },
    "identificacaoBoletoEmpresa": "00123400                 ",
    "quantidadeDiasFloat": 0,
    "listaHistorico": [
        {
            "dataHistorico": "2024-02-14T00:00:00-03:00",
            "tipoHistorico": "1",
            "descricaoHistorico": "ENTRADA - VALOR NOMINAL TÍTULO - R$ 104,00"
        }
    ],
    "tipoJurosMora": 1,
    "dataJurosMora": "2024-03-11T00:00:00-03:00",
    "tipoMulta": 2,
    "dataMulta": "2024-03-11T00:00:00-03:00",
    "situacaoBoleto": "Em Aberto",
    "qrCode": "00020101021226950014br.gov.bcb.pix2573pix.sicoob.com.br/qr/payload/v2/cobv/ff7528f4-9f1f-4f81-a0f000000000000000204000053039865802BR5917S E SISTEMAS LTDA6007FORMIGA62070503***6304D17F"
}

 

alterei o retorno pois e de produção

 

Edited by EdmarFrazao
Link to comment
Share on other sites

Tbem vi este detalhe da linha 130, o que acontece é que o retorno do envio vem com colchetes e o retorno da consulta não vem, exemplo:

Retorno Envio:

{"resultado":[{"status":{"codigo":400,"mensagem":" O valor da multa mensal não deve ultrapassar o valor máximo permitido R$15.00, o valor informado foi de R$ 21.00"},"boleto":{"numeroContrato":123456,"modalidade":1,"numeroContaCorrente":654321,"nossoNumero":10000086,"seuNumero":"2681","especieDocumento":"RC","dataEmissao":"2024-02-15T00:00:00-03:00","valor":15,"dataVencimento":"2024-02-25T00:00:00-03:00","tipoDesconto":0,"valorMulta":21,"valorJurosMora":0.01,"numeroParcela":1,"aceite":false,"pagador":{"nome":"LEANDRO GOMES COELHO","numeroCpfCnpj":"11111111","endereco":"Rua Americo Brasiliense, 1524 CJ 21 ","bairro":"Vila Seisxas","cidade":"RIBEIRAO PRETO","cep":"14020025","uf":"SP"},"mensagensInstrucao":{"tipoInstrucao":1,"mensagens":["ENERGIA    01/01      20,00        1,00","COPASA     01/01       2,00        2,00","PINTURA/MA 01/01       1,00        1,00","COMPLEMENT 01/01       1,00        1,00","CEMIG      01/01      12,00       10,00"]},"identificacaoBoletoEmpresa":"2681-25/02/2024-0","tipoJurosMora":1,"dataJurosMora":"2024-02-26T00:00:00-03:00","tipoMulta":1,"dataMulta":"2024-02-26T00:00:00-03:00","identificacaoEmissaoBoleto":1,"identificacaoDistribuicaoBoleto":1,"gerarPdf":false,"codigoCadastrarPIX":1}}]}

Retorno Consulta:

{"resultado":{"numeroContrato":123456,"modalidade":1,"numeroContaCorrente":654321,"nossoNumero":10000022,"seuNumero":"2681","especieDocumento":"RC","dataEmissao":"2024-02-14T00:00:00-03:00","codigoBarras":"75697962700000012001317201039332010000022001","linhaDigitavel":"75691317200103933201800000220012796270000001200","valor":12.0000,"dataVencimento":"2024-02-15T00:00:00-03:00","valorAbatimento":0.0000,"tipoDesconto":0,"valorMulta":1.0000,"valorJurosMora":0.0000,"numeroParcela":1,"aceite":false,"pagador":{"nome":"LEANDRO GOMES COELHO","numeroCpfCnpj":"11111111111","endereco":"AVENIDA DR. DELFIM MOREIRA, 1.968 B","bairro":"LAGOINHA","cidade":"SÃO SEBASTIÃO DO PARAÍSO","cep":"37950000","uf":"MG"},"mensagensInstrucao":{"mensagens":["TESTE    01/01      11,00       10,00","IPTU (INQ. 01/01       1,00        1,00","ACORDO     01/01       1,00        1,00","",""]},"identificacaoBoletoEmpresa":"2681-15/02/2024-0        ","quantidadeDiasFloat":1,"listaHistorico":[{"dataHistorico":"2024-02-14T00:00:00-03:00","tipoHistorico":"1","descricaoHistorico":"ENTRADA - VALOR NOMINAL TÍTULO - R$ 12,00"},{"dataHistorico":"2024-02-14T00:00:00-03:00","tipoHistorico":"4","descricaoHistorico":"TARIFA - TAR. POSTAGEM DE BOL. AUTOENVELOPÁVEL - R$ 2,50"}],"tipoJurosMora":3,"dataJurosMora":"2024-02-16T00:00:00-03:00","tipoMulta":1,"dataMulta":"2024-02-16T00:00:00-03:00","situacaoBoleto":"Em Aberto","qrCode":"00020101021226950014br.gov.bcb.pix2573pix.sicoob.com.br/qr/payload/v2/cobv/b53e854b-9393-4a8b-b40c-b2761fb56f405204000053039865802BR5925REJANE ADMINISTRACAO E IN6015Sao Sebastiao d62070503***6304376C"}}

Leandro Coelho

Imprime Informática

Link to comment
Share on other sites

  • Consultores

@EdmarFrazao @Leandro Coelho
Boa tarde !
Os testes foram realizados com esta unit que o @Victor H. Gonzales - Panda postou anteriormente para teste?
Os testes realizados foram em produção ou homologação ?

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

Eu fiz uma alteração para passar pelo aJsonViolacoes := aJson.Values['resultado'].AsArray; quando for TipoOperacao = tpInclui

Mais ainda não testei o TipoOperacao = tpBaixa e o TipoOperacao = tpAltera , pq aqui pode ser que precise tbem ver as violações q possa vir no array, pretendo fazer esses testes ainda hj.

ACBrBoletoRet_Bancoob.pas

Leandro Coelho

Imprime Informática

Link to comment
Share on other sites

Testei com incluir , consulta e baixa funcionou prefeito.

o código pode ser alterado para  baixa também

if (TipoOperacao = tpInclui) or
           (TipoOperacao = tpBaixa) then
        begin
          aJsonViolacoes := aJson.Values['resultado'].AsArray;

          for x := 0 to aJsonViolacoes.Count -1 do
          begin
            aJsonViolacao        := aJsonViolacoes[x].AsObject;
            if (aJSonViolacao.Values['status'].AsObject.Values['codigo'].AsString <> '200') then
            begin
              ARejeicao            := ARetornoWS.CriarRejeicaoLista;
              ARejeicao.Codigo     := aJSonViolacao.Values['status'].AsObject.Values['codigo'].AsString;
              ARejeicao.mensagem   := aJSonViolacao.Values['status'].AsObject.Values['mensagem'].AsString;
            end;
          end;
        end;

 

ACBrBoletoRet_Bancoob.pas

Link to comment
Share on other sites

  • Consultores

ACBrBoletoRet_Bancoob.pas

poderia testar essa unit?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

2 horas atrás, Victor H. Gonzales - Panda disse:

Unit testada, deu certo pra tpConsultaDetalhe , tpBaixa, tpAltera

mais para tpInclui não esta passando por dentro do if aJson.IsJsonArray('resultado') then da linja 130, e dai quando da erro não fica registrado no ARejeicao

Leandro Coelho

Imprime Informática

Link to comment
Share on other sites

  • 4 weeks later...
  • Consultores
1 hora atrás, EdmarFrazao disse:

favor verificar esta alteração e subir para o svn

qual o raise que sobe atualmente?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(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 !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

Em 16/02/2024 at 17:56, Leandro Coelho disse:

Essa deu certo aqui pra mim, eu mudei o if TipoOperacao = tpInclui para TipoOperacao <> tpConsultaDetalhe

ACBrBoletoRet_Bancoob.pas 22.68 kB · 13 downloads

Esta alteração esta funcionado e ainda não esta no svn, favor verificarem

Ja estou usando em produção desde 16/02/2024 sem problemas, ela trata as msg de retorno do webservice do sicoob  corretamente.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...