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

Cessão

statusQuando dispara
approvedOperação aprovada na elegibilidade
rejectedOperação recusada — esquemática ou de negócio (ver data.reason)
invalidFalha de validação / estado inválido

Liquidação

statusQuando dispara
settled_installmentParcela liquidada com sucesso
received_prepaymentLiquidação antecipada aceita
invalidFalha (estado inválido, valor divergente, conciliação) — ver data.reason

Pós-cessão

statusQuando dispara
approvedRecompra aprovada
rejectedRecompra ou renegociação recusada
approved_renegotiationRenegociação aprovada (nova operação na carteira)
invalid_renegotiationFalha na renegociação

3. data.reason

Em 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.

5. Próximos passos