Simular Antecipação de Recebíveis

Para simular uma antecipação de recebível e conhecer as taxas a serem aplicadas é necessário realizar uma chamada na api Simular Antecipação de Recebíves utilizando o método POST, onde precisa ser preenchido algumas informações relacionadas as releases e bandeiras que serão antecipadas. Os dados necessários estão no quadro "Parâmetros do Body"

Regras de Negócio:

RegraFuncionamento
Janela de OperaçãoAs solicitações de simulação e antecipação devem ser realizadas das 07h às 14h. Requisições fora desta janela serão rejeitadas.
Validade da SimulaçãoTodas as simulações geradas possuem validade diária limite e expiram impreterivelmente às 14h do mesmo dia.
Simulações SimultâneasÉ permitida apenas uma simulação com status Ativa por vez para cada conta. A criação de uma nova simulação cancelará automaticamente a anterior.
Carência de RecebíveisSomente são elegíveis recebíveis cujas datas de pagamento sejam superiores a 5 dias corridos a partir da data da solicitação.
Critério de SeleçãoCaso o montante disponível ultrapasse o valor solicitado, o sistema selecionará a combinação de recebíveis mais próximos do vencimento (respeitando a carência de 5 dias) cujo valor total consolidado seja menor ou igual ao solicitado.
Status da simulaçãoSTART, PROCCESSING, ERROR, SUCCESS, EXPIRED, PAYED, REFUSED.

Fluxo dos Status de Simulação:

  • START: Ao solicitar a simulação no endpoint, este status indica que o sistema recebeu a solicitação e vai começar a verificação e cálculo.
  • PROCCESSING: Quando o sistema iniciar o calculo e verificação de elegibilidade a simulação entrará nesse status antes de enviar a resposta para o endpoint.
  • SUCCESS: A simulação foi calculada e aprovada, sendo retornado no endpoint o descritivo de valores, releases e cálculo da taxa. Apenas 1 simulação pode estar nesse status, caso seja feita uma nova, a atual passará para o status de EXPIRED e não poderá ser efetivada. Caso o cliente não efetive até as 14hrs do mesmo dia, o sistema irá alterar o status da simulação para EXPIRED.
  • PAYED: Quando uma simulação for efetivada ela terá o status alterado de SUCCESS para PAYED, indicando que os valores simulados foram antecipados e depositados na conta do cliente.
  • EXPIRED: A simulação "venceu" antes de virar pagamento. Acontece em duas situações:
    • O cliente recebeu uma simulação aprovada SUCCESS mas não confirmou o pagamento até as 14hrs do mesmo dia.
    • O cliente pediu uma nova simulação enquanto já havia uma em aberto, a antiga é expirada automaticamente pelo sistema para dar lugar à nova (só pode haver uma simulação ativa por vez).
  • REFUSED: O sistema analisou o pedido e recusou devido aos critérios de elegibilidade. Não é uma falha do sistema, é uma negativa legítima.
  • ERROR: Diferente do REFUSED, aqui não foi uma decisão de negócio, foi uma falha técnica durante o processamento (por exemplo, uma instabilidade no sistema no meio do cálculo).

Modelo de requisição:

curl --request POST \
     --url https://sandbox.openfinance.celcoin.dev/baas/v1/cash/companies/numberAccount/simulation-antecipation-receivables \
     --header 'accept: application/json' \
     --header 'content-type: application/json'
  --data '
{
  "value": 1000.00,
  "transactionIds": "774910235"
}
'

Parâmetros do Body:

CampoDescriçãoTipoObrigatório
valueValor total que se deseja simular para a antecipação.number (float)Obrigatório se transactionIds não for enviado.
transactionIdsId da transação vinculada a release que deseja antecipar.Array Int (32)Obrigatório se value não for enviado; se ambos forem enviados, ele prevalece.

Modelo de retorno:

Sucesso(201):

{
  "version": "1.0.0",
  "status": 201,
  "body": {
    "idRequest": "cba1ecfd-dabc-4cb6-965f-1e194beb0c13",
    "valueSimulation": 15000,
    "transactionsIds": null,
    "totalTaxAntecipations": 450.92,
    "totalValueAntecipations": 14876.33,
    "allTransactions": [
      {
        "idRelease": 9901,
        "idTransaction": 5501,
        "days": 18,
        "taxAntecipation": 87.34,
        "antecipatedValue": 2943.66,
        "payDay": "2026-07-09"
      },
      {
        "idRelease": 9902,
        "idTransaction": 5502,
        "days": 23,
        "taxAntecipation": 111.2,
        "antecipatedValue": 3764.8,
        "payDay": "2026-07-14"
      }
    ]
  }
}

Campos do response:

CampoDescriçãoTipo
idRequestIdentificador da simulação criada.string
valueSimulationValor da simulação solicitado.decimal
transactionsIdsCaso a simulação tenha sido feita utilizando o transactionIds, será retornado o id neste campo.array
totalTaxAntecipationsValor total a ser pago a Celcoin pela efetivação da antecipação.decimal
totalValueAntecipationsValor total do valor aprovado para antecipação.decimal
idReleaseIdentificador da release que a transação pertenceint
idTransactionIdentificador da transação.int
daysQuantidade de dias em que a release seria paga.numerico
taxAntecipationValor total a ser pago a Celcoin pela efetivação da antecipação dessa release.decimal
antecipatedValueValor total antecipado da release.decimal
payDayDia em que a transação da release nasceu para ser paga.Date

Erro status code 404:

{ "version": "1.0.0", "status": 404, "error": { "errorCode": "BSPSAC0405", "message": "Nenhuma transação elegível encontrada para realizar a simulação." } }

Erro status code 422:

{ "version": "1.0.0", "status": 422, "error": { "errorCode": "BSPSAC0422", "message": "Solicitação de simulação fora da janela de execução (7 às 14 horas do dia corrente)." } }

Did this page help you?