Skip to content

Instantly share code, notes, and snippets.

@daltux
Forked from lucashmsilva/TESOURODIRETO(taxa).js
Created November 23, 2023 21:23
Show Gist options
  • Save daltux/aac5647a23d5a04e37f60acb99cb93eb to your computer and use it in GitHub Desktop.
Save daltux/aac5647a23d5a04e37f60acb99cb93eb to your computer and use it in GitHub Desktop.
API para criar a função TESOURODIRETO Google Sheets
/*
* @return Retorna a cotação atual de um título específico do Tesouro Direto Junto com a taxa anual de retorno
* @customfunction
**/
function TESOURODIRETO(bondName) {
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 === bondName)
return [bond.TrsrBd.untrRedVal, bond.TrsrBd.anulInvstmtRate]; // créditos ao @figueiredods por ter encontrado o campo que retorna a taxa correta
}
throw new Error("Not Found");
}
/*
* @return Retorna a cotação atual de um título específico do Tesouro Direto
* @customfunction
**/
function TESOURODIRETO(bondName) {
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 === bondName)
return bond.TrsrBd.untrRedVal;
}
throw new Error("Not Found");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment