Pular para o conteúdo principal

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

RecorteScope
Listar leadseconsignado.read
Cadastro e loancredit.consignado.write
Poll do cadastro e da formalizaçãocredit.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

  1. Liste o lead em POST /econsigado/employee/clt-leads/list.
  2. Inicie o cadastro.
  3. Faça poll até aparecer personId.
  4. Crie o empréstimo com o vínculo Dataprev do lead.
  5. 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"
}
}'
LeadCampo do loan
employee_registrationdataprev.employeeId (1–30 caracteres)
employer_registration_typedataprev.employerRegistrationType (1–9)
employer_registration_numberdataprev.employerRegistrationNumber (8, 11 ou 14 dígitos)
requested_amountamount
installments_countterm

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.