Antecipação de Recebíveis

A solução de antecipação de recebíveis do BaaS, permite antecipar os valores das cobranças realizadas via cartão de crédito antes do prazo acordado inicialmente. Abaixo iremos explicar como se integrar com esse módulo do BaaS.

❗️

A antecipação de recebíveis é liberada mediante aprovação da Celcoin por políticas próprias e não está disponível para todos os clientes.

Consulte um especialista para melhor entendimento sobre o funcionamento.

Caso de uso:

Como Fintech quero antecipar meu recebível de cartão de crédito para melhorar meu fluxo de caixa.

Nesse artigo você irá aprender sobre:

  • Simular Antecipação de Recebíveis
  • Antecipar recebíveis
  • Listar simulações de antecipação

Pré requisitos para implementação:

  • Possuir uma chave api da Celcoin, para mais informações acessar esse link
  • Ter familiaridade com apis Rest usando o protocolo OAuth 2.0.
  • Ter o produto/solução de sub Celcoin contratado, caso queira usar a funcionalidade em ambiente produtivo, por favor entre em contato com a nossa equipe comercial através do e-mail [email protected]. Para dúvidas técnicas, basta entrar em contato com o suporte através do link.

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.


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 transações e bandeiras que serão antecipadas. Os dados necessários estão no quadro "Parâmetros do Body"

Modelo de requisição:

curl --request POST \
  --url https://api.celcoin.com.br/v1/antecipation/simulate \
  --header 'accept: application/json' \
  --header 'authorization: Bearer {{token}}' \
  --header 'content-type: application/json' \
  --data '
{
  "value": 1000.00,
  "transactiongalaxypayId": "gpay_774910235"
}
'

Parâmetros do Body:

CampoDescriçãoTipoObrigatório
valueValor total que se deseja simular para a antecipação.number (float)Condicional
transactionGalaxPayIdsTransações desejadas para antecipar.Array Int (32)Condicional
brandsBandeira do cartão. Informe apenas bandeiras e separe cada um por vírgula. Valores possíveis do campo:
  • *- discover
  • mastercard
  • elo
  • hipercard
  • amex
  • visa**
Array de StringNão

Modelo de retorno:

Sucesso(200):

{
  "type": true,
  "antecipation": {
    "antecipationId": 34,
    "companyId": 16085,
    "transactionIds": "761,760,764",
    "totalValue": 1912.99,
    "totalMdr": 62.33,
    "averageDays": 16,
    "totalAntecipateTax": 30.95,
    "netValue": 1819.71,
    "cet": 93.28,
    "uuid": "d9c66552-03aa-41c5-a443-cfedd8212847",
    "done": "F",
    "createdAt": "2023-12-15T13:21:24Z",
    "updatedAt": "2023-12-15T13:21:24Z"
  },
  "releases": [
    {
      "releaseId": 68884668,
      "transactionId": 761,
      "createdAt": "2023-11-29T07:31:03Z",
      "installment": 1,
      "netValue": 402.2,
      "grossValue": 415.99,
      "expectedDate": "2023-12-31",
      "daysAntecipation": 16,
      "taxValueAntecipation": 6.41,
      "netValueAfterAntecipation": 395.79,
      "brand": "visa"
    }
  ],
  "operationSummary": {
    "grossTotal": 1912.99,
    "mdr": 1850.66,
    "mdrTax": 62.33,
    "averageDays": 16,
    "finalTax": 30.95,
    "cet": 93.28,
    "netValue": 1819.71
  },
  "brands": {
    "visa": 5,
    "mastercard": 2,
    "elo": 1
  }
}

Campos do response:

CampoDescriçãoTipo
typeRetorna se simulação foi realizada com sucesso. Valores possíveis: True ou FalseBool
antecipation.galaxPayIdIdentificador da AntecipaçãoInt (32)
antecipation.companyGalaxPayIdidentificador da EmpresaInt (32)
antecipation.transactionsGalaxPayIdsTransações a serem antecipadasString (255)
antecipation.totalValueValor total das transaçõesInt (32)
antecipation.totalMdrValor total das taxasInt (32)
antecipation.averageDaysMédia em dias das datas das transações que serão liquidadas.Int (32)
antecipation.totalAntecipateTaxValor total da taxa de antecipação.Int (32)
antecipation.netValueValor líquido das transações.Int (32)
antecipation.cetCusto Efetivo Total. A soma de todas as taxas juntas.Int (32)
antecipation.uuidIdentificador gerado aleatoriamente para realizar a antecipação.String (255)
antecipation.doneCampo para verificar se esta antecipação já foi realizada.String (255)
antecipation.createdAtData de criação da antecipação.date
antecipation.updatedAtData de atualização da antecipação.date
realeases.galaxPayIdIdentificador do recebívelInt (32)
realeases.transactionGalaxPayIdIdentificador da transaçãoint (32)
realeases.createdAtData de criação do recebível.int (32)
realeases.installmentNúmero da parcela.int (32)
realeases.netValueValor líquido do recebível.int (32)
realeases.grossValueValor bruto do recebível.int (32)
realeases.expectedDateData esperada de liquidação.date
realeases.daysAntecipationDias até a liquidação.int (32)
realeases.netValueAfterAntecipationValor líquido após a antecipação.int (32)
realeases.taxValueAntecipationValor da taxa de antecipação.int (32)
OperationSummary.grossTotalValor total das transações sem taxas.int (32)
OperationSummary.mdrValor das transações - taxasint (32)
OperationSummary.mdrTaxValor das taxas.int (32)
OperationSummary.averageDaysMédia em dias das transações que serão antecipadas.int (32)
OperationSummary.finalTaxValor da taxa de antecipação.int (32)
OperationSummary.cetCusto Efetivo Total. A soma de todas as taxas juntas.int (32)
OperationSummary.netValueValor das transações - Cetint (32)

Erro 1: Fora da janela permitida (Após às 14h)

{
  "error": "Bad Request",
  "message": "A simulação está sendo feita fora da janela. Janela 07h ás 14h."
}

Erro 2: Recebíveis com menos de 5 dias corridos (Transação inteira inválida)

{
  "error": "Bad Request",
  "message": "Escolha transações com recebíveis com mais de 5 dias."
}

Erro 3: Uma ou mais transações inválidas no lote (Validação parcial)

{
  "error": "Bad Request",
  "message": "uma das transações informadas possui recebíveis com menos de 5 dias."
}




Efetivar a Antecipação dos Recebíveis

Após a simulação de antecipação de recebíveis, caso concorde com os termos apresentados, é possível concluir a antecipação. Para isso, é necessário realizar uma chamada na api Efetivar a Antecipação de Recebíveis utilizando o método POST, onde precisa ser enviado na requisição o identificador da simulação realizada na etapa anterior.

Modelo de request:

curl --request POST \
  --url https://api.celcoin.com.br/v1/antecipation \
  --header 'accept: application/json' \
  --header 'authorization: Bearer {{token}}' \
  --header 'content-type: application/json' \
  --data '
{
  "simulationId": "sim_987654321"
}
'

Listar Simulações de Antecipação Realizadas

Caso necessite validar o status das simulações realizadas, você deve realizar uma chamada na API Listar Simulações de Antecipação utilizando o método GET

Modelo de requisição:

curl --location --request GET 'https://sandbox.openfinance.celcoin.dev/baas/v1/cash/antecipation/simulate/get-by-filters' \

Parâmetros do Body:

CampoDescriçãoTipo
limitQuantidade de dados retornadosint
startAtA partir de que posição da query irá pegar os dadosint
doneCampo para verificar se esta antecipação já foi realizada.string
pagepágina atual da paginaçãoint
createdAtFromData de criação inicialdate
createdAtToAté que data foi criada a simulaçãodate

📘

Note que todos os dados podem ser filtrados

📘

Você pode filtrar todos os dados ou somente o campo que desejar.

Modelo de retorno:

{
    "totalQtdFoundInPage": 1,
    "Antecipation": [
        {
            "galaxPayId": 1,
            "companyGalaxPayId": 16966,
            "transactionsGalaxPayIds": "761,760,764",
            "totalValue": 1912,
            "totalMdr": 62,
            "averageDays": 16,
            "totalAntecipateTax": 30,
            "netValue": 1819,
            "cet": 93,
            "uuid": "d9c66552-03aa-41c5-a443-cfedd8212847",
            "done": "F",
            "createdAtTo": "2025-04-07",
            "createdAtFrom": "2025-04-07"
        }
    ]
}

Campos do response:

CampoDescriçãoTipo
totalQtdFoundInPageQuantidade total de registros do retorno da busca na página atual.int (11)
antecipation.galaxPayIdIdentificador da antecipaçãoint (11)
antecipation.companyGalaxPayIdIdentificador da empresastring
antecipation.transactionsGalaxPayIdsTransações a serem antecipadas.int
antecipation.totalValueValor total das transações.int
antecipation.totalMdrValor total das taxas.int
antecipation.averageDaysMédia em dias das transações que serão antecipadas.int (32)
antecipation.totalAntecipateTaxValor total da taxa de antecipação.int
antecipation.netValueValor das transações - Cetint
antecipation.cetCusto Efetivo Total. A soma de todas as taxas juntas.int
antecipation.uuidId gerado aleatoriamente para realizar a antecipação.sting
antecipation.doneCampo para verificar se esta antecipação já foi realizada.string (1)
antecipation.createdAtToAté que data foi criada a simulaçãodate
antecipation.createdAtFromData de criação inicialdate