Portabilidade + Refinanciamento
Fluxo para trazer dívida de outra instituição (portabilidade) ou renegociar uma operação ativa (refinanciamento) no consignado SIAPE. Ambas usam reservation_type: refinancing no /debt.
Margem Livre (new_credit) cria nova dedução em folha. Refinanciamento (refinancing) reaproveita uma reserva existente.
Quando usar cada um
- Refinanciamento puro
- Portabilidade pura
- Compra-de-dívida (com troco)
Cliente já tem operação ativa na QI Tech. Quer renegociar prazo/taxa.
reservation_type:refinancingreservation_method:issuingrefinanced_credit_operations:[{"operation_key": "<UUID da CO QI original>"}]modality.code:"0202"
Cliente tem dívida em outro banco. Quer migrar pra QI sem troco. O servidor precisa autorizar a portabilidade no Portal do Servidor — sem isso, averbação falha com consent_refused.
reservation_type:refinancingrefinanced_credit_operations[]: comoriginal_contract_number+original_financial_institution_document_number+due_balance+original_deadlinemodality.code:"0202"
Cliente quer migrar dívida externa e liberar troco. SIAPE não tem CTC (a câmara de portabilidade só existe pro INSS), então QI implementa via compra-de-dívida operacional:
- QI emite operação-ponte.
- Saldo cobre o
due_balanceda operação externa. - QI quita externamente.
- Margem liberada no SIGEPE.
- QI averba a operação consignada nova.
final_disbursement_amountna simulação é o troco.
Pra SIAPE, a integração é uma só chamada de /debt bem montada — a QI orquestra o resto internamente.
Pré-requisitos
- Servidor pré-autorizou QI SCD no Portal do Servidor.
- Para refinanciamento puro:
operation_keyda CO QI original. - Para portabilidade:
original_contract_number+original_financial_institution_document_number+due_balance+original_deadlinedo contrato externo.
1. Simulação
Request Body — Refinanciamento puro
{
"borrower": { "person_type": "natural", "individual_document_number": "25256363506" },
"financial": {
"first_due_date": "2026-07-01",
"installment_face_value": 400.00,
"disbursement_date": "2026-06-02",
"number_of_installments": 60,
"monthly_interest_rate": 0.0175,
"interest_type": "pre_price_days",
"credit_operation_type": "ccb"
},
"collaterals": [{
"collateral_type": "federal_payroll",
"percentage": 1,
"collateral_data": {
"reservation_type": "refinancing",
"authority_code": "17000",
"registration_code": "1354387",
"refinanced_credit_operations": [
{ "operation_key": "9c8e7d6b-..." }
]
}
}],
"modality": { "code": "0202" }
}
Request Body — Portabilidade / Compra-de-dívida
{
"borrower": { "person_type": "natural", "individual_document_number": "25256363506" },
"financial": {
"first_due_date": "2026-07-01",
"installment_face_value": 480.00,
"disbursement_date": "2026-06-02",
"number_of_installments": 72,
"monthly_interest_rate": 0.0185,
"interest_type": "pre_price_days",
"credit_operation_type": "ccb"
},
"collaterals": [{
"collateral_type": "federal_payroll",
"percentage": 1,
"collateral_data": {
"reservation_type": "refinancing",
"authority_code": "17000",
"registration_code": "1354387",
"refinanced_credit_operations": [{
"original_contract_number": "526985/WU",
"original_financial_institution_document_number": "00000000000191",
"due_balance": 12500.00,
"original_deadline": "2027-08-15"
}]
}
}],
"modality": { "code": "0202" }
}
Campos chave
| Campo | Descrição |
|---|---|
collaterals[].collateral_data.reservation_type | refinancing (refin + port) |
refinanced_credit_operations[].operation_key | UUID da CO QI original (refin puro) |
refinanced_credit_operations[].original_contract_number | Contrato externo (portabilidade) |
refinanced_credit_operations[].original_financial_institution_document_number | CNPJ banco origem (portabilidade) |
refinanced_credit_operations[].due_balance | Saldo devedor externo |
refinanced_credit_operations[].original_deadline | Vencimento original |
modality.code | "0202" (obrigatório) |
Response
final_disbursement_amount = troco (zero = portabilidade pura).
2. Emissão
Mesmo payload da simulação, acrescentando borrower completo + disbursement_bank_account + purchaser_document_number. Ver exemplo completo em Margem Livre e adaptar collateral_data conforme tabs acima.
O que acontece após o /debt (portabilidade)
- Emite a CCB nova → webhook
debt(waiting_signature). - Aciona o credit-transfer pra quitar o contrato externo → webhook
credit_transfer.received_portabilityquando o banco origem confirma. - Servidor confirma a portabilidade no Portal do Servidor.
- Aguarda desaverbação do SIGEPE na operação original → webhook
credit_operation.collateralcomreservation_status: deleted. - Averba a nova operação → webhook
credit_operation.collateralcomsuccessna nova. - Desembolsa o troco (se houver) → webhook
debt(disbursed).
→ Próximo passo: Formalização
Webhooks específicos de port/refin
| Webhook | Quando dispara |
|---|---|
credit_transfer.received_portability | Banco origem confirmou portabilidade |
credit_transfer_status_change | Atualização credit-transfer |
credit_operation.collateral (reservation_status: deleted) | Desaverbação da operação original confirmada |
Falhas específicas
| Enumerador | Quando | Ação |
|---|---|---|
origin_contract_not_found | Contrato externo não existe ou foi quitado | Verificar; cancelar |
waiting_for_origin_contract_closure | Aguardando quitação externa | Aguardar (retry automático) |
expired_portability | Janela de port fechou no SIGEPE | Re-tentar |
consent_refused | Servidor não autorizou no Portal | Pedir autorização |
INVALID_MODALITY_CODE | Sem modality.code: "0202" | Adicionar |