Catálogo de eventos
A IORQ envia um único tipo de mensagem de webhook (LOAN_UPDATE). O que mudou é discriminado pelo campo data.status. Esta página lista os valores possíveis de status e o formato do payload.
1. Envelope
Hoje a IORQ envia um único message_type: LOAN_UPDATE. O corpo do POST para a sua URL é o objeto payload, com esta forma:
{
"event": "update",
"data": {
"entity_id": "<originator_proposal_code>",
"status": "<status — ver abaixo>",
"reason": "<motivo, quando aplicável>",
"nosso_numero": "<quando aplicável>",
"installment_code": "<quando aplicável>",
"banker_proposal_code": "<quando aplicável>",
"entity_type": "ccb"
}
}O discriminador do que aconteceu é data.status. Os demais campos de data variam conforme o status (podem vir nulos/ausentes). Não há um evento por transição de estado — tudo chega como LOAN_UPDATE.
2. Valores de data.status
data.statusCessão
status | Quando dispara |
|---|---|
approved | Operação aprovada na elegibilidade |
rejected | Operação recusada — esquemática ou de negócio (ver data.reason) |
invalid | Falha de validação / estado inválido |
Liquidação
status | Quando dispara |
|---|---|
settled_installment | Parcela liquidada com sucesso |
received_prepayment | Liquidação antecipada aceita |
invalid | Falha (estado inválido, valor divergente, conciliação) — ver data.reason |
Pós-cessão
status | Quando dispara |
|---|---|
approved | Recompra aprovada |
rejected | Recompra ou renegociação recusada |
approved_renegotiation | Renegociação aprovada (nova operação na carteira) |
invalid_renegotiation | Falha na renegociação |
3. data.reason
data.reasonEm status de recusa/falha, data.reason traz o motivo — pode ser uma string ou um objeto. Exemplos observados: fund_not_found, banker_not_found, loan_not_found, invalid_loan_state, invalid_installment_state, settlement_conciliation_error, value_mismatch (...), além dos códigos de elegibilidade definidos por fundo na homologação.
4. Sem filtro por tipo de evento
Você recebe todos os LOAN_UPDATE do fundo registrado. Não há assinatura por tipo de evento nem curinga * — o filtro é feito no seu lado, pelo data.status.
