Versão atual:

Consumir API REST de registro de boleto

Boa noite pessoal!

Estou com um problema com um método POST da API de um banco para registro online de cobrança. Fiz todo procedimento pelo POSTMAN e funciona, ou seja, já descartei problemas técnicos do "lado de lá". Mas no ADVPL não estou conseguindo de maneira alguma Estou usando FwRest e a resposta é sempre a mesma, ERRO 401 - NÃO AUTORIZADO.

Será que alguém já passou por isso e poderia me dar uma luz? Abaixo segue o código cURL do POSTMAN. É basicamente o código de autorização e o JSON com os dados do título.

**curl --location --request POST 'https://api.brb.com.br/boletos/v1.0.0/boletosonline' \**

**--header 'Authorization: Bearer a84a1c53-4fc4-4167-9417-2b724f5fb232' \**

**--header 'Content-Type: application/json' \**

**--data-raw '{ 
"incrementoCampoLivreNossoNumero":"000",
"codigoBeneficiario":"0780200888",
"nossoNumero":"100699607080", 
"seuNumero":"1000015956",
"nomePagador":"RAFA RAFINHA RAFAO", 
"enderecoPagador":"Rua 45 ,100", 
"bairroPagador":"Jereissati II", 
"cidadePagador":"Maracanaú",
"ufPagador":"CE", 
"cepPagador":"61901050",
"codigoTipoPagador":"1",
"cpfCnpjPagador":"72533471100",
"identificadorSequencialCarne":"0", 
"tipoCobranca":"0",
"especieDocumento":"22",
"codigoMoeda":"2",
"indicadorImpressao":"2",
"agenciaCobranca":"078",
"dataEmissaoTitulo":"30/05/2022",
"codigoCondicaoPagamento":"0",
"dataVencimento":"10/10/2023",
"valor":"10.94",
"valorAbatimento":"0",
"descontoAntecipacao":"0", 
"iof":"0",
"prazoCobrancaJuros":"0",
"tipoJuros":"12", 
"valorJuro":"0",
"tipoDesconto":"0",
"valorDesconto1":"0",
"dataDesconto1":"0", 
"valorDesconto2":"0",
"dataDesconto2":"0", 
"valorDesconto3":"0",
"dataDesconto3":"0", 
"codigoInstrucao1":"03",
"prazoInstrucao1":"000",
"codigoInstrucao2":"94",
"prazoInstrucao2":"030",
"codigoInstrucao3":"00",
"prazoInstrucao3":"000",
"valorTaxaRef":"10.94", 
"prazoProtesto":"000",
"localPagamento":"01",
"distribuicaoBoletos":"0", 
"nomeSacador":"SINDICATO DOS POLICIAIS PENAIS DO DF",
"tipoDocSacador":"2",
"cpfCnpjSacador":"11236674000106",
"codigoRateio":"0",
"valorRateio1":"0",
"valorRateio2":"0",
"valorRateio3":"0",
"primeiraMensagem":" ", 
"segundaMensagem":" ",
"terceiraMensagem":" ", 
"quartaMensagem":" ",
"identificacaoTipoPagamento":"03",
"identificacaoPagamentosPossiveis":"01",
"tipoValorMaximo":"2",
"valorMaximoPercentual":"10.94", 
"tipoValorMinimo":"2",
"valorMinimoPercentual":"10.94"
}'**

O que eu preciso saber? Como colocar isto no ADVPL! Tentei da seguinte forma:

     //Cabeçalho
     aAdd(aHeadPar,"Authorization: Bearer a84a1c53-4fc4-4167-9417-2b724f5fb232")
     aAdd(aHeadPar, "Content-Type: application/json;charset=UTF-8")
     aAdd(aHeadPar, "Content-Length: "+cValtochar(Len(cJson)) )

    //Monta a conexão com o servidor REST
    oRestBRB := FWRest():New("https://api.brb.com.br") 

    oRestBRB:setPath("/boletos/v1.0.0/boletosonline")

    //Definindo o parâmetro a ser usado no POST
    cJson := FWNoAccent(cJson)
    oRestBRB:SetPostParams(cJson)

    //Publica a alteração, e caso não dê certo, mostra erro
    If ! oRestBRB:Post(aHeadPar)
        Aviso('Atenção', 'Houve erro na atualização no servidor!' + CRLF + ;
            'Contate o Administrador!', {'OK'}, 03) 
            Conout(oRestBRB:GetResult())
    Else
        Alert("Deu bom: "+oRestClient:GetResult())
    EndIf

Qualquer ajuda ou dica, será bem vinda!

Versão (1):

Ver a versão formatada

Consumir API REST de registro de boleto

Comentário

new question