Schema: Cobrança (API)

Documentação dos campos do banco de dados para cobranças e como atualizá-los via API.

Campos Disponíveis

Identificação

CampoTipoDescrição
idstringID único da cobrança (cuid)
clientIdstringID do cliente (credor)
descriptionstringDescrição da cobrança

Valores

CampoTipoDescrição
amountDecimalValor da cobrança
dueDateDateTimeData de vencimento

Status

CampoTipoValoresDescrição
statusenumPENDING, AUTHORIZED, SENT, PARTIAL, PAID, OVERDUE, NEGOTIATING, WRITTEN_OFFStatus da cobrança

Documento e Autorização

CampoTipoDescrição
documentUrlstring?URL do PDF/documento
documentNamestring?Nome do arquivo
authorizedbooleanSe foi autorizada para cobrança
authorizedAtDateTime?Data da autorização
authorizedBystring?ID de quem autorizou

WhatsApp

CampoTipoDescrição
whatsappSentbooleanSe mensagem foi enviada
whatsappSentAtDateTime?Data/hora do envio
whatsappMessageIdstring?ID da mensagem no WhatsApp

Pagamento

CampoTipoDescrição
debtorClaimedPaymentbooleanDevedor informou que pagou
debtorClaimedPaymentAtDateTime?Quando informou
paymentConfirmedbooleanPagamento confirmado
paymentConfirmedAtDateTime?Data confirmação
paymentConfirmationUrlstring?URL do comprovante

Análise

CampoTipoDescrição
analysisNotesstring?Notas de análise
analysisRatingint?Rating 1-5 do atendimento
observationsJSON?Array de observações
metadataJSON?Dados extras

APIs Disponíveis

Listar Cobranças

GET /api/collections

Detalhes de uma Cobrança

GET /api/collections/{id}

Atualizar Cobrança (PATCH)

PATCH /api/collections/{id}
Content-Type: application/json

{
  status: SENT,
  description: Nova descrição,
  authorized: true,
  whatsappSent: true,
  paymentConfirmed: true,
  analysisNotes: Cliente receptivo
}

Marcar como Enviada (interno)

POST /api/internal/collections/mark-sent
Content-Type: application/json
Authorization: Bearer {GATEWAY_TOKEN}

{
  collectionId: id-da-cobranca,
  messageId: id-mensagem-whatsapp
}

Fluxo de Status

PENDING → AUTHORIZED → SENT → PAID
                  ↓         ↓
            NEGOTIATING  PARTIAL
                  ↓         ↓
             WRITTEN_OFF  OVERDUE

Transições Comuns

DeParaQuando
PENDINGAUTHORIZEDCliente autoriza cobrança
AUTHORIZEDSENTMensagem enviada ao devedor
SENTPAIDPagamento confirmado
SENTPARTIALPagamento parcial
SENTNEGOTIATINGEm negociação
SENTOVERDUEVenceu sem pagamento
NEGOTIATINGPAIDAcordo cumprido
OVERDUEWRITTEN_OFFDado como perdido

Exemplos de Uso

Após enviar WhatsApp:

curl -X POST http://denardi-escritorio-legal-web:3000/api/internal/collections/mark-sent \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"collectionId": "xxx", "messageId": "whatsapp-msg-id"}'

Marcar pagamento informado:

curl -X PATCH http://denardi-escritorio-legal-web:3000/api/collections/xxx \
  -H "Content-Type: application/json" \
  -d '{"debtorClaimedPayment": true}'

Confirmar pagamento:

curl -X PATCH http://denardi-escritorio-legal-web:3000/api/collections/xxx \
  -H "Content-Type: application/json" \
  -d '{"paymentConfirmed": true, "status": "PAID"}'

Documentação criada em 2026-02-03