Skip to content

Instantly share code, notes, and snippets.

@pedrosancao
Last active July 27, 2019 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pedrosancao/a409ae54d20d5ae50fa9eefb671e75d3 to your computer and use it in GitHub Desktop.
Save pedrosancao/a409ae54d20d5ae50fa9eefb671e75d3 to your computer and use it in GitHub Desktop.
iterar extrato VR
for (var i = 0, months = {}, d = new Date((new Date()).getFullYear(), 0, 1); i < 12; d.setMonth(++i)) {
months[d.toLocaleDateString('default', {month: 'long'}).replace(/^\w/, c => c.toUpperCase())] = ('0' + (i + 1)).substr(-2);
}
// inspecionar requisição anterior
var suffix = '______________/__';
var token = '____________';
var pages = 50;
var page = 1;
var data = [];
do {
$.ajax({
url: `https://www.vr.com.br/api-web/beneficiario/cartao/extrato/${suffix}?page=${page}`,
type: 'GET',
dataType: 'json',
async: false,
success: r => {
page++;
pages = r.qtdPaginas;
r.itensExtrato.forEach(row => data.push(row));
},
beforeSend: xhr => xhr.setRequestHeader('access-token', token)
});
} while(page <= pages);
var csvData = [];
data.forEach(row => {
var date = row.descricao.split(' de ');
date[1] = months[date[1]];
date.push((new Date).getFullYear());
var dateFormated = date.join('/');
row.itensdetalhe.forEach(el => {
csvData.push([
dateFormated,
el.valor.replace(/ /g, ''),
el.descricao.replace('Consumo - ', '').trim().toLowerCase(),
]);
});
});
csvData.map(row => row.join(';')).reverse().join("\n");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment