Efetuar Recebimentos de Parcelas

Recebimento de parcela individual

Para efetuar o recebimento de uma parcela individual de um carnê é enviado uma requisição do tipo POST para o endpoint {{ BASE_API_URL }}/v1/venda/pagar-carne passando no corpo da requisição o objeto ParcelaClienteDTO com os dados da parcela que será recebida.

Exemplo de payload de recebimento de parcela
{
  "dataPagto": "10/11/2023",
  "dataVencimento": "20/12/2023",
  "desconto": "0,00",
  "empresaId": null,
  "flgCancelado": false,
  "id": 708733,
  "localPagto": null,
  "lojaCompra": "Óticas Ferri - Brusque",
  "lojaId": 437,
  "mensagem": null,
  "motivoCancelamento": null,
  "nomeCliente": null,
  "numero": 1,
  "pagamentoId": null,
  "peJurosMora": 14.5,
  "peMulta": 2,
  "permissao": null,
  "podeCancelar": false,
  "qtdDiasAtraso": 0,
  "redeId": null,
  "selected": false,
  "status": "Em Aberto",
  "tipoPagamento": "LOJA",
  "valor": "37,25",
  "valorJurosMora": "0,00",
  "valorMulta": "0,00",
  "valorPago": "37,25",
}

Recebimento de lista de parcelas

Para lojas que possuem a opção de emissão de carnê de pagamento sem vinculação com boleto bancário é possível efetuar o recebimento de uma lista de parcelas de uma única vez, para isso é enviado uma requisição do tipo POST para o endpoint {{ BASE_API_URL }}/v1/venda/pagar-lista-carne passando no corpo da requisição uma lista de objetos ParcelaClienteDTO com os dados das parcelas que serão recebidas.

Exemplo de payload de recebimento de lista de parcelas
[
  {
    "dataPagto": null,
    "dataVencimento": "19/12/2023",
    "desconto": "0,00",
    "empresaId": null,
    "flgCancelado": false,
    "id": 708737,
    "localPagto": null,
    "lojaCompra": "Sonho Azul",
    "lojaId": 441,
    "mensagem": null,
    "motivoCancelamento": null,
    "nomeCliente": null,
    "numero": 1,
    "pagamentoId": null,
    "peJurosMora": 13,
    "peMulta": 2,
    "permissao": null,
    "podeCancelar": false,
    "qtdDiasAtraso": 0,
    "redeId": null,
    "selected": false,
    "status": "Em Aberto",
    "tipoPagamento": null,
    "valor": "101,69",
    "valorJurosMora": "0,00",
    "valorMulta": "0,00",
    "valorPago": "101,69"
  }
]

Listagem de parcelas de um cliente

Para buscar as parcelas de um cliente é enviada uma requisição do tipo POST para o endpoint {{ BASE_API_URL }}/v1/cliente/{cpf}/parcelas passando como parâmetro o CPF do cliente que deseja buscar as parcelas, bem como um objeto de filtro com os parâmetros de busca. Nessa busca serão retornadas as parcelas de um cliente, sem agrupamento por carnê, podendo filtrar por status. Essa requisição é comumente utilizada para exibir as parcelas em aberto de um cliente e alimentar a tela de recebimento de várias parcelas simultâneas, no endpoint {{ BASE_API_URL }}/v1/venda/pagar-lista-carne

Exemplo de payload para listagem de parcelas de um cliente
{
  "filtros":
  {
    "cpf": "222.570.550-04",
    "empresaId": 398,
    "lojaId": 441,
    "redeId": -1,
    "status": null
  },
  "pageNo": 0,
  "pageSize": 25,
  "sortBy": "dataVencimento"
}
Exemplo de response para listagem de parcelas de um cliente
  {
    "content": [
      {
        "id": 708711,
        "mensagem": null,
        "permissao": null,
        "selected": false,
        "podeCancelar": false,
        "dataInicial": null,
        "dataFinal": null,
        "lojaId": 441,
        "empresaId": null,
        "redeId": null,
        "status": "Cancelado",
        "lojaCompra": "Sonho Azul",
        "valor": 101.69,
        "numero": 1,
        "dataVencimento": "19/12/2023",
        "pagamentoId": 591988,
        "dataPagto": "09/11/2023",
        "valorPago": 101.69,
        "valorMulta": 0.00,
        "valorJurosMora": 0.00,
        "desconto": 0.00,
        "localPagto": "Loja",
        "nomeCliente": null,
        "peMulta": 2.00,
        "peJurosMora": 13.00,
        "motivoCancelamento": "teste",
        "tipoPagamento": null,
        "flgCancelado": true,
        "qtdDiasAtraso": 0
      },
      ...
      {
        "id": 708763,
        "mensagem": null,
        "permissao": null,
        "selected": false,
        "podeCancelar": false,
        "dataInicial": null,
        "dataFinal": null,
        "lojaId": 441,
        "empresaId": null,
        "redeId": null,
        "status": "Cancelado",
        "lojaCompra": "Sonho Azul",
        "valor": 335.02,
        "numero": 3,
        "dataVencimento": "20/02/2024",
        "pagamentoId": null,
        "dataPagto": null,
        "valorPago": null,
        "valorMulta": null,
        "valorJurosMora": 0.00,
        "desconto": null,
        "localPagto": null,
        "nomeCliente": null,
        "peMulta": 2.00,
        "peJurosMora": 13.00,
        "motivoCancelamento": null,
        "tipoPagamento": null,
        "flgCancelado": false,
        "qtdDiasAtraso": 0
      }
    ],
    "pageable": {
        "sort": {
            "sorted": true,
            "unsorted": false,
            "empty": false
        },
        "pageNumber": 0,
        "pageSize": 25,
        "offset": 0,
        "unpaged": false,
        "paged": true
    },
    "totalPages": 1,
    "last": true,
    "totalElements": 6,
    "sort": {
        "sorted": true,
        "unsorted": false,
        "empty": false
    },
    "first": true,
    "numberOfElements": 6,
    "size": 25,
    "number": 0,
    "empty": false
}

Para consultar os tipos de status de parcelas, é efetuada uma requisição do tipo GET para o endpoint {{ BASE_API_URL }}/v1/tipos/status-parcela que retorna uma lista de objetos LabelDescricaoDTO com os tipos de status de parcelas cadastrados na base.

Exemplo de response da consulta de status de parcelas disponíveis
  [
    {
        "id": "PAGA",
        "descricao": "Pago"
    },
    {
        "id": "NAO_PAGA",
        "descricao": "Em Aberto"
    },
    {
        "id": "CANCELADA",
        "descricao": "Cancelado"
    },
    {
        "id": "RENEGOCIADA",
        "descricao": "Renegociada"
    }
  ]

Para mais informações, acesse a documentação da API: