Autorização de consulta & consulta de vículo empregatício
O consentimento para a consulta ao vinculo empregatício do tomador de crédito pode ser realizado utilizando os recursos do originador ou utilizando a solução da Celcoin.
Consentimento para consulta dos dados do trabalhador (coleta clicksign)
Para utilizar a solução integrada da Celcoin, basta utilizar requisição a seguir, onde o termo será enviado e assinado digitalmente usando o serviço Clicksign.
Envio do Termo para Assinatura
POST: /banking/originator/guarantee/authorization-permission
{
"taxpayer_id": "123456789",
"product_id": "UIID",
"name": "teste teste",
"mode": "WHATSAPP",
"email": "[[email protected]](mailto:[email protected])",
"phone": {
"country_code": "+55",
"area_code": "11",
"number": "970291614"
}
}Parâmetros da requisição
| Campo | Descrição | Tipo |
|---|---|---|
| taxpayer_id | CPF do tomador (somente números) | String |
| product_id | ID do produto (UUID da Portabilidade do Crédito do Trabalhador) | String (UUID) |
| name | Nome completo do tomador | String |
| E-mail do tomador | String | |
| phone.country_code | Código do país (ex: "55" para Brasil) | String |
| phone.area_code | DDD do telefone (ex: "11") | String |
| phone.number | Número de telefone | String |
| mode | Canal preferencial para envio da solicitação (opções: SMS, EMAIL, WHATSAPP) | String |
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "NOT_AUTHORIZED"
}
- NOT_AUTHORIZED: O tomador ainda não autorizou a consulta.
- NOT_AVAILABLE: O tomador não está na base da Dataprev.
- AUTHORIZED: Consentimento concedido com sucesso.
- WAITING_SIGNATURE: A solicitação foi enviada e aguarda assinatura do tomador
{
"message": "Erro ao processar a solicitação.",
"detail": {
"email": ["O e-mail informado possui um formato inválido."],
"taxpayer_id": ["O CPF informado é inválido."],
"mode": ["O canal de envio informado não é suportado."]
}
}
● Retorno 400: Erro de validação / dados inválidos
● Retorno 500: Erro interno no servidor
Recuperação do link de assinatura
Caso o originador precise recuperar o link de assinatura do termo de consentimento enviado ao tomador, disponibilizamos o seguinte webhook:
Evento: GuaranteeAuthorizationRequest (Este webhook é cadastrado previamente pelo nosso time implementação, exclusivamente dedicado ao recebimento desse evento)
{
"event": "GuaranteeAuthorizationRequest",
"payload": "{\"sign_link\":\"https://sandbox.clicksign.com/notarial/widget/signatures/a825e8fe-635f-44be-9d0b-03c0e36cbd95/redirect\",\"authorization_id\":\"99e55a1f-5aab-4373-a2a1-dcd39d340a49\"}"
}
Parâmetros
| Campo | Descrição | Tipo |
|---|---|---|
| sign_link | Link para o tomador assinar o termo | string |
| authorization_id | Identificador único da autorização gerada | string |
Confirmação da assinatura
Após o tomador assinar o termo de consentimento, enviamos um webhook de notificação ao originador com a confirmação da assinatura:
Evento: GuaranteeAuthorizationUpdate
{
"event": "GuaranteeAuthorizationUpdate",
"payload": "{\"id\":\"645dedf8-9cd6-4aa3-8db1-a804999bff2d\",\"status\":\"AUTHORIZED\",\"taxpayer_id\":\"36455532821\",\"valid_date\":\"2025-08-16T18:11:53.365638\",\"sign_mode\":\"EMAIL\",\"originator_id\":\"d8d5e139-9415-4861-a8c5-7b58b9dfca68\"}"
}
Parâmetros
| Campo | Descrição | Tipo |
|---|---|---|
| id | Identificador da autorização do termo. | string |
| status | Status da autorização (ex: AUTHORIZED) | string |
| taxpayer_id | CPF do tomador (sem formatação). | string |
| valid_date | Data e hora em que a assinatura foi concluída (formato ISO 8601). | string |
| sign_mode | Canal utilizado para assinatura (EMAIL, SMS) | string |
| originator_id | Identificador da instituição originadora | string |
Download do consentimento assinado pelo tomador via Clicksign
Caso o tomador tenha assinado o termo de consentimento por meio da Clicksign, é possível realizar o download do arquivo PDF assinado das seguintes formas:
-
Portal de Crédito
-
Acesse a tela de Detalhes da Operação.
-
Clique para baixar o arquivo assinado disponível.
-
-
API
- Utilize o endpoint abaixo para realizar a requisição via API.
GET:/originator/guarantee/acceptterm/download
Parâmetros
| Campo | Descrição | Tipo |
|---|---|---|
| taxpayerId | CPF do tomador de crédito | string |
Headers
| Header | Valor |
|---|---|
| Authorization | Bearer |
| Accept | accept: / |
Comportamento
-
Retorna o PDF do último termo de aceite assinado para o taxpayerId informado.
-
Se não houver registro assinado (authorizationEvidence), retorna HTTP 404.
-
Em caso de erro interno, retorna HTTP 500.
-X GET "{{api_host}}/banking/originator/guarantee/acceptterm/download?taxpayerId=55428589027" \
-H "Authorization: Bearer eyJ..." \
-H "Accept: */*"
Consentimento para consulta do vínculo empregatício (coleta pelo originador)
O originador pode obter o termo de consentimento diretamente do tomador (ex: assinatura física, outra plataforma) e deve enviá-lo para registro.
Envio do Termo Assinado
POST:/banking/originator/guarantee/authorization-file-permission-async
Content-Type: multipart/form-data
Parâmetros (Não é necessário encaminhar os dois parâmetros___authorization_file_ e authorization . um inválida o outro)
| Campo | Descrição | Tipo |
|---|---|---|
| taxpayer_id | CPF do tomador (somente números) | String |
| product_id | ID do produto (UUID da Portabilidade do Crédito do Trabalhador) | String (UUID) |
| authorization_file | Arquivo PDF do termo assinado | File (binary) |
| authorization | Evidência da assinatura (hash, texto, etc.) | String |
Caso seja utilizado a coleta pelo fluxo do cliente, é obrigatório o envio da evidência do consentimento.
"status": "AUTHORIZED"
}
● Retorno 400: Erro de validação / dados inválidos
● Retorno 500: Erro interno no servidor
Consulta de vínculo empregatício
Após o consentimento coletado com o tomador de crédito o tomador deverá realizar a consulta ao vinculo empregatício do mesmo para validar a elegibilidade do vinculo empregatício e a que a margem do tomador de crédito não esteja comprometida.
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
| Campo | Descrição | Tipo |
|---|---|---|
| taxpayer_id | CPF do tomador (somente números) | String |
| product.id | ID 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"
]
}
}
Consulta de margem
A consulta de margem permite identificar o valor máximo que o tomador pode comprometer mensalmente com um empréstimo consignado.
GET: /banking/originator/guarantee/(product_id)/get-balance
Parâmetros
| Campo | Descrição | Tipo |
|---|---|---|
| taxpayer_id | CPF do tomador (somente números) | String |
{
"links": [
{
"employer": {
"code": "123456",
"document": "95818221485",
"name": "Empresa Exemplo LTDA"
},
"employee": {
"code": "1564882125",
"document": "90110651669",
"name": "João da Silva"
},
"config": {
"agency": "3a7e1beb-c64f-4936-8555-b9edb42c3328",
"consignee": "468f5087-d35f-45dd-96db-3cf71a83fe08"
},
"products": [
{
"balance_check_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"authorization": {
"details": [
{
"type_product": "LOAN",
"authorized": true,
"validity": "2025-12-31"
}
],
"portability": [
{
"authorized": false,
"available_balance": 0,
"type_product": "LOAN",
"validity": "2025-12-31",
"contract_port": {
"contract_id": "PORT123",
"document": "12345678900",
"name_consignee": "BANCO XYZ"
}
}
]
},
"rubric": {
"code": "RUB001",
"description": "Rubrica de Empréstimo"
},
"agreement": "AG001",
"available_balance": 5000.75
}
],
"meta_data": {
"nationality_country": {
"description": "Brasil",
"code": "BR"
},
"termination_reason_code": "TRC001",
"birth_date": "1985-08-06",
"worker_category_code": "101",
"termination_date": "2025-06-01",
"prior_notice_date": "2025-05-15",
"prior_notice_end_date": "2025-06-15",
"gender": {
"description": "Masculino",
"code": 1
},
"job_code": {
"description": "Analista de Sistemas",
"code": "21240"
},
"economic_activity_code": {
"description": "Atividades de tecnologia",
"code": "6201-5/01"
},
"politically_exposed_person": {
"description": "Não",
"code": 0
},
"unauthorization_reason": {
"description": "Nenhum",
"code": 0
},
"base_margin_value": "3000.00",
"alerts": [
{
"absence_reason_code": "A001",
"alert_type": {
"description": "Licença Médica",
"code": 1
},
"absence_date": "2025-01-10",
"absence_end_date": "2025-01-25",
"reference_date": "2025-01",
"event_id": "EVT123",
"termination_reason_code": "TRC001"
}
],
"amount_loans_assets_suspended": "2",
"admission_date": "2010-03-15",
"total_earnings": "8500.00",
"legacy_loans": [
{
"financial_institution_code": 123,
"contract": "CON123456789",
"contract_start_date": "2021-01-01",
"contract_end_date": "2026-01-01",
"installment_amount": 350.25,
"loan_amount": 10000.00,
"net_amount": 9500.00,
"update_date_time": "2025-08-01T10:00:00Z",
"interest_tax": 1.85,
"monthly_cet": 2.1,
"installment_quantity": 60,
"paid_installments_quantity": 30,
"debtor_balance_amount": 5000.00,
"contract_type": {
"description": "Crédito Consignado",
"code": 1
}
}
],
"employer_activity_start_date": "2005-01-01",
"mother_name": "Maria de Lourdes"
},
"balance_check_date": "2025-08-05"
}
],
"message": "Verificação de margem realizada com sucesso"
}
Parâmetros
| Campo | Descrição | Tipo |
|---|---|---|
| employer.document | Documento (CNPJ) do empregador | String |
| employer.name | Nome do empregador | String |
| employee.code | Código do empregado | String |
| employee.document | Documento (CPF) do empregado | String |
| employee.name | Nome do empregado | String |
| config.agency | Identificador da agência ou origem da consulta | String |
| config.consignee | Identificador da consignatária | String |
| products[].balance_check_id | ID da verificação de saldo | String |
| products[].authorization.details[].type_product | Tipo de produto autorizado | String |
| products[].authorization.details[].authorized | Indica se está autorizado | boolean |
| products[].authorization.details[].validity | Data de validade da autorização | date |
| products[].authorization.portability[].authorized | Indica se a portabilidade está autorizada | boolean |
| products[].authorization.portability[].available_balance | Saldo disponível para portabilidade | number |
| products[].authorization.portability[].type_product | Tipo de produto de portabilidade | string |
| products[].authorization.portability[].validity | Validade da portabilidade | date |
| products[].authorization.portability[].contract_port.contract_id | ID do contrato de portabilidade | string |
| products[].authorization.portability[].contract_port.document | Documento da instituição portadora | string |
| products[].authorization.portability[].contract_port.name_consignee | Nome da instituição portadora | string |
| products[].rubric.code | Código da rubrica | string |
| products[].rubric.description | Descrição da rubrica | string |
| products[].agreement | Código do convênio | string |
| products[].available_balance | Saldo disponível para crédito | number |
| meta_data.nationality_country.description | Descrição da nacionalidade | string |
| meta_data.nationality_country.code | Código da nacionalidade | string |
| meta_data.termination_reason_code | Código do motivo de desligamento | string |
| meta_data.birth_date | Data de nascimento | date |
| meta_data.worker_category_code | Código da categoria do trabalhador | string |
| meta_data.termination_date | Data de desligamento | date |
| meta_data.prior_notice_date | Data do aviso prévio | date |
| meta_data.prior_notice_end_date | Data fim do aviso prévio | date |
| meta_data.gender.description | Descrição do gênero | string |
| meta_data.gender.code | Código do gênero | number |
| meta_data.job_code.description | Descrição do cargo | string |
| meta_data.job_code.code | Código do cargo | string |
| meta_data.economic_activity_code.description | Descrição da atividade econômica | string |
| meta_data.economic_activity_code.code | Código da atividade econômica | string |
| meta_data.politically_exposed_person.description | Pessoa politicamente exposta | string |
| meta_data.politically_exposed_person.code | Código PEP | number |
| meta_data.unauthorization_reason.description | Descrição da razão de não autorização | string |
| meta_data.unauthorization_reason.code | Código da razão de não autorização | number |
| meta_data.base_margin_value | Valor base da margem consignável | string |
| meta_data.alerts[].absence_reason_code | Código do motivo de ausência | string |
| meta_data.alerts[].alert_type.description | Descrição do tipo de alerta | string |
| meta_data.alerts[].alert_type.code | Código do tipo de alerta | number |
| meta_data.alerts[].absence_date | Data de início da ausência | date |
| meta_data.alerts[].absence_end_date | Data de fim da ausência | date |
| meta_data.alerts[].reference_date | Data de referência do alerta | string |
| meta_data.alerts[].event_id | ID do evento | string |
| meta_data.alerts[].termination_reason_code | Código do motivo de desligamento no alerta | string |
| meta_data.amount_loans_assets_suspended | Quantidade de empréstimos ativos/suspensos | number |
| meta_data.admission_date | Data de admissão | date |
| meta_data.total_earnings | Total de rendimentos | string |
| meta_data.legacy_loans[].financial_institution_code | Código da instituição financeira | number |
| meta_data.legacy_loans[].contract | Número do contrato | string |
| meta_data.legacy_loans[].contract_start_date | Data de início do contrato | date |
| meta_data.legacy_loans[].contract_end_date | Data de fim do contrato | date |
| meta_data.legacy_loans[].installment_amount | Valor da parcela | number |
| meta_data.legacy_loans[].loan_amount | Valor total do empréstimo | number |
| meta_data.legacy_loans[].net_amount | Valor líquido do empréstimo | number |
| meta_data.legacy_loans[].update_date_time | Data/hora da última atualização | datetime |
| meta_data.legacy_loans[].interest_tax | Taxa de juros | number |
| meta_data.legacy_loans[].monthly_cet | CET mensal | number |
| meta_data.legacy_loans[].installment_quantity | Quantidade de parcelas | number |
| meta_data.legacy_loans[].paid_installments_quantity | Quantidade de parcelas pagas | number |
| meta_data.legacy_loans[].debtor_balance_amount | Saldo devedor | number |
| meta_data.legacy_loans[].contract_type.description | Descrição do tipo de contrato | string |
| meta_data.legacy_loans[].contract_type.code | Código do tipo de contrato | number |
| meta_data.employer_activity_start_date | Data de início da atividade do empregador | date |
| meta_data.mother_name | Nome da mãe do trabalhador | string |
| balance_check_date | Data da verificação de margem | date |
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.:
{
"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"
]
}
}Updated about 2 hours ago