Contratos.md e Titulos.md). O papel da régua é exclusivamente operacional: orientar e automatizar as atividades do time de cobrança.Escopo da v1: A única ação implementada na v1 é a geração de atividade no módulo de Atividades ( ACTIVITY). Os demais tipos de ação (SMS,CALL,NEGATIVATION,PROTEST) estão modelados e previstos para versões futuras, conforme descrito na seção 6.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | UUID | Sim | Identificador único da régua. |
companyId | UUID | Sim | Empresa à qual a régua pertence. |
name | String | Sim | Nome da régua (ex: "Cobrança Padrão", "Grandes Contas"). Único por empresa. |
description | String | Não | Descrição do propósito ou critério de uso da régua. |
status | Enum | Sim | Estado: ACTIVE, INACTIVE. |
createdBy | UUID | Sim | Usuário que criou a régua. |
createdAt | DateTime | Sim | Data de criação. |
updatedAt | DateTime | Sim | Data da última atualização. |
stepOrder.| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | UUID | Sim | Identificador único da etapa. |
collectionRuleId | UUID | Sim | Régua à qual a etapa pertence. |
stepOrder | Integer | Sim | Ordem de execução da etapa dentro da régua. Único por régua. Começa em 1. |
triggerType | Enum | Sim | Tipo do gatilho: DAYS_BEFORE_DUE, ON_DUE_DATE, DAYS_AFTER_DUE, STATUS_CHANGE. |
triggerValue | Integer | Condicional | Valor numérico do gatilho em dias. Obrigatório para DAYS_BEFORE_DUE e DAYS_AFTER_DUE. Ignorado para ON_DUE_DATE e STATUS_CHANGE. |
triggerStatus | Enum | Condicional | Status que dispara a etapa. Obrigatório quando triggerType = STATUS_CHANGE. Valores: OVERDUE, PARTIALLY_PAID. |
actionType | Enum | Sim | Tipo da ação executada: ACTIVITY, EMAIL, SMS, CALL, NEGATIVATION, PROTEST. |
actionConfig | Object | Não | Configurações específicas da ação. Estrutura varia conforme actionType. Ver seção 2.3. |
isActive | Boolean | Sim | Indica se a etapa está ativa. Etapas inativas são ignoradas na execução. Default: true. |
createdAt | DateTime | Sim | Data de criação. |
updatedAt | DateTime | Sim | Data da última atualização. |
ACTIVITY (v1 — implementado){
"activityType": "CALL",
"title": "Ligar para cliente — título vencido há 3 dias",
"description": "Verificar motivo do atraso e negociar prazo de pagamento.",
"priority": "HIGH",
"dueDaysAfterTrigger": 1
}| Campo | Tipo | Descrição |
|---|---|---|
activityType | Enum | Tipo da atividade gerada: CALL, EMAIL, MEETING, OTHER. |
title | String | Título da atividade criada no módulo de Atividades. |
description | String | Descrição/instrução para o responsável pela atividade. |
priority | Enum | Prioridade: LOW, MEDIUM, HIGH. |
dueDaysAfterTrigger | Integer | Prazo em dias para conclusão da atividade, contado a partir do disparo. |
EMAIL (roadmap){
"templateId": "uuid-do-template",
"subject": "Lembrete de vencimento — {{contractCode}}",
"sendCopyTo": ["financeiro@empresa.com"]
}SMS (roadmap){
"templateId": "uuid-do-template"
}CALL (roadmap){
"assignToUserId": "uuid-do-usuario",
"script": "Roteiro de ligação para cobranças em atraso."
}NEGATIVATION (roadmap){
"bureau": "SERASA",
"notifyClientDaysBefore": 5
}PROTEST (roadmap){
"cartorio": "1º Cartório de Protestos",
"notifyClientDaysBefore": 5
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | UUID | Sim | Identificador único do vínculo. |
collectionRuleId | UUID | Sim | Referência à régua de cobrança. |
targetType | Enum | Sim | Tipo do alvo: CONTRACT ou CLIENT. |
contractId | UUID | Condicional | Referência ao contrato vinculado. Obrigatório quando targetType = CONTRACT. |
clientId | UUID | Condicional | Referência ao cliente vinculado. Obrigatório quando targetType = CLIENT. Todos os contratos ativos do cliente são avaliados pela régua. |
assignedBy | UUID | Sim | Usuário que realizou o vínculo. |
assignedAt | DateTime | Sim | Data e hora do vínculo. |
createdAt | DateTime | Sim | Data de criação do registro. |
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | UUID | Sim | Identificador único da execução. |
collectionStepId | UUID | Sim | Etapa que foi executada. |
collectionRuleId | UUID | Sim | Régua à qual a etapa pertence. Desnormalizado. |
receivableId | UUID | Sim | Título que disparou a execução. |
contractId | UUID | Sim | Contrato pai do título. Desnormalizado. |
companyId | UUID | Sim | Empresa. Desnormalizado. |
executedAt | DateTime | Sim | Data e hora da execução. |
status | Enum | Sim | Resultado: SUCCESS, FAILED. |
failureReason | String | Não | Motivo da falha técnica, quando status = FAILED. |
resultRef | UUID | Não | Referência ao objeto criado pela ação (ex: ID da atividade gerada). |
createdAt | DateTime | Sim | Data de criação do registro. |
name deve ser único dentro do escopo da empresa. Tentativas de criar réguas com nome duplicado devem ser rejeitadas com erro específico.collectionRuleId (ver Contratos.md). Contratos sem régua atribuída (collectionRuleId = null) não têm etapas de cobrança executadas automaticamente.stepOrder deve ser único dentro de uma régua. A execução das etapas respeita estritamente a ordem crescente. Não é possível ter duas etapas com o mesmo stepOrder na mesma régua.