Catálogo de eventos
1. Envelope comum
Todo evento tem a mesma estrutura externa:
{
"event": "<nome do evento>",
"event_id": "evt_<uuid>",
"originator_proposal_code": "<código da operação, quando aplicável>",
"fund_id": "<UUID do fundo>",
"timestamp": "2026-05-13T12:00:00Z",
"data": { }
}2. Eventos de cessão
loan_received
loan_receivedDispara quando a cessão é aceita pela API e passa nas validações de schema e arquivo.
{
"event": "loan_received",
"data": { "received_at": "2026-05-13T11:00:00Z" }
}loan_approved
loan_approvedDispara quando a operação passa nos critérios de elegibilidade do fundo.
{
"event": "loan_approved",
"data": {
"approved_at": "2026-05-13T11:02:34Z",
"criteria_applied": ["concentration", "min_rate", "score"]
}
}loan_rejected
loan_rejectedDispara quando a operação é recusada — esquemática (faltam campos) ou de negócio (falha em elegibilidade).
{
"event": "loan_rejected",
"data": {
"reason": "<código definido na homologação do fundo>",
"reason_detail": "Explicação humana com os valores que causaram a rejeição",
"criteria_failed": ["..."]
}
}loan_term_signed
loan_term_signedDispara quando todas as partes assinaram o termo de cessão na administradora.
{
"event": "loan_term_signed",
"data": {
"term_id": "TERM-2026-05-13-0042",
"signed_at": "2026-05-13T15:30:00Z"
}
}disbursement_completed
disbursement_completedDispara quando a administradora desembolsa o valor ao originador.
{
"event": "disbursement_completed",
"data": {
"disbursed_value": 9500.00,
"disbursed_at": "2026-05-14T09:00:00Z",
"transfer_id": "TED-987654321"
}
}3. Eventos de liquidação
installment_settled
installment_settled{
"event": "installment_settled",
"data": {
"installment_code": "1",
"settled_value": 280.00,
"settled_at": "2026-05-30"
}
}installment_prepaid
installment_prepaid{
"event": "installment_prepaid",
"data": {
"prepayment_value": 1500.00,
"settled_installments": ["6", "7", "8", "9", "10"],
"remaining_balance": 320.00
}
}installment_underpaid
installment_underpaid{
"event": "installment_underpaid",
"data": {
"installment_code": "3",
"expected_value": 280.00,
"settled_value": 200.00,
"difference": 80.00
}
}loan_fully_settled
loan_fully_settled{
"event": "loan_fully_settled",
"data": { "settled_at": "2027-04-13T10:00:00Z" }
}4. Eventos pós-cessão
repurchase_received
repurchase_received{
"event": "repurchase_received",
"data": {
"reason": "repurchase",
"repurchase_value": 2540.00,
"calculated_at": "2026-08-15T09:30:00Z"
}
}repurchase_completed
repurchase_completed{
"event": "repurchase_completed",
"data": {
"reason": "repurchase",
"settled_value": 2540.00,
"completed_at": "2026-08-16T14:00:00Z"
}
}renegotiation_completed
renegotiation_completed{
"event": "renegotiation_completed",
"data": {
"original_proposal_code": "OP-001",
"new_proposal_code": "OP-001-R1",
"completed_at": "2026-09-01T10:00:00Z"
}
}5. Eventos meta
webhook.ping
webhook.pingDispara automaticamente após registro de uma URL, para confirmar a configuração.
{
"event": "webhook.ping",
"data": { "message": "Webhook configured successfully" }
}webhook.delivery_failed
webhook.delivery_failedNão é entregue — é gravado internamente e fica disponível via GET /webhook/{id}/deliveries. Útil para diagnóstico.
6. Filtrando eventos no registro
Você pode assinar só os eventos que interessam usando o campo events em POST /webhook:
{
"url": "https://api.meudominio.com/iorq-webhooks",
"events": ["loan_approved", "loan_rejected", "disbursement_completed"]
}Use o curinga "*" para receber todos os eventos atuais e futuros. Recomendado em integrações em desenvolvimento ativo — você não perde eventos novos quando a IORQ os introduz.
7. Próximos passos
Updated about 6 hours ago