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!

Resolvido! Na verdade, por precaução, não fiz mais o json manual como estava testando, para eliminar o risco de erro na sintaxe utilizei JsonObject, e o erro principal no processo foi uma confusão feita com a checagem do token enviado pelo banco. Por algum motivo, este banco em específico, retorna mais de um TOKEN de validação na primeira requisição (feita com httppost), eu estava utilizando o TOKEN errado no envio do post de registro do título, por esta razão era sempre NÃO AUTORIZADO. A sintaxe no fonte esta correta, o envio dos dados é que estava errado. FUNFOU…

Vale a pena dar uma olhada nesse tópico do fórum, tem uma situação parecida com um exemplo de checagem de status de conexão:

https://forum.totvs.io/t/fwrest-metodo-post-com-url-https/16540

Resolvido! Na verdade, por precaução, não fiz mais o json manual como estava testando, para eliminar o risco de erro na sintaxe utilizei JsonObject, e o erro principal no processo foi uma confusão feita com a checagem do token enviado pelo banco. Por algum motivo, este banco em específico, retorna mais de um TOKEN de validação na primeira requisição (feita com httppost), eu estava utilizando o TOKEN errado no envio do post de registro do título, por esta razão era sempre NÃO AUTORIZADO. A sintaxe no fonte esta correta, o envio dos dados é que estava errado. FUNFOU...