1. Régua de cobrança
AgRisk
  • AgRisk
    • Documentação
      • AgRisk
    • API - AgRisk
      • Login
        • Atualizar token
        • Autenticar usuário
      • Consultas
        • Solicitar consulta
        • Listar consultas
        • Listar consultas da empresa
      • Listagem de Produtos
        • Listar produtos
      • Clientes
        • Listar clientes
        • Criar cliente
        • Listar contadores de clientes
        • Deletar cliente
        • Listar contadores de clientes no grupo
      • Dados Cadastrais
        • Buscar dados cadastrais
      • Grupos
        • Listar grupos
        • Criar grupo
        • Listar clientes em grupo
        • Criar cliente em grupo
        • Atualizar nome do grupo
        • Deletar grupo
        • Inserir cliente em grupo
        • Remover cliente de grupo
      • Análise de Matrícula
        • Listar análises de matrículas
        • Criar análise de matrícula
        • Buscar análise de matrícula
        • Deletar análise de matrícula
      • Contatos
        • Listar contatos
      • BNDES
        • Listar BNDES
      • Boa Vista
        • Listar Boa Vista
      • Compliance
        • Listar compliance
      • CPRs
        • Listar CPRs
        • Buscar CPR
      • Grupo econômico
        • familiar
          • Listar grupo econômico
          • Listar grupo familiar
      • Imposto de Renda
        • Criar ativo financeiro
        • Listar ativos financeiros
        • Criar dívida
        • Importar dívidas
        • Listar dívidas
        • Atualizar dívida
        • Deletar dívida
        • Criar ativo móvel
        • Listar ativos móveis
        • Atualizar ativo móvel
        • Deletar ativo móvel
        • Criar imóvel urbano
        • Listar imóveis urbanos
        • Atualizar imóvel urbano
        • Deletar imóvel urbano
      • Judicial
        • Listar processos judiciais
        • Buscar processo judicial
        • Solicitar análise por IA
      • Protestos
        • Listar protestos
      • Imóveis Rurais - Simples
        • Criar imóvel rural
        • Listar imóveis rurais
        • Buscar imóvel rural
      • Endividamento
        • Listar SCR (endividamento)
      • Imóveis Rurais - CAR
        • Listar CAR (Cadastro Ambiental Rural)
        • Buscar CAR
        • Deletar CAR
        • Criar CAR
        • Download certidão CAR
      • QUOD
        • Buscar Quod
      • Restritivo Nacional
        • Buscar Restritivo Nacional
      • Veicular
        • Buscar Patrimônio Veicular
      • Sintegra
        • Listar Sintegras
    • APIs
    • Raiz
    • Esquemas
      • API Requests
        • ClientResponse
  • AgFlow
    • 🇧🇷 Português
      • Aprovação
        • Aprovação — Visão Geral
        • Consultar configuração de aprovação
        • Criar configuração de aprovação
        • Atualizar configuração de aprovação
        • Adicionar regra de aprovação
        • Atualizar regra de aprovação
        • Remover configuração de aprovação
        • Consultar aprovação do card
        • Registrar voto de aprovação
        • Atualizar voto de aprovação
      • Fluxo
        • Fluxo — Visão Geral
        • Verificar disponibilidade
        • Criar fluxo
        • Listar fluxos
        • Obter fluxo
        • Atualizar fluxo
        • Remover fluxo
        • Adicionar usuário ao fluxo
        • Remover usuário do fluxo
        • Listar caminhos de campos dinâmicos
      • Consulta a Bureau
        • Consulta a Bureau — Visão Geral
        • Obter configuração de consulta a bureau
        • Criar configuração de consulta a bureau
        • Atualizar configuração de consulta a bureau
      • Campos
        • Campos — Visão Geral
        • Listar campos da fase
        • Atualizar campos da fase
        • Atualizar regras de campos da fase
      • Conversa
        • Conversa — Visão Geral
        • Obter configuração de conversa
        • Criar configuração de conversa
        • Remover configuração de conversa
      • Motores
        • Motores — Visão Geral
        • Consultar resultado do motor de decisão do card
        • Executar motor de decisão no card
        • Consultar inputs do motor de crédito para o card
        • Consultar resultado do motor de crédito do card
        • Executar motor de crédito no card
        • Consultar configuração do motor de decisão
        • Criar configuração do motor de decisão
        • Atualizar configuração do motor de decisão
        • Remover configuração do motor de decisão
        • Consultar detalhe da configuração do motor de crédito
        • Criar configuração do motor de crédito
        • Listar configurações do motor de crédito do flow
        • Listar políticas de crédito aplicáveis a um card
        • Atualizar configuração do motor de crédito
        • Remover configuração do motor de crédito
      • Parecer
        • Parecer — Visão Geral
        • Consultar configuração do parecer técnico
        • Criar configuração do parecer técnico
        • Atualizar configuração do parecer técnico
        • Consultar parecer registrado no card
        • Registrar parecer no card
        • Atualizar parecer no card
      • Formulário Inicial
        • Formulário Inicial — Visão Geral
        • Criar formulário inicial
        • Definir regras condicionais do formulário
        • Atualizar metadados do formulário
        • Consultar formulário inicial
        • Consultar formulário público
        • Atualizar campos do formulário
        • Remover formulário inicial
      • Filtros
        • Filtros — Visão Geral
        • Listar filtros salvos
        • Criar filtro salvo
        • Atualizar filtro salvo
        • Buscar cards do flow
        • Busca global de cards
      • AgRisk
        • AgRisk — Visão Geral
        • Listar produtos de consulta AgRisk
      • Gatilhos
        • Gatilhos — Visão Geral
        • Listar gatilhos do flow
        • Criar gatilho
        • Atualizar gatilho
        • Remover gatilho
        • Listar gatilhos da fase
      • Autenticação
        • Autenticação — Visão Geral
        • Autenticar usuário
      • Mensageria
        • Mensageria — Visão Geral
        • Configurar telefone
        • Consultar configuração de mensageria
        • Criar configuração de mensageria
        • Atualizar configuração de mensageria
        • Criar regras de mensageria
        • Atualizar regra de mensageria
        • Remover configuração de mensageria
      • Empresas e Papéis
        • Empresas e Papéis — Visão Geral
        • Listar usuários da empresa
        • Listar papéis da empresa
        • Atualizar papel
        • Listar catálogo de permissões
        • Criar papel
        • Gerar URL de upload do logotipo
        • Gerar URL de download do logotipo
        • Atribuir papéis a um usuário
      • Documentos
        • Documentos — Visão Geral
        • Criar configuração de geração automática de documento
        • Remover configuração de geração automática de documento
        • Consultar configuração de geração automática de documento
        • Atualizar configuração de geração automática de documento
        • Consultar campos para geração do documento
        • Gerar documento a partir de template
        • Consultar template por ID
        • Listar templates do card
        • Ativar template
        • Criar template de documento
        • Remover template
        • Listar templates
        • Definir campos do template
        • Configurar regras condicionais do template
        • Atualizar arquivo do template
      • Cards
        • Cards — Visão Geral
        • Listar cards de uma fase
        • Mover card de fase
        • Criar card
        • Listar cards do flow
        • Criar card via link público
        • Buscar cards
        • Obter card
        • Atualizar card
        • Atualizar responsável do card
        • Atualizar campos via link público
        • Atualizar campos de fase do card
        • Remover cards em lote
        • Atualizar Ficha Cadastral do card
        • Obter responsável do card
        • Listar etiquetas do card
        • Listar campos de uma fase do card
        • Listar campos de uma fase do card (link público)
        • Obter histórico do card
        • Listar clientes do card
        • Criar comentário no card
        • Listar comentários do card
        • Remover comentário do card
        • Listar anexos do card
        • Cadastrar anexo no card
        • Remover anexo do card
        • Remover vínculo do anexo com campo de fase
        • Adicionar membros ao grupo do card
        • Remover membro do grupo do card
      • Configuração de Cliente
        • Configuração de Cliente — Visão Geral
        • Obter configuração de cliente por empresa
        • Criar configuração de cliente
        • Atualizar configuração de cliente
        • Obter configuração de cliente
        • Remover configuração de cliente
        • Listar seções
        • Criar seções
        • Obter seção
        • Atualizar seção
        • Atualizar seção parcialmente
        • Remover seção
        • Listar campos
        • Criar campos
        • Obter campo
        • Atualizar campo
        • Atualizar campo parcialmente
        • Remover campo
        • Listar regras
        • Criar regra
        • Obter regra
        • Atualizar regra
        • Atualizar regra parcialmente
        • Remover regra
      • Fase
        • Fase — Visão Geral
        • Criar ação de fase
        • Criar fase
        • Remover ação de fase
        • Remover fase
        • Listar ações da fase
        • Listar fases
        • Atualizar ação de fase
        • Atualizar fase
    • 🇺🇸 English
      • Phase
        • Phase — Overview
        • Create phase action
        • Create phase
        • Delete phase action
        • Delete phase
        • List phase actions
        • List phases
        • Update phase action
        • Update phase
      • Approval
        • Approval — Overview
        • Get approval configuration
        • Create approval configuration
        • Update approval configuration
        • Add approval rule
        • Update approval rule
        • Delete approval configuration
        • Get card approval
        • Register approval vote
        • Update approval vote
      • Flow
        • Flow — Overview
        • Health check
        • Create flow
        • List flows
        • Get flow
        • Update flow
        • Delete flow
        • Add user to flow
        • Remove user from flow
        • List dynamic field paths
      • Bureau Query
        • Bureau Query — Overview
        • Get bureau query configuration
        • Create bureau query configuration
        • Update bureau query configuration
      • Fields
        • Fields — Overview
        • List phase fields
        • Update phase fields
        • Update phase field rules
      • Engines
        • Engines — Overview
        • Get card decision engine result
        • Run card decision engine
        • Get card credit engine inputs
        • Get card credit engine result
        • Run card credit engine
        • Get decision engine configuration
        • Create decision engine configuration
        • Update decision engine configuration
        • Delete decision engine configuration
        • Get credit engine configuration detail
        • Create credit engine configuration
        • List flow credit engine configurations
        • List credit policies applicable to a card
        • Update credit engine configuration
        • Delete credit engine configuration
      • Conversation
        • Conversation — Overview
        • Get conversation configuration
        • Create conversation configuration
        • Delete conversation configuration
      • Opinion
        • Opinion — Overview
        • Get opinion configuration
        • Create opinion configuration
        • Update opinion configuration
        • Get card opinion
        • Create card opinion
        • Update card opinion
      • Start Form
        • Start Form — Overview
        • Create start form
        • Set start form conditional rules
        • Update start form metadata
        • Get start form
        • Get public start form
        • Update start form fields
        • Delete start form
      • Filters
        • Filters — Overview
        • List saved filters
        • Create saved filter
        • Update saved filter
        • Search flow cards
        • Search cards across flows
      • AgRisk
        • AgRisk — Overview
        • List AgRisk query products
      • Triggers
        • Triggers — Overview
        • List flow triggers
        • Create trigger
        • Update trigger
        • Delete trigger
        • List phase triggers
      • Authentication
        • Authentication — Overview
        • Authenticate user
      • Messaging
        • Messaging — Overview
        • Configure phone
        • Get messaging config
        • Create messaging config
        • Update messaging config
        • Create messaging rules
        • Update messaging rule
        • Delete messaging config
      • Companies & Roles
        • Companies & Roles — Overview
        • List company users
        • List company roles
        • Update role
        • List permissions catalog
        • Create role
        • Generate company logo upload URL
        • Generate company logo download URL
        • Assign roles to a user
      • Documents
        • Documents — Overview
        • Create automatic document configuration
        • Delete automatic document configuration
        • Get automatic document configuration
        • Update automatic document configuration
        • Get fields for document generation
        • Generate document from template
        • Get template by ID
        • List card templates
        • Activate template
        • Create document template
        • Delete template
        • List templates
        • Set template fields
        • Configure template conditional rules
        • Update template file
      • Cards
        • Cards — Overview
        • List cards in a phase
        • Move card to another phase
        • Create card
        • List flow cards
        • Create card via public link
        • Search cards
        • Get card
        • Update card
        • Update card assignee
        • Update fields via public link
        • Update card phase fields
        • Delete cards in bulk
        • Update card registration record
        • Get card assignee
        • List card labels
        • List card phase fields
        • List card phase fields (public link)
        • Get card history
        • List card clients
        • Create card comment
        • List card comments
        • Delete card comment
        • List card attachments
        • Register card attachment
        • Delete card attachment
        • Delete attachment's phase-field link
        • Add members to card group
        • Remove card group member
      • Client Configuration
        • Client Configuration — Overview
        • Get client configuration by company
        • Create client configuration
        • Update client configuration
        • Get client configuration
        • Delete client configuration
        • List sections
        • Create sections
        • Get section
        • Update section
        • Partially update section
        • Delete section
        • List fields
        • Create fields
        • Get field
        • Update field
        • Partially update field
        • Delete field
        • List rules
        • Create rule
        • Get rule
        • Update rule
        • Partially update rule
        • Delete rule
    • 💼 Visão de Negócio
      • Fase
      • Fluxo
      • Campos — Visão de Negócio
      • Aprovação
      • Parecer
      • Motores
      • Empresas e Papéis
      • Gatilhos
      • Conversa
      • Documentos
      • Mensageria
      • Filtros
      • Autenticação
      • Configuração de Cliente
      • Cards
      • AgRisk
      • Formulário Inicial
      • Consulta a Bureau
    • 💼 Business Overview
      • Phase
      • Flow
      • Approval
      • Fields — Business Overview
      • Opinion
      • Engines
      • Companies & Roles
      • Documents
      • Triggers
      • Messaging
      • Conversation
      • Filters
      • Authentication
      • Client Configuration
      • Cards
      • AgRisk
      • Start Form
      • Bureau Query
  • Portfolio
    • Documentação
      • Empresa
      • Gestão de portfolio
        • Análise geral
        • Dicionário de campos base (Necessário validar)
        • [Desatualizado]Fluxo de funcionamento
        • Carteiras
          • Gestão da carteira
        • Contratos
          • Contratos
          • Template Contratos
        • Pagamentos
          • Pagamentos
        • Baixas
          • Baixas
        • Clientes
          • Devedores e credores (Participantes)
          • Informações dos clientes
        • Importação de dados
          • Importação de dados
        • Garantia
          • Colaterais
      • Gestão de Cobrança
        • Régua de cobrança
          • Regras da régua por empresa
        • Atividades
          • Regras das Atividades
  1. Régua de cobrança

Regras da régua por empresa

Réguas de Cobrança — Regras de Negócio#

1. Conceito#

A Régua de Cobrança é um conjunto de etapas sequenciais que define como o time de cobrança da empresa deve atuar sobre os contratos da carteira. Cada etapa combina um gatilho (quando agir) e uma ação (o que fazer), executados em sequência conforme o avanço do atraso ou de condições específicas do título.
A régua não interfere em cálculos financeiros — juros, multa e desconto são configurados no nível do contrato e do título (ver Contratos.md e Titulos.md). O papel da régua é exclusivamente operacional: orientar e automatizar as atividades do time de cobrança.
Uma empresa pode criar quantas réguas desejar. Não existe régua global obrigatória — cada contrato pode ter sua própria régua atribuída, ou nenhuma. Réguas são criadas livremente pela empresa a partir do momento em que acessa o módulo de Gestão de Portfolio.
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 (EMAIL, SMS, CALL, NEGATIVATION, PROTEST) estão modelados e previstos para versões futuras, conforme descrito na seção 6.

2. Estruturas de Dados#

2.1. CollectionRule#

CampoTipoObrigatórioDescrição
idUUIDSimIdentificador único da régua.
companyIdUUIDSimEmpresa à qual a régua pertence.
nameStringSimNome da régua (ex: "Cobrança Padrão", "Grandes Contas"). Único por empresa.
descriptionStringNãoDescrição do propósito ou critério de uso da régua.
statusEnumSimEstado: ACTIVE, INACTIVE.
createdByUUIDSimUsuário que criou a régua.
createdAtDateTimeSimData de criação.
updatedAtDateTimeSimData da última atualização.

2.2. CollectionStep#

Cada etapa pertence a uma régua e define exatamente um gatilho e uma ação. As etapas são executadas em ordem crescente de stepOrder.
CampoTipoObrigatórioDescrição
idUUIDSimIdentificador único da etapa.
collectionRuleIdUUIDSimRégua à qual a etapa pertence.
stepOrderIntegerSimOrdem de execução da etapa dentro da régua. Único por régua. Começa em 1.
triggerTypeEnumSimTipo do gatilho: DAYS_BEFORE_DUE, ON_DUE_DATE, DAYS_AFTER_DUE, STATUS_CHANGE.
triggerValueIntegerCondicionalValor numérico do gatilho em dias. Obrigatório para DAYS_BEFORE_DUE e DAYS_AFTER_DUE. Ignorado para ON_DUE_DATE e STATUS_CHANGE.
triggerStatusEnumCondicionalStatus que dispara a etapa. Obrigatório quando triggerType = STATUS_CHANGE. Valores: OVERDUE, PARTIALLY_PAID.
actionTypeEnumSimTipo da ação executada: ACTIVITY, EMAIL, SMS, CALL, NEGATIVATION, PROTEST.
actionConfigObjectNãoConfigurações específicas da ação. Estrutura varia conforme actionType. Ver seção 2.3.
isActiveBooleanSimIndica se a etapa está ativa. Etapas inativas são ignoradas na execução. Default: true.
createdAtDateTimeSimData de criação.
updatedAtDateTimeSimData da última atualização.

2.3. actionConfig por tipo de açã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
}
CampoTipoDescrição
activityTypeEnumTipo da atividade gerada: CALL, EMAIL, MEETING, OTHER.
titleStringTítulo da atividade criada no módulo de Atividades.
descriptionStringDescrição/instrução para o responsável pela atividade.
priorityEnumPrioridade: LOW, MEDIUM, HIGH.
dueDaysAfterTriggerIntegerPrazo 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
}

2.4. CollectionRuleTarget (Vínculo da Régua)#

Define quais contratos ou clientes estão associados a uma régua. Quando o vínculo é por cliente, todos os contratos ativos daquele cliente são avaliados pela régua. Quando é por contrato, apenas aquele contrato específico é avaliado.
CampoTipoObrigatórioDescrição
idUUIDSimIdentificador único do vínculo.
collectionRuleIdUUIDSimReferência à régua de cobrança.
targetTypeEnumSimTipo do alvo: CONTRACT ou CLIENT.
contractIdUUIDCondicionalReferência ao contrato vinculado. Obrigatório quando targetType = CONTRACT.
clientIdUUIDCondicionalReferência ao cliente vinculado. Obrigatório quando targetType = CLIENT. Todos os contratos ativos do cliente são avaliados pela régua.
assignedByUUIDSimUsuário que realizou o vínculo.
assignedAtDateTimeSimData e hora do vínculo.
createdAtDateTimeSimData de criação do registro.

2.5. CollectionStepExecution (Log de Execução)#

Registra cada vez que uma etapa foi executada para um título específico.
CampoTipoObrigatórioDescrição
idUUIDSimIdentificador único da execução.
collectionStepIdUUIDSimEtapa que foi executada.
collectionRuleIdUUIDSimRégua à qual a etapa pertence. Desnormalizado.
receivableIdUUIDSimTítulo que disparou a execução.
contractIdUUIDSimContrato pai do título. Desnormalizado.
companyIdUUIDSimEmpresa. Desnormalizado.
executedAtDateTimeSimData e hora da execução.
statusEnumSimResultado: SUCCESS, FAILED.
failureReasonStringNãoMotivo da falha técnica, quando status = FAILED.
resultRefUUIDNãoReferência ao objeto criado pela ação (ex: ID da atividade gerada).
createdAtDateTimeSimData de criação do registro.

3. Regras de Negócio#

RN-RULE-001: Criação livre de réguas#

A empresa pode criar quantas réguas desejar a partir do momento em que acessa o módulo de Gestão de Portfolio. Não existe régua global obrigatória nem limite de réguas por empresa.

RN-RULE-002: Nome único por empresa#

O campo name deve ser único dentro do escopo da empresa. Tentativas de criar réguas com nome duplicado devem ser rejeitadas com erro específico.

RN-RULE-003: Atribuição ao contrato#

A régua é atribuída no nível do contrato via collectionRuleId (ver Contratos.md). Contratos sem régua atribuída (collectionRuleId = null) não têm etapas de cobrança executadas automaticamente.

RN-RULE-004: Etapas ordenadas e únicas#

O campo 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.

RN-RULE-005: Execução sequencial com intervalo de dias#

As etapas são executadas em sequência. A próxima etapa só é elegível para execução após o gatilho da etapa atual ser satisfeito. O job de execução avalia diariamente os títulos elegíveis para cada etapa.

RN-RULE-006: Condição de elegibilidade por título#

Uma etapa só é executada para um título se todas as condições abaixo forem verdadeiras: o título está em status = PENDING, PARTIALLY_PAID ou OVERDUE; a etapa ainda não foi executada para aquele título com status = SUCCESS; e o gatilho da etapa foi satisfeito.

RN-RULE-007: Etapa ignorada por pagamento#

Se um título for liquidado (PAID) antes de uma etapa ser executada, todas as etapas pendentes para aquele título são automaticamente marcadas como SKIPPED no log de execução.

RN-RULE-008: Gatilho DAYS_BEFORE_DUE#

Disparado quando a data atual é exatamente triggerValue dias antes do dueDate do título. Aplicável apenas a títulos PENDING.

RN-RULE-009: Gatilho ON_DUE_DATE#

Disparado no próprio dia do vencimento (dueDate). Aplicável a títulos PENDING ou PARTIALLY_PAID.

RN-RULE-010: Gatilho DAYS_AFTER_DUE#

Disparado quando a data atual é exatamente triggerValue dias após o dueDate. Aplicável a títulos OVERDUE ou PARTIALLY_PAID.

RN-RULE-011: Gatilho STATUS_CHANGE#

Disparado quando o título transita para o triggerStatus configurado. A avaliação ocorre no mesmo job que processa as transições automáticas de status dos títulos.

RN-RULE-013: Ações de roadmap não executáveis na v1#

Etapas configuradas com actionType diferente de ACTIVITY são aceitas no cadastro mas não serão executadas na v1 — o job simplesmente as ignora sem gerar registro no log de execução. Nenhum status de falha ou motivo é registrado. Essas etapas passarão a ser executadas automaticamente quando a integração correspondente for implementada.

RN-RULE-016: Vínculo por contrato#

Quando targetType = CONTRACT, a régua é avaliada exclusivamente para os títulos daquele contrato. O contractId informado deve pertencer à mesma empresa da régua.

RN-RULE-017: Vínculo por cliente#

Quando targetType = CLIENT, a régua é avaliada para todos os contratos ativos do cliente na carteira da empresa. Contratos futuros do mesmo cliente, criados após o vínculo, também passam a ser avaliados automaticamente pela régua.

RN-RULE-018: Precedência de vínculo#

Um contrato pode estar coberto simultaneamente por um vínculo direto (CONTRACT) e por um vínculo via cliente (CLIENT). Nesse caso, o vínculo direto por contrato tem precedência — a régua vinculada diretamente ao contrato é a que será executada. Caso o contrato possua collectionRuleId preenchido (ver Contratos.md), este também prevalece sobre vínculos via CollectionRuleTarget.

RN-RULE-019: Unicidade de vínculo por contrato#

Um contrato pode estar vinculado a no máximo uma régua via CollectionRuleTarget do tipo CONTRACT. Tentativas de vincular um contrato já associado a outra régua devem ser rejeitadas com erro específico.

RN-RULE-014: Desativação de régua em uso#

Uma régua ACTIVE referenciada por contratos ativos não pode ser desativada diretamente. O usuário deve primeiro reatribuir os contratos a outra régua ou remover a atribuição antes de desativar.

RN-RULE-015: Exclusão lógica#

Réguas nunca são deletadas fisicamente. Desativação via status = INACTIVE.

4. Padrão de Erros#

Os erros comuns de autenticação, autorização e servidor seguem o padrão definido em Carteiras.md (seção 4.1 e 4.2).

Códigos de erro específicos de réguas#

StatusCódigoDescrição
404 Not FoundCOLLECTION_RULE_NOT_FOUNDRégua não encontrada ou não pertence à empresa do contexto.
404 Not FoundCOLLECTION_STEP_NOT_FOUNDEtapa não encontrada ou não pertence à régua informada.
409 ConflictCOLLECTION_RULE_NAME_ALREADY_EXISTSJá existe uma régua com este nome para a empresa.
422 Unprocessable EntityDUPLICATE_STEP_ORDERJá existe uma etapa com este stepOrder nesta régua.
422 Unprocessable EntityMISSING_TRIGGER_VALUEtriggerValue é obrigatório para os triggerType DAYS_BEFORE_DUE e DAYS_AFTER_DUE.
422 Unprocessable EntityMISSING_TRIGGER_STATUStriggerStatus é obrigatório quando triggerType = STATUS_CHANGE.
422 Unprocessable EntityCOLLECTION_RULE_IN_USEA régua está referenciada por contratos ativos e não pode ser desativada.
422 Unprocessable EntityCOLLECTION_RULE_INACTIVENão é possível adicionar ou editar etapas em uma régua inativa.
409 ConflictCONTRACT_ALREADY_TARGETEDO contrato já está vinculado a outra régua via CollectionRuleTarget.
422 Unprocessable EntityTARGET_COMPANY_MISMATCHO contrato ou cliente informado não pertence à empresa da régua.

5. Endpoints#

POST /v2/companies/:companyId/portfolio/collection-rules#

Cria uma nova régua de cobrança.
Permissão requerida: collection_rule:create
Request body:
{
  "name": "Cobrança Grandes Contas",
  "description": "Régua para contratos acima de R$ 500.000 com abordagem personalizada."
}
Response 201 Created:
{
  "id": "cr1a2b3c4-0000-0000-0000-000000000001",
  "companyId": "a1b2c3d4-0000-0000-0000-000000000001",
  "name": "Cobrança Grandes Contas",
  "description": "Régua para contratos acima de R$ 500.000 com abordagem personalizada.",
  "status": "ACTIVE",
  "createdBy": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "createdAt": "2025-03-17T09:00:00Z",
  "updatedAt": "2025-03-17T09:00:00Z"
}
Erros específicos:
StatusCódigoDescrição
409 ConflictCOLLECTION_RULE_NAME_ALREADY_EXISTSJá existe uma régua com este nome para a empresa.

GET /v2/companies/:companyId/portfolio/collection-rules#

Lista as réguas de cobrança da empresa.
Permissão requerida: collection_rule:read
Query params:
ParâmetroTipoObrigatórioDescrição
statusEnumNãoFiltrar por ACTIVE ou INACTIVE.
pageIntegerNãoNúmero da página. Default: 1.
pageSizeIntegerNãoItens por página. Default: 20. Máximo: 100.
Response 200 OK:
{
  "data": [
    {
      "id": "cr1a2b3c4-0000-0000-0000-000000000001",
      "companyId": "a1b2c3d4-0000-0000-0000-000000000001",
      "name": "Cobrança Grandes Contas",
      "description": "Régua para contratos acima de R$ 500.000 com abordagem personalizada.",
      "status": "ACTIVE",
      "createdBy": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "createdAt": "2025-03-17T09:00:00Z",
      "updatedAt": "2025-03-17T09:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 20,
    "nextPage": false
  }
}

GET /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId#

Retorna o detalhe de uma régua com suas etapas.
Permissão requerida: collection_rule:read
Response 200 OK:
{
  "id": "cr1a2b3c4-0000-0000-0000-000000000001",
  "companyId": "a1b2c3d4-0000-0000-0000-000000000001",
  "name": "Cobrança Grandes Contas",
  "description": "Régua para contratos acima de R$ 500.000 com abordagem personalizada.",
  "status": "ACTIVE",
  "createdBy": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "createdAt": "2025-03-17T09:00:00Z",
  "updatedAt": "2025-03-17T09:00:00Z",
  "steps": [
    {
      "id": "cs1a2b3c4-0000-0000-0000-000000000001",
      "stepOrder": 1,
      "triggerType": "DAYS_BEFORE_DUE",
      "triggerValue": 3,
      "triggerStatus": null,
      "actionType": "ACTIVITY",
      "actionConfig": {
        "activityType": "EMAIL",
        "title": "Enviar lembrete de vencimento",
        "description": "Contato preventivo antes do vencimento do título.",
        "priority": "LOW",
        "dueDaysAfterTrigger": 1
      },
      "isActive": true,
      "createdAt": "2025-03-17T09:00:00Z",
      "updatedAt": "2025-03-17T09:00:00Z"
    },
    {
      "id": "cs1a2b3c4-0000-0000-0000-000000000002",
      "stepOrder": 2,
      "triggerType": "DAYS_AFTER_DUE",
      "triggerValue": 3,
      "triggerStatus": null,
      "actionType": "ACTIVITY",
      "actionConfig": {
        "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
      },
      "isActive": true,
      "createdAt": "2025-03-17T09:00:00Z",
      "updatedAt": "2025-03-17T09:00:00Z"
    }
  ]
}

PATCH /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId#

Atualiza os dados de uma régua. Apenas name e description são editáveis.
Permissão requerida: collection_rule:update
Request body:
{
  "name": "Cobrança Grandes Contas — Revisada",
  "description": "Régua para contratos acima de R$ 500.000 com abordagem consultiva."
}
Response 200 OK:
{
  "id": "cr1a2b3c4-0000-0000-0000-000000000001",
  "companyId": "a1b2c3d4-0000-0000-0000-000000000001",
  "name": "Cobrança Grandes Contas — Revisada",
  "description": "Régua para contratos acima de R$ 500.000 com abordagem consultiva.",
  "status": "ACTIVE",
  "createdBy": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "createdAt": "2025-03-17T09:00:00Z",
  "updatedAt": "2025-03-20T10:00:00Z"
}
Erros específicos:
StatusCódigoDescrição
409 ConflictCOLLECTION_RULE_NAME_ALREADY_EXISTSO novo nome já existe em outra régua da empresa.
422 Unprocessable EntityCOLLECTION_RULE_INACTIVENão é possível editar uma régua inativa.

PATCH /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/status#

Ativa ou desativa uma régua.
Permissão requerida: collection_rule:delete
Request body:
{
  "status": "INACTIVE"
}
Response 200 OK:
{
  "id": "cr1a2b3c4-0000-0000-0000-000000000001",
  "status": "INACTIVE",
  "updatedAt": "2025-03-20T11:00:00Z"
}
Erros específicos:
StatusCódigoDescrição
422 Unprocessable EntityCOLLECTION_RULE_IN_USEA régua está referenciada por contratos ativos e não pode ser desativada.
{
  "error": "COLLECTION_RULE_IN_USE",
  "message": "Não é possível desativar esta régua pois ela está associada a contratos ativos.",
  "details": {
    "activeContractsCount": 12
  }
}

POST /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/steps#

Adiciona uma nova etapa à régua.
Permissão requerida: collection_rule:update
Request body:
{
  "stepOrder": 3,
  "triggerType": "DAYS_AFTER_DUE",
  "triggerValue": 15,
  "actionType": "ACTIVITY",
  "actionConfig": {
    "activityType": "CALL",
    "title": "Segunda tentativa de contato — 15 dias de atraso",
    "description": "Negociar acordo formal de pagamento.",
    "priority": "HIGH",
    "dueDaysAfterTrigger": 1
  },
  "isActive": true
}
Response 201 Created:
{
  "id": "cs1a2b3c4-0000-0000-0000-000000000003",
  "collectionRuleId": "cr1a2b3c4-0000-0000-0000-000000000001",
  "stepOrder": 3,
  "triggerType": "DAYS_AFTER_DUE",
  "triggerValue": 15,
  "triggerStatus": null,
  "actionType": "ACTIVITY",
  "actionConfig": {
    "activityType": "CALL",
    "title": "Segunda tentativa de contato — 15 dias de atraso",
    "description": "Negociar acordo formal de pagamento.",
    "priority": "HIGH",
    "dueDaysAfterTrigger": 1
  },
  "isActive": true,
  "createdAt": "2025-03-20T09:00:00Z",
  "updatedAt": "2025-03-20T09:00:00Z"
}
Erros específicos:
StatusCódigoDescrição
422 Unprocessable EntityDUPLICATE_STEP_ORDERJá existe uma etapa com este stepOrder nesta régua.
422 Unprocessable EntityMISSING_TRIGGER_VALUEtriggerValue é obrigatório para os triggerType DAYS_BEFORE_DUE e DAYS_AFTER_DUE.
422 Unprocessable EntityMISSING_TRIGGER_STATUStriggerStatus é obrigatório quando triggerType = STATUS_CHANGE.
422 Unprocessable EntityCOLLECTION_RULE_INACTIVENão é possível adicionar etapas a uma régua inativa.

PATCH /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/steps/:stepId#

Atualiza uma etapa existente.
Permissão requerida: collection_rule:update
Request body (todos os campos são opcionais):
{
  "triggerValue": 10,
  "actionConfig": {
    "activityType": "CALL",
    "title": "Contato — 10 dias de atraso",
    "description": "Negociar acordo.",
    "priority": "HIGH",
    "dueDaysAfterTrigger": 1
  }
}
Response 200 OK:
{
  "id": "cs1a2b3c4-0000-0000-0000-000000000003",
  "collectionRuleId": "cr1a2b3c4-0000-0000-0000-000000000001",
  "stepOrder": 3,
  "triggerType": "DAYS_AFTER_DUE",
  "triggerValue": 10,
  "triggerStatus": null,
  "actionType": "ACTIVITY",
  "actionConfig": {
    "activityType": "CALL",
    "title": "Contato — 10 dias de atraso",
    "description": "Negociar acordo.",
    "priority": "HIGH",
    "dueDaysAfterTrigger": 1
  },
  "isActive": true,
  "createdAt": "2025-03-20T09:00:00Z",
  "updatedAt": "2025-03-20T10:00:00Z"
}

DELETE /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/steps/:stepId#

Remove uma etapa da régua.
Permissão requerida: collection_rule:update
Response 204 No Content
Erros específicos:
StatusCódigoDescrição
404 Not FoundCOLLECTION_STEP_NOT_FOUNDEtapa não encontrada ou não pertence à régua informada.


POST /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/targets#

Vincula um contrato ou cliente à régua de cobrança.
Permissão requerida: collection_rule:update
Request body — vínculo por contrato:
{
  "targetType": "CONTRACT",
  "contractId": "b9d3f1aa-22cc-4e72-b430-1e45a3d6e001"
}
Request body — vínculo por cliente:
{
  "targetType": "CLIENT",
  "clientId": "a3f1c2d4-0000-0000-0000-000000000010"
}
Response 201 Created:
{
  "id": "tg1a2b3c4-0000-0000-0000-000000000001",
  "collectionRuleId": "cr1a2b3c4-0000-0000-0000-000000000001",
  "targetType": "CLIENT",
  "contractId": null,
  "clientId": "a3f1c2d4-0000-0000-0000-000000000010",
  "assignedBy": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "assignedAt": "2025-03-20T09:00:00Z",
  "createdAt": "2025-03-20T09:00:00Z"
}
Erros específicos:
StatusCódigoDescrição
409 ConflictCONTRACT_ALREADY_TARGETEDO contrato já está vinculado a outra régua.
422 Unprocessable EntityTARGET_COMPANY_MISMATCHO contrato ou cliente não pertence à empresa da régua.

GET /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/targets#

Lista os contratos e clientes vinculados à régua.
Permissão requerida: collection_rule:read
Query params:
ParâmetroTipoObrigatórioDescrição
targetTypeEnumNãoFiltrar por CONTRACT ou CLIENT.
pageIntegerNãoNúmero da página. Default: 1.
pageSizeIntegerNãoItens por página. Default: 20. Máximo: 100.
Response 200 OK:
{
  "data": [
    {
      "id": "tg1a2b3c4-0000-0000-0000-000000000001",
      "collectionRuleId": "cr1a2b3c4-0000-0000-0000-000000000001",
      "targetType": "CLIENT",
      "contractId": null,
      "clientId": "a3f1c2d4-0000-0000-0000-000000000010",
      "assignedBy": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "assignedAt": "2025-03-20T09:00:00Z",
      "createdAt": "2025-03-20T09:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 20,
    "nextPage": false
  }
}

DELETE /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/targets/:targetId#

Remove o vínculo de um contrato ou cliente com a régua.
Permissão requerida: collection_rule:update
Response 204 No Content
Erros específicos:
StatusCódigoDescrição
404 Not FoundCOLLECTION_RULE_TARGET_NOT_FOUNDVínculo não encontrado ou não pertence à régua informada.

GET /v2/companies/:companyId/portfolio/collection-rules/:collectionRuleId/executions#

Lista o histórico de execuções de uma régua com filtros por título, contrato e resultado.
Permissão requerida: collection_rule:read
Query params:
ParâmetroTipoObrigatórioDescrição
receivableIdUUIDNãoFiltrar execuções de um título específico.
contractIdUUIDNãoFiltrar execuções de um contrato específico.
statusEnumNãoFiltrar por resultado: SUCCESS, FAILED.
pageIntegerNãoNúmero da página. Default: 1.
pageSizeIntegerNãoItens por página. Default: 20. Máximo: 100.
Response 200 OK:
{
  "data": [
    {
      "id": "ex1a2b3c4-0000-0000-0000-000000000001",
      "collectionStepId": "cs1a2b3c4-0000-0000-0000-000000000002",
      "collectionRuleId": "cr1a2b3c4-0000-0000-0000-000000000001",
      "receivableId": "r1a2b3c4-0000-0000-0000-000000000001",
      "contractId": "b9d3f1aa-22cc-4e72-b430-1e45a3d6e001",
      "companyId": "a1b2c3d4-0000-0000-0000-000000000001",
      "executedAt": "2025-03-17T08:00:00Z",
      "status": "SUCCESS",
      "failureReason": null,
      "resultRef": "act1a2b3c4-0000-0000-0000-000000000001",
      "createdAt": "2025-03-17T08:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 20,
    "nextPage": false
  }
}

6. Roadmap — Tipos de Ação Futuros#

Status: Modelados mas não implementados na v1. Etapas configuradas com estes tipos serão registradas como SKIPPED no log de execução até que a implementação ocorra.
TipoDescriçãoDependências
EMAILEnvio automático de e-mail ao devedor com template configurável.Módulo de templates de e-mail, serviço de envio (ex: SendGrid).
SMSEnvio automático de SMS ao devedor.Integração com gateway de SMS.
CALLCriação de tarefa de ligação telefônica atribuída a um usuário.Módulo de Atividades (já disponível como ACTIVITY).
NEGATIVATIONNegativação automática do devedor em bureau de crédito (Serasa/SPC).Integração com bureaus de crédito, fluxo de notificação prévia obrigatória (5 dias).
PROTESTEnvio do título a protesto em cartório.Integração com sistema de protesto, fluxo de notificação prévia.
Modificado em 2026-03-25 19:03:44
Página anterior
Colaterais
Próxima página
Regras das Atividades
Built with