Depósitos

🛡️ Fluxo de Retenção de Depósitos (/v1/accounts/:accountId/deposit-retention)


1. Criação da Regra de Retenção (POST / PATCH)

Para iniciar a retenção, é necessário configurar a regra definindo os seguintes parâmetros:

ParâmetroTipoDescrição e Regras de Negócio
name / descriptionstringIdentificação e descrição da regra.
startDate / endDatedatePeríodo de Retenção. A retenção ocorrerá entre estas datas.
amountPercentagenumberPorcentagem a ser retida de cada depósito que cair na conta. Ex: 50 para reter 50%.
maxAmountnumberTeto de Retenção. A retenção para (é interrompida) quando o valor total acumulado atinge este valor.
originsarray of stringOpcional. Se preenchido com CPFs/CNPJs, a retenção só ocorre sobre depósitos (Pix/TED) vindos dessas origens. Se vazio, retém de todos.
shouldRetainSlcbooleanRetenção de SLC (Cartões). Se true, a retenção considera recebíveis de maquininha de cartão (eventos SLC), além de Pix e TED. Se false, ignora SLC.
accountDestinationUUIDID da Conta de Liquidação. É a conta para onde o valor retido será transferido ao final da regra. É obrigatório e deve ser o ID de um destinatário criado via /v1/accounts/:accountId/destinations.

2. Funcionamento (Processo Automático)

  1. Monitoramento: A API monitora todos os depósitos que caem na accountId especificada (Conta Livre).
  2. Verificação: Se a data da transação estiver entre startDate e endDate:
    1. Verifica se a origem está na lista origins (se aplicável).
    2. Verifica o tipo de entrada (Pix, TED ou SLC, se shouldRetainSlc for true).
  3. Retenção: A porcentagem definida em amountPercentage é retida do valor do depósito e bloqueada. O saldo retido é visível no endpoint de saldo (/v1/accounts/:accountId/balance) como blockedAmount.
  4. Limite: O processo de retenção cessa imediatamente se o total retido atingir o maxAmount.

3. Liquidação (Finalização da Retenção)

A liquidação (liberação dos fundos retidos) é o ato de transferir o valor acumulado para a Conta Livre de destino. Ela é disparada automaticamente quando:

É atingida a data final (endDate) configurada. É atingido o limite máximo de valor (maxAmount).

No momento da liquidação, o valor retido é enviado para a conta referenciada pelo accountDestination.


4. Gestão do Recurso

A API permite gerenciar as regras de retenção ativas:

Listar: GET /v1/accounts/:accountId/deposit-retention para ver todas as regras de retenção da conta. O retorno inclui o balanceRetention e o blockedAmount. Atualizar: PATCH /v1/accounts/:accountId/deposit-retention/:depositRetentionId para alterar configurações da retenção (ex: prorrogar endDate). Deletar: DELETE /v1/accounts/:accountId/deposit-retention/:depositRetentionId para remover uma regra de retenção.

A Conta de Destino (accountDestination) deve ser um registro de beneficiário criado, pois as contas Escrow trabalham com destinatários fixos e registrados em contrato.