API
Alocações
Alocar pagamentos entre transações e dívidas.
Visao geral
Rotas para alocar pagamentos entre transacoes e dividas.
- Base:
https://api.ascendteam.cloud/api/v1/allocations - Autenticacao: requer sessao/credenciais validas do Better Auth (ver
/docs/api/auth).
Modelo (campos principais)
id(UUID)debtId(UUID)transactionId(UUID)amount(decimal)deletedAt(opcional)createdAt
Endpoints
POST /
Cria uma alocacao manual entre uma transacao e uma divida.
Body
debtId(UUID, obrigatorio)transactionId(UUID, obrigatorio)amount(number, obrigatorio, > 0)
Respostas
- 201: alocacao criada
- 400: dados invalidos
POST /cascade
Alocacao em cascata baseada no valor da transacao.
Body
transactionId(UUID, obrigatorio)debtIds(UUID[], opcional) - se nao informado, usa todas as dividas elegiveis
Regras principais
- Usa o valor total da transacao como limite de alocacao.
- Se
debtIdsfor informado, aloca somente nessas dividas (ordenadas pordueDate). - Se
debtIdsnao for informado, aloca em dividas com statusABERTA,PARCIALouEM_NEGOCIACAO, ordenando pordueDateecreatedAt. - Dividas
CANCELADAou comcurrentBalance <= 0sao ignoradas. - Atualiza
currentBalanceestatusdas dividas conforme o saldo restante.
Resposta 200
allocations: lista com{ debtId, allocationId, amount }updatedDebts: lista de dividas atualizadasremaining: saldo da transacao nao alocado
Erros comuns
- 400: transacao sem valor para alocacao
- 400: nenhuma divida disponivel para alocacao
GET /
Lista alocacoes (paginado).
Query
debtId(UUID, opcional)transactionId(UUID, opcional)page(number, opcional, default 1)pageSize(number, opcional, default 20, max 100)includeDeleted(boolean, opcional, default false)
Resposta 200
total,page,pageSize,items(array de alocacoes)
DELETE /:id
Soft delete da alocacao.
Params
id(UUID)
Respostas
- 200: alocacao deletada
- 404: alocacao nao encontrada
Observacoes
- Soft delete preenche
deletedAt.