Originação IF a partir do lead CLT
Caminho da API de Contas equivalente ao botão Cadastrar IF da mesa Finance: listar o lead, cadastrar o trabalhador (CREDIT_CONSIGNADO_WORKER) e criar o empréstimo EXTERNAL_BANK com o vínculo Dataprev.
Não envia proposta no leilão. As rotas clt-leads/:id/proposal e econsigado/loans/* são outros funis.
Scopes
| Recorte | Scope |
|---|---|
| Listar leads | econsignado.read |
| Cadastro e loan | credit.consignado.write |
| Poll do cadastro e da formalização | credit.consignado.read |
Não use econsignado.write nem credit.bankarization.* neste caminho. Não envie accountId: o trabalhador ainda não tem conta ONZ.
Passos
- Liste o lead em
POST /econsigado/employee/clt-leads/list. - Inicie o cadastro.
- Faça poll até aparecer
personId. - Crie o empréstimo com o vínculo Dataprev do lead.
- Faça poll da URL de formalização.
1. Cadastro
Endpoint: POST /credit/consignado/registrations
curl --location 'https://secureapi.onz.finance/api/v2/credit/consignado/registrations' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"document": "12345678901",
"source": "CREDIT_CONSIGNADO_WORKER",
"prefill": {
"fullName": "Maria Silva",
"email": "[email protected]",
"phone": "11988887777",
"address": {
"zipCode": "01001000",
"street": "Praça da Sé",
"number": "1",
"district": "Sé",
"city": "São Paulo",
"state": "SP"
}
}
}'
Do lead use worker_cpf e worker_name. email e address são obrigatórios; phone é opcional. Nenhum desses contatos vem do lead (o operador também preenche na mesa). CEP aceita máscara; UF tem 2 letras; país default BRA.
Resposta pública: id e status (PERSONAL_DATA). Sem personId neste recorte. resumed: true se o Atlas retomar um cadastro aberto.
2. Poll do cadastro
Endpoint: GET /credit/consignado/registrations/{id}
personId só aparece depois do clearance (ONU/Proteo) e do approve de compliance. Cadastro de outra intent responde 404.
3. Empréstimo
Endpoint: POST /credit/consignado/loans
O Credit exige o vínculo Dataprev no create. Sem ele a averbação não corre (fica adiada ou o create é recusado).
curl --location 'https://secureapi.onz.finance/api/v2/credit/consignado/loans' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"creditProductId": 3,
"personId": 77,
"term": 24,
"period": "MONTHLY",
"amount": 4000,
"lateFine": 2,
"lateRate": 1,
"firstDueDate": "2099-12-15",
"destination": {
"ispb": "18236120",
"agency": "0001",
"account": "123456",
"accountType": "CACC",
"document": "12345678901"
},
"dataprev": {
"employeeId": "12345",
"employerRegistrationType": 1,
"employerRegistrationNumber": "12345678000199"
}
}'
| Lead | Campo do loan |
|---|---|
employee_registration | dataprev.employeeId (1–30 caracteres) |
employer_registration_type | dataprev.employerRegistrationType (1–9) |
employer_registration_number | dataprev.employerRegistrationNumber (8, 11 ou 14 dígitos) |
requested_amount | amount |
installments_count | term |
personId vem do poll do cadastro. Destino Pix/conta é informado pelo parceiro. creditProductId é o produto consignado da instituição.
O loan nasce em REGISTRATION com Dataprev PENDING. A averbação é automática no Credit quando o vínculo está completo.
4. Formalização
Endpoint: GET /credit/consignado/loans/{loanId}/formalization-url
Sempre GET (nunca POST, nunca dispara SMS). formalizationUrl só aparece com dataprevOutcome=AVERBADO, destino persistido e não recusado.