Consulta de margem e Simulação de Crédito

🔏 Geração de token para consulta dos dados do tomador

Antes de consultar a margem consignável do tomador, é obrigatório obter token de autorização.


POST: /banking/originator/guarantee/authorization

Content-Type: application/json

Parâmetros

CampoDescriçãoTipo
taxpayer_idCPF do tomador (somente números)String
product.idID do produto (UUID do crédito do trabalhador)String (UUID)
{
 "authorization_validity_date": "string",
 "authorization_token": "string",
 "status": "AUTHORIZED"
}
{
 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
 "status": "WAITING_SIGNATURE"
}
{
 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
 "status": "NOT_AUTHORIZED"
}
{
 "message": "Erro na requisição",
 "detail": {
 "authorization_file": [
 "Arquivo inválido ou ausente"
 ],
 "taxpayer_id": [
 "CPF inválido"
 ],
 "product_id": [
 "ID do produto não encontrado"
 ]
 }
}

● Retorno 400: Erro de validação / dados inválidos
● Retorno 500: Erro interno no servidor

🔍 Consulta de margem

A consulta de margem permite identificar o valor máximo que o tomador pode comprometer mensalmente
com um empréstimo consignado.


Parâmetros

CampoDescriçãoTipo
taxpayer_idCPF do tomador (somente números)String
{
 "links": [
 {
 "employer": {
 "code": "29462", // inscricaoEmpregador.code
 "document": "20161548000120" // numeroInscricaoEmpregador
 },
 "employee": {
 "code": "77273", //matricula
 "document": "56943113291", //cpf
 "name": "Mr. Benedict Kub" //nome
 },
 "products": [
 {
 "balanceCheckId": "de02708f-beb9-4ebd-8707-bc91040a627e",
 "authorization": {
 "details": [
 {
 "typeProduct": "LOAN",
 "authorized": true //elegível
 }
 ]
 },
 "availableBalance": 53382.88
 }
 ],
 "config": {
 "agency": "3a7e1beb-c64f-4936-8555-b9edb42c3328",
 "consignee": "468f5087-d35f-45dd-96db-3cf71a83fe08"
 },
 "metaData": {
 "nationalityCountry": {
 // paisNacionalidade
 "description": "BULGARIA",
 "code": "498"
 },
 "terminationReasonCode": "75", //codigoMotivoDesligamento
 "birthDate": "12062025", //dataNascimento
 "workerCategoryCode": "66", //codigoCategoriaTrabalhador
 "terminationDate": "12062025", // dataDesligamento
 "PriorNoticeDate": "12062025", // DataAvisoPrevio
 "PriorNoticeEndDate": "12062025", // DataFimAvisoPrevio
 "gender": {
 //sexo
 "description": "Masculino",
 "code": 1
 },
 "jobCode": {
 // cbo
 "description": "AGENTE DE VIAGEM",
 "code": "236556"
 },
 "economicActivityCode": {
 // cnae
 "description": "TURISMO",
 "code": "932390"
 },
 "politicallyExposedPerson": {
   //pessoaExpostaPoliticamente
 "description": "Pessoa Não Exposta Politicamente",
 "code": 0
 },
 "unauthorizationReason": {
 //motivoInegebilidade
 "description": "Pessoa XYZ",
 "code": 0
 },
 "baseMarginValue": "917025", //valorBaseMargem
 "alerts": [
 {
 "absenceReasonCode": "482", //codigoMotivoAfastamento
 "alertType": {
 //tipoAlerta
 "description": "Afastamento",
 "code": 1
 },
 "absenceDate": "12062025", //dataAfastamento
 "absenceEndDate": "12062025", //dataTerminoAfastamento
 "referenceDate": "12062025", // dataReferencia
 "eventId": "50678", // idEvento
 "terminationReasonCode": "8" //codigoMotivoDesligamento
 }
 ],
 "amountLoansAssetsSuspended": "60", //qtdEmprestimosAtivosSuspensos
 "admissionDate": "12062025", //dataAdmissao
 "totalEarnings": "59967", //valorTotalVencimentos
 "legacyLoans": [{ // emprestimosLegados
 "financialInstitutionCode": "00000", //codigoIF
"contract": "00000", //contrato
"InstallmentAmount": "00000", //valorParcela
"Amount": "00000", //valorEmprestimo
"NetAmount": "00000", //valorLiberado
"updateDateTime": "00000", //dataHoraAtualizacao
"InterestTax": "00000", //valorTaxaMensal
"MonthlyCet": "00000", //valorCETMensal
"InstallmentQuantity": "00000", //qtdParcelasPagas
"debtorBalanceAmount": "00000" //valorSaldoDevedor
 }]
 }
 }
 ]
}

No exemplo acima, mostramos como os dados são retornados pela Celcoin, com um exemplo prático, e
como essas mesmas informações são enviadas para a Dataprev.

Parâmetros

CampoDescriçãoTipo
employer.codeCódigo da empresa empregadoraString
employer.documentCNPJ da empresa empregadoraString
employer.nameNome da empresa empregadoraString
employee.codeMatrícula do empregadoString
employee.documentCPF do tomadorString
employee.nameNome completo do tomadorString
config.agencyID da agência responsável pela operaçãoString
config.consigneeID da consignatáriaString
products[].balance_check_idIdentificador da verificação de margemString
products[].authorization.details[].type_p
roduct
Tipo de produto consultado (ex: LOAN)String
products[].authorization.details[].author
ized
Indica se há autorização para esse produto (true ou false)Boolean
metadaData.admissionDateData de admissão do tomador (formato: ddMMyyyy)String
metadaData.gender.codeCódigo do gênero (1 = masculino, 2 = feminino, etc.)Integer
metadaData.gender.descriptionDescrição do gêneroString
metadaData.baseMarginValueValor base disponível para consignação (em centavos)Integer
metadaData.terminationReasonCodeCódigo do motivo de desligamento (0 = ativo)Integer
metadaData.birthDateData de nascimento do tomador (formato: ddMMyyyy)String
metadaData.totalEarningsRendimento total do tomador (em centavos)Integer
metadaData.amountLoansAssetsSusp
ended
Quantidade de contratos suspensosInteger

⚠️ Retorno de erro:

Caso seja realizada a consulta de margem sem ter completado com sucesso o fluxo de autorização de
consulta dos dados do tomador, será emitido um erro indicando que a autorização ainda não foi concedida.

A resposta do erro segue o seguinte contrato:

{
 "message": "Erro na requisição",
 "detail": {
 "authorization_file": [
 "Arquivo inválido ou ausente"
 ],
 "taxpayer_id": [
 "CPF inválido"
 ],
 "product_id": [
 "ID do produto não encontrado"
 ]
 }

💳 Simulação de Crédito

Nesta etapa, o originador deverá enviar os dados necessários para realizar a simulação da operação de
crédito, com base nas condições comerciais previamente configuradas no produto. Essa simulação tem
como objetivo apresentar ao tomador as opções de crédito.

🔁 Comportamento da API

A API retornará uma ou mais opções de simulação, contendo:

  • Valor das parcelas;
  • CET (Custo Efetivo Total);
  • Valor total a pagar;
  • Datas de vencimento;
  • Informações sobre carência, amortização e taxas.

Documentação:
https://developers.celcoin.com.br/reference/post_banking-originator-applications

  • Importante: para o produto Crédito do Trabalhador foi adicionado um novo campo chamado:
    balance_check_id
{
 "requested_amount": 100,
 "interest_rate": 0.01,
 "tac_amount": 0,
 "finance_fee": 0,
 "financed_iof": 1,
 "num_payments": 10,
 "first_payment_date": "2025-06-16",
 "disbursement_date": "2025-05-16",
 "balance_check_id" : "{{balanceCheckId}}",
 "borrower": {
 "id": "df32c4f4-f1ea-47e1-ae45-7a6b0b2d92f3"
 },
 "product": {
 "id": "027b863d-8b5e-481d-af61-30e41772b777"
 },
 "signature_collect_method": "LINK",
 "signature_provider": "ZAPSIGN",
 "billets_info": null,
 "qrcode_info": null,
 "additional_installment_description": null,
 "additional_installment_fee": null,
 "funding": {
 "id": "9773c5fb-cbd7-41fa-b6b1-e9c76295259f"
 },
 "custom_variables": {
 "values": {}
 },
 "signature_authentication_options": {
 "mode": "FACIAL_BIOMETRICS"
 },
 "signature_collect_options": {
 "require_self_photo": false,
 "require_selfie_validation": false
 }