Skip to content

Instantly share code, notes, and snippets.

@danperrout
Last active June 16, 2024 12:50
Show Gist options
  • Save danperrout/b27197056fa38d0d669332647ab89d7a to your computer and use it in GitHub Desktop.
Save danperrout/b27197056fa38d0d669332647ab89d7a to your computer and use it in GitHub Desktop.
API Função TESOURODIRETO Google Sheets
/*
* @return Retorna a cotação atual de um título específico do Tesouro Direto.
* Fonte: https://www.tesourodireto.com.br/titulos/precos-e-taxas.htm
**/
function TESOURODIRETO(bondName, argumento="r") {
let srcURL = "https://www.tesourodireto.com.br/json/br/com/b3/tesourodireto/service/api/treasurybondsinfo.json";
let jsondata = UrlFetchApp.fetch(srcURL);
let parsedData = JSON.parse(jsondata.getContentText()).response;
for(let bond of parsedData.TrsrBdTradgList) {
let currBondName = bond.TrsrBd.nm;
if (currBondName.toLowerCase() === bondName.toLowerCase())
if(argumento == "r")
return bond.TrsrBd.untrRedVal;
else
return bond.TrsrBd.untrInvstmtVal;
}
throw new Error("Título não encontrado.");
}
@danperrout
Copy link
Author

Ha alguns dias parou de funcionar. Colocando o codigo do klausbegnis consegui fazer o tesouro selic 2029 funcionar com argumento i, ja os demais titulos nao sao encontrados. Com argumento r ele retorna 0. Alguma ideia ?

No dia de hoje, esse são os 53 títulos que retornam valor:
[
"Tesouro Selic 2024",
"Tesouro Selic 2025",
"Tesouro Selic 2026",
"Tesouro Selic 2027",
"Tesouro Selic 2029",
"Tesouro Prefixado 2024",
"Tesouro Prefixado 2025",
"Tesouro Prefixado com Juros Semestrais 2025",
"Tesouro Prefixado 2026",
"Tesouro Prefixado com Juros Semestrais 2027",
"Tesouro Prefixado 2029",
"Tesouro Prefixado com Juros Semestrais 2029",
"Tesouro Prefixado com Juros Semestrais 2031",
"Tesouro Prefixado com Juros Semestrais 2033",
"Tesouro IPCA+ 2024",
"Tesouro IPCA+ com Juros Semestrais 2024",
"Tesouro IPCA+ 2026",
"Tesouro IPCA+ com Juros Semestrais 2026",
"Tesouro IPCA+ 2029",
"Tesouro IPCA+ com Juros Semestrais 2030",
"Tesouro Educa+ 2026",
"Tesouro Educa+ 2027",
"Tesouro IPCA+ com Juros Semestrais 2032",
"Tesouro Educa+ 2028",
"Tesouro Educa+ 2029",
"Tesouro Educa+ 2030",
"Tesouro IPCA+ 2035",
"Tesouro IPCA+ com Juros Semestrais 2035",
"Tesouro Educa+ 2031",
"Tesouro Educa+ 2032",
"Tesouro Educa+ 2033",
"Tesouro Educa+ 2034",
"Tesouro Educa+ 2035",
"Tesouro IPCA+ com Juros Semestrais 2040",
"Tesouro Educa+ 2036",
"Tesouro Educa+ 2037",
"Tesouro Educa+ 2038",
"Tesouro Educa+ 2039",
"Tesouro Educa+ 2040",
"Tesouro IPCA+ 2045",
"Tesouro IPCA+ com Juros Semestrais 2045",
"Tesouro Educa+ 2041",
"Tesouro Renda+ Aposentadoria Extra 2030",
"Tesouro IPCA+ com Juros Semestrais 2050",
"Tesouro Renda+ Aposentadoria Extra 2035",
"Tesouro IPCA+ com Juros Semestrais 2055",
"Tesouro Renda+ Aposentadoria Extra 2040",
"Tesouro Renda+ Aposentadoria Extra 2045",
"Tesouro Renda+ Aposentadoria Extra 2050",
"Tesouro Renda+ Aposentadoria Extra 2055",
"Tesouro Renda+ Aposentadoria Extra 2060",
"Tesouro Renda+ Aposentadoria Extra 2065",
"Tesouro IGPM+ com Juros Semestrais 2031"
]

@GuilhermeCostaTSilvio
Copy link

Boa tarde, como eu faria se quisesse trazer o valor unitário do titulo, algum saberia me ajudar?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment