Versão atual:

Consumir API HTTPS do banco central

Estou tentando usar a função HTTPSGet para fazer a conexão com a API do banco central que retorna um json com o valor do dólar de compra e venda de acordo com uma data.

Mas não estou conseguindo fazer a conexão SSL e retornar o json da API.

Segue abaixo meu fonte:


user function ATPTAX()
    Local cURL := "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoDolarDia(dataCotacao=@dataCotacao)"
    Local nTimeOut := 120
    Local aHeadOut := {}
    Local cHeadRet := ""
    Local cGetRet := ""


    AAdd(aHeadOut, 'User-Agent: Chrome/81.0 (compatible; Protheus ' + GetBuild() + ')')
    cGetRet := HTTPSGet( cURL, "\system\certs\000001_cert.pem", "\system\certs\000001_key.pem", "senha", '@dataCotacao=' + Escape("'04-17-2020'") + '&$top=' + Escape('1') + '&$format=' + Escape('json') + '&$select=' + "cotacaoCompra,cotacaoVenda", nTimeOut, aHeadOut, @cHeadRet)

    if Empty(cGetRet)
        conout("Fail HTTPSGet")
    else
        conout("OK HTTPSGet")
        varinfo("WebPage", cGetRet)
    endif

    varinfo("Header", cHeadRet)

return

Retorno:

console.PNG

Segue a URL que retorna o json: https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/CotacaoDolarDia(dataCotacao=@dataCotacao)?@dataCotacao=%2704-17-2020%27&$top=1&$format=json&$select=cotacaoCompra,cotacaoVenda

Ambiente que é montada a URL: https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/aplicacao#!/recursos/CotacaoDolarDia#eyJmb3JtdWxhcmlvIjp7IiRmb3JtYXQiOiJqc29uIiwiJHRvcCI6MTAwfSwicHJvcHJpZWRhZGVzIjpbMCwxXX0=

Obs.: Fiz um teste com a URL da sefaz e consegui conectar e ter o retorno, com o mesmo caminho do certificado.

Versão (1):

Ver a versão formatada

Consumir API HTTPS do banco central

Comentário

new question