Lista faturas do cliente
GET /api/{userId}/establishment/{establishmentId}/clients/{clientId}/invoices
Retorna as faturas ativas do cliente, ordenadas por vencimento (dueDateTime asc).
Parâmetros de rota
| Nome | Tipo | Descrição |
|---|---|---|
userId | number | Identificador do usuário |
establishmentId | number | Identificador do estabelecimento |
clientId | string | Identificador do cliente |
Requisição
- Método:
GET - Path:
/api/\{userId\}/establishment/\{establishmentId\}/clients/\{clientId\}/invoices - Headers:
Authorization,Accept: application/json
Formato da resposta (JSON)
- Sucesso (HTTP 200):
{ "response": "success", "data": <payload> } - Erro (HTTP 400):
{ "response": "error", "data": { "msg": "...", "code": "..." } } - Não autorizado / permissão: Autorização
Objeto data.client
| Campo | Tipo | Descrição |
|---|---|---|
clientId | string | Identificador do cliente |
clientName | string | Nome |
clientTypeId | number | Tipo de cliente |
Array data.invoices
| Campo | Tipo | Descrição |
|---|---|---|
establishmentId | number | Estabelecimento (interno) |
clientId | string | Cliente |
invoiceDateTime | string | Chave da fatura (usar nas rotas de visualização e ações) |
registerDateTime | string | Data/hora de registro |
closingDateTime | string | Data/hora de fechamento (regra interna para “aberta/fechada”) |
dateTimeSequence | string | Sequência usada internamente para recorrência/ordenação |
dueDateTime | string | Vencimento |
paymentDateTime | string / null | Pagamento (quando pago) |
amount | number | Valor base |
closingAmount | number | Ajustes/taxa (quando aplicável) |
transactions | array | Lançamentos associados (decodificados de JSON; pode vir vazio) |
transactionId | string / null | Transação de pagamento vinculada |
serviceContractId | string / null | Contrato de pacote de serviço (quando aplicável) |
observations | string / null | Observações |
situationId | number | Situação |
status | number | Status do registro |
Campos calculados:
| Campo | Tipo | Descrição |
|---|---|---|
amountReceived | number | Valor recebido quando existe transactionId; senão 0 |
opened | number | 1 se a fatura é considerada “aberta” pela regra de closingDateTime, senão 0 |
Nuâncias
- A lista considera somente registros ativos (
status = 1). transactionspode vir como[]quando não há itens, e como lista quando há JSON no banco.- O campo
openedé uma convenção útil para clientes pós pago (ver Visão geral de faturas).
Exemplo de resposta (JSON)
{
"response": "success",
"data": {
"client": {
"clientId": "448420250815093045",
"clientName": "Beatriz Nascimento",
"clientTypeId": 2
},
"invoices": [
{
"establishmentId": 4482,
"clientId": "448420250815093045",
"invoiceDateTime": "20250815093108",
"registerDateTime": "2025-08-15 09:31:08",
"closingDateTime": "2025-08-22 16:00:00",
"dateTimeSequence": "2025-08-22 16:00:00",
"dueDateTime": "2025-08-22 16:00:00",
"paymentDateTime": "2025-08-22 16:05:41",
"amount": 88.0,
"closingAmount": 5.5,
"transactions": [],
"transactionId": "44842025081509304591",
"serviceContractId": null,
"observations": null,
"situationId": 2,
"status": 1,
"amountReceived": 93.5,
"opened": 0
}
]
}
}