Uso típico
Veja como o processo funciona, desde a configuração das taxas até a visualização dos resultados.
Passo 1 - Crie seus pacotes de taxas
Comece configurando pacotes de taxas que definem como as taxas são aplicadas. Para isso, use o endpoint Criar um Pacote. Cada pacote contém um conjunto de regras de taxas e critérios de correspondência. Você pode personalizar pacotes para diferentes segmentos ou ledgers usando:- transactionRoute – Identifica a natureza da transação.
- segmentId – Agrupa clientes ou tipos de produto.
- ledgerId – Define qual ledger registra a transação.
- Valor mínimo e máximo – Limites opcionais para aplicação de taxas.
- routeFrom / routeTo – Definem como cada taxa se move nos fluxos contábeis.
- Listar Pacotes - Listar todos os pacotes criados.
- Recuperar um Pacote - Recuperar informações de um pacote específico.
- Atualizar um Pacote - Atualizar as informações de um pacote específico.
- Excluir um Pacote - Fazer soft-delete de um pacote.
(opcional) Passo 2 - Execute uma simulação
Se você deseja visualizar como um pacote de taxas se comportaria antes de confirmar uma transação real, use o endpoint Simular Taxas de Transação. Essa simulação ajuda a validar:- Quais regras de taxas serão acionadas.
- Como o pacote se comportará com os valores informados.
- Se alguma isenção se aplica.
Passo 3 - Crie uma transação
Uma vez que os pacotes estejam configurados, acione a transação real usando o endpoint criar uma transação. Inclua otransactionRoute, segmentId e ledgerId apropriados para que o motor possa avaliar o pacote correspondente.
Passo 4 - O Fees Engine entra em ação
O Fees Engine automaticamente envia uma chamada para o endpoint Calcular Taxas para um Pacote e avalia se um pacote se aplica com base em:- transactionRoute
- segmentId
- ledgerId
- Valor mínimo e máximo
- waivedAccounts (para isenções de taxas)
Apenas um pacote é selecionado por transação.
Passo 5 - Verificar isenções
O sistema verifica:- Se o valor da transação está fora da faixa permitida.
- Se a conta de origem é isenta.
Passo 6 - Cálculo e aplicação de taxas
Se um pacote for aplicado, o Fees Engine:- Calcula os valores das taxas com base na
applicationRuleselecionada. - Aplica taxas proporcionalmente entre contas, se necessário.
- Usa
isDeductibleFrompara definir se a taxa é adicionada ou deduzida. - Roteia as taxas para a
creditAccountcorreta usando osrouteFromerouteToconfigurados. - Retorna o resultado completo da transação junto com o
packageAppliedIDnos metadados.
Passo 7 - Atualizações no ledger
Após o cálculo das taxas, o componente de Transações assume. Ele processa:- Débitos das contas de origem
- Créditos para os destinos das taxas
- Detalhamento das taxas por rota e conta
Passo 8 - Revisar e confirmar
Após a execução, você pode:- Inspecionar a transação final e os valores por conta.
- Confirmar o pacote de taxas que foi aplicado.
- Verificar todas as movimentações de taxas via metadados e registros do ledger.
Por que simular uma transação?
Simulações permitem visualizar como um pacote de taxas específico se comporta, sem executar uma transação real ou gravar no ledger. Use simulações quando:
- Você quiser testar um pacote específico.
- Estiver depurando regras de taxas ou limites.
- Quiser validar isenções, faixas de valor ou divisões proporcionais.
- Precisar de uma prévia antes de criar uma transação real.
- Estiver construindo uma interface e quiser mostrar taxas estimadas.
packageId e o endpoint retorna o que aconteceria se aquele pacote exato fosse aplicado.
O que você obtém com uma simulação?
- Uma simulação completa das regras de taxas.
- Quais contas seriam cobradas.
- Como a taxa seria dividida.
- Sem impacto no ledger.
Erros comuns
O Fees Engine valida cada requisição para garantir consistência e lógica correta de taxas. Abaixo estão os problemas mais frequentes que você pode encontrar ao criar pacotes ou processar transações.
| Código | Título | Mensagem |
|---|---|---|
| FEE-0002 | Missing fields in request | Your request is missing one or more required fields. Please refer to the documentation to ensure all necessary fields are included in your request. |
| FEE-0012 | Entity not found | No entity was found for the given ID. Please make sure to use the correct ID for the entity you are trying to manage. |
| FEE-0013 | Invalid fee priority | The priority field in fees is invalid. Field can not be repeated. |
| FEE-0015 | minimumAmount greater than maximumAmount | minimumAmount value is greater than maximumAmount. |
| FEE-0022 | Failed to calculate fee | Error to make the calculation of a fee about a transaction. |
| FEE-0024 | originalAmount is required when priority is one | For Priority equals to one, referenceAmount must be ‘originalAmount’ for fee. |
| FEE-0025 | Failed to apply rule: flatFee or percentual | applicationRule flatFee or percentual must have exactly 1 calculation for Fee. |
| FEE-0036 | Package amount range overlap | The maximumAmount and minimumAmount of the new package overlap with the amount range of an existing package. |
Quer a lista completa de códigos de erro? Você encontra na página Lista de erros do Fees Engine na Referência da API.

