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:
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.