# Faturas
```javascript=
const response = `{
"faturaAberta": {
"id": "106172",
"idConta": "7435676",
"flagEmiteFatura": 0,
"dataVencimentoFatura": "2018-05-25",
"valorTotalFatura": 0,
"valorFaturaAnterior": 25.53,
"valorPagamentoMinimo": 0,
"totalComprasNacionais": 0,
"votalComprasNacionais": 0,
"totalComprasInternacionas": 0,
"totalSaquesNacionais": 0,
"totalSaquesInternacionais": 0,
"totalDebitosNacionais": 0,
"totalDebitosRecorrentes": 0,
"totalDebitosInternacionais": 0,
"totalDebitosDiversosNacionais": 0,
"totalDebitosOpcionais": 0,
"totalPagamentos": 0,
"totalCreditosNacionais": 0,
"totalAjustes": 0,
"totalTarifas": 0,
"totalMulta": 0,
"totalJuros": 0,
"taxaRotativo": 0,
"taxaSaque": 0,
"taxaMaximaProximoPeriodo": 0,
"totalServicos": 0,
"totalParceladoNacionais": 0,
"totalParceladoInternacionais": 0,
"transacoes": [
{
"id": "834708304",
"idTipoTransacao": 471,
"descricaoAbreviada": "Pag Deb Folha",
"statusTransacao": "Pag Deb Folha",
"idEvento": 29514094,
"tipoEvento": "11",
"idConta": "733744",
"cartaoMascarado": "5259********9110",
"nomePortador": "HERMOGENIA ROTONDARO",
"dataTransacaoUTC": "2018-07-10T03:00:00Z",
"dataTransacao": "2018-07-10T03:00:00Z",
"dataFaturamento": "2018-07-10T03:00:00Z",
"dataVencimento": "2018-07-10T03:00:00Z",
"modoEntradaTransacao": "Comercio eletronico, inclusive Chip / Terminal nao aceita PIN",
"isIof": true,
"valorTaxaEmbarque": 0,
"valorEntrada": 0,
"valorBRL": 0,
"valorUSD": 0,
"cotacaoUSD": 0,
"dataCotacaoUSD": "0001-01-01T00:00:00",
"valorCompraMoedaEstrangeira": 23213,
"moedaEstrangeira": "USD",
"codigoMoedaOrigem": "USD",
"codigoMoedaDestino": "USD",
"codigoAutorizacao": "887415",
"codigoReferencia": "USD",
"codigoTerminal": 0,
"codigoMCC": 5045,
"grupoMCC": 5045,
"grupoDescricaoMCC": "",
"idEstabelecimento": 0,
"nomeEstabelecimento": "VILLA CHIK GOIANIA BR",
"nomeFantasiaEstabelecimento": "",
"planoParcelamento": 0,
"numeroParcela": 0,
"detalhesTransacao": "",
"flagCredito": 1,
"flagFaturado": 0,
"flagEstorno": 0,
"idTransacaoEstorno": 0
}
],
"codRetornoConductor": "0",
"descRetornoConductor": "",
"observacao": "",
"statusProcessamento": "Processado com sucesso",
"logCompleto": "",
"statusFatura": "ABERTA",
"statusMensagemFatura": "Fatura Aberta",
"mensagemCorte": "As compras realizadas até o dia 13/05 entram nessa fatura com vencimento no dia 25/05",
"restanteFatura": 0,
"dataFechamento": "2018-07-10",
"melhorDia": "2018-07-11",
"dataVencimentoReal": "2018-07-10",
"exibirDetalhes": false,
"exibirPagarFatura": false
},
"faturasFechadas": [
{
"dataVencimentoFatura": "2017-09-10",
"flagEmiteFatura": 1,
"totalParceladoNacionais": 0,
"totalJuros": 0,
"totalPagamentos": 142.89,
"totalAjustes": 0,
"totalParceladoInternacionais": 0,
"valorFaturaAnterior": 3851.58,
"totalDebitosRecorrentes": 0,
"id": "6919037",
"valorTotalFatura": 3919.25,
"totalCreditosNacionais": 143.28,
"idConta": "106172",
"totalDebitosInternacionais": 0,
"taxaMaximaProximoPeriodo": 0,
"totalComprasNacionais": 63.02,
"totalDebitosDiversosNacionais": 0,
"totalDebitosNacionais": 210.95,
"totalServicos": 0,
"valorPagamentoMinimo": 140.56,
"totalTarifas": 0,
"taxaSaque": 0,
"totalComprasInternacionas": 0,
"totalMulta": 0,
"totalSaquesInternacionais": 0,
"totalDebitosOpcionais": 0,
"taxaRotativo": 0,
"totalSaquesNacionais": 0,
"dataCorte": "2015-01-22",
"valorMinimo": 5,
"totalPagamentoComplementar": 159027.74,
"pagamentoComplementar": 227.74,
"totalMinimo": 175428.88,
"quantidadeRegistroConsolidado": 175428.88,
"dataPrevia": "2015-01-22",
"descontoFolha": 5,
"dataVencimento": "2015-01-22",
"totalDescontoFolha": 16401.14,
"valorFatura": 21.92,
"statusFatura": "ABERTA",
"statusMensagemFatura": "Fatura Vencida",
"mensagemFaturaZerada": "Você não tem fatura a pagar esse mês ☺",
"restanteFatura": 0,
"valorPagoFatura": 0,
"dataFechamento": "2018-07-10",
"melhorDia": "2018-07-11",
"dataVencimentoReal": "2018-07-10",
"pagamentoEfetuado": false,
"permiteParcelarFatura": false,
"exibirDetalhes": false,
"exibirPagarFatura": false
}
],
"comprasParceladas": [
{
"dataAntecipacao": "2018-07-01",
"contrato": 23933862,
"dataCompra": "14/06/2018",
"estabelecimento": "VILLA CHIK GOIANIA BR",
"valorCompra": 800,
"numeroParcelas": 3,
"valorParcela": 266.66,
"parcelaPedida": 2,
"abatimentoJuros": 0,
"desconto": 0,
"valorAntecipacao": 0,
"comboMarcado": "0",
"dataSimulacao": "18/06/2018",
"parcelasLancadas": 1,
"parcelasNaoLancadas": 2,
"vencimentoParcelaPedida": "10/08/2018",
"ultimoVencimento": "10/09/2018",
"flagAntecipaDivida": false,
"abertoContrato": 533.32,
"statusFatura": "ABERTA",
"statusMensagemFatura": "Fatura Parcial",
"parcelas": [
{
"numeroParcela": 1,
"valorParcela": 266.68,
"statusParcela": "Lançada",
"vencimentoParcela": "10/07/2018",
"abatimentoJuros": 0,
"flagAdiantarParcela": false
}
]
}
],
"comprasNaoProcessadas": [
{
"cartaoMascarado": "5259069308400126",
"nomeFantasiaEstabelecimento": "PIPEDRIVE OU",
"quantidadeParcela": 1,
"valorBRL": 15,
"valorUSD": 15,
"valorCompraMoedaEstrangeira": 15,
"moedaEstrangeira": "EUR",
"cotacaoUSD": 1000,
"dataCotacaoUSD": "2018-03-10",
"dataOrigem": "2018-09-11T18:01:00Z",
"descricaoTipoTransacaoNaoProcessada": "Compra",
"status": 1,
"flagCredito": 1
}
]
}`
var parsedResponse = JSON.parse(response)
function isEmptyString(str) {
return (!str || str.length === 0 );
}
function finalParsing(parsedResponse) {
if ("faturaAberta" in parsedResponse) {
let currentTransactions = parsedResponse["faturaAberta"]["transacoes"]
if(currentTransactions !== undefined && currentTransactions.length !== 0) {
let tempTransactions = []
currentTransactions.forEach((t) => {
let description = () => {
if(!isEmptyString(t.nomeEstabelecimento)){
return t.nomeEstabelecimento
}else if(!isEmptyString(t.descricaoAbreviada)){
return t.descricaoAbreviada
}else{
return "Parcelamento"
}
}
tempTransactions.push(
{
"descricao": description(),
"credito": 0,
"dataTransacao": t.dataTransacao,
"numeroParcela": t.numeroParcela,
"quantidadeParcelas": t.quantidadeParcelas || null,
"debito": t.valorEntrada,
"nomeEstabelecimento": t.nomeEstabelecimento,
"valorBRL": t.valorBRL,
"flagCredito": t.flagCredito,
"flagEstorno": t.flagEstorno,
"valorCompraMoedaEstrangeira": t.valorCompraMoedaEstrangeira,
"cotacaoUSD": t.cotacaoUSD,
"dataCotacaoUSD": t.dataCotacaoUSD,
"valorDolar": t.valorUSD,
"isIof": t.isIof || false
}
)
})
parsedResponse["faturaAberta"]["transacoes"] = tempTransactions
}
if ("comprasNaoProcessadas" in parsedResponse) {
if (parsedResponse["comprasNaoProcessadas"].length !== 0) {
parsedResponse["comprasNaoProcessadas"].forEach((c) => {
parsedResponse["faturaAberta"]["transacoes"].push({
"descricao": c.nomeFantasiaEstabelecimento,
"dataTransacao": c.dataOrigem,
"valorBRL": c.valorBRL,
"flagCredito": 1,
"naoProcessado": true,
"valorCompraMoedaEstrangeira": c.valorCompraMoedaEstrangeira,
"moedaEstrangeira": c.moedaEstrangeira,
"cotacaoUSD": c.cotacaoUSD,
"dataCotacaoUSD": c.dataCotacaoUSD,
"valorDolar": c.valorUSD
})
})
delete parsedResponse["comprasNaoProcessadas"]
}
}
if("comprasParceladas" in parsedResponse) {
}
}
return parsedResponse
}
console.log(finalParsing(parsedResponse)["faturaAberta"]["transacoes"])
console.log(finalParsing(parsedResponse))
```
```json=
{
"faturaAberta": {
"id": "106172",
"idConta": "7435676",
"flagEmiteFatura": 0,
"dataVencimentoFatura": "2018-05-25",
"valorTotalFatura": 0,
"valorFaturaAnterior": 25.53,
"valorPagamentoMinimo": 0,
"totalComprasNacionais": 0,
"votalComprasNacionais": 0,
"totalComprasInternacionas": 0,
"totalSaquesNacionais": 0,
"totalSaquesInternacionais": 0,
"totalDebitosNacionais": 0,
"totalDebitosRecorrentes": 0,
"totalDebitosInternacionais": 0,
"totalDebitosDiversosNacionais": 0,
"totalDebitosOpcionais": 0,
"totalPagamentos": 0,
"totalCreditosNacionais": 0,
"totalAjustes": 0,
"totalTarifas": 0,
"totalMulta": 0,
"totalJuros": 0,
"taxaRotativo": 0,
"taxaSaque": 0,
"taxaMaximaProximoPeriodo": 0,
"totalServicos": 0,
"totalParceladoNacionais": 0,
"totalParceladoInternacionais": 0,
"lancamentos": [
{ //t => transacao
"descricao": t.nomeEstabelecimento || t.descricaoAbreviada || "Parcelamento",
"credito": 0,
"dataTransacao": t.dataTransacao,
"numeroParcela": t.numeroParcela,
"quantidadeParcelas": t.quantidadeParcelas || null,
"debito": t.valorEntrada,
"nomeEstabelecimento": t.nomeEstabelecimento,
"valorBRL": t.valorBRL,
"flagCredito": t.flagCredito,
"flagEstorno": t.flagEstorno,
"valorCompraMoedaEstrangeira": t.valorCompraMoedaEstrangeira,
"cotacaoUSD": t.cotacaoUSD,
"dataCotacaoUSD": t.dataCotacaoUSD,
"valorDolar": t.valorUSD,
"isIof": t.isIof || false
}
],
"codRetornoConductor": "0",
"descRetornoConductor": "",
"observacao": "",
"statusProcessamento": "Processado com sucesso",
"logCompleto": "",
"statusFatura": "ABERTA",
"statusMensagemFatura": "Fatura Aberta",
"mensagemCorte": "As compras realizadas até o dia 13/05 entram nessa fatura com vencimento no dia 25/05",
"restanteFatura": 0,
"dataFechamento": "2018-07-10",
"melhorDia": "2018-07-11",
"dataVencimentoReal": "2018-07-10",
"exibirDetalhes": false,
"exibirPagarFatura": false
}
}
}
```