Ir para conteúdo
  • Cadastre-se

dev botao

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


Ver Solução Respondido por 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 para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia,

Criada a TK-5063 para avaliação.

Obrigado.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

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

 

 

Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

 

Editado por EdmarFrazao
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.