---
# System prepended metadata

title: Faturas

---

# 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
    }
    }
}

```