Scoring Events#
CasaPay sends webhook events when scoring requests complete or encounter errors.
Event Types#
| Event | Description |
|---|---|
score_request.processing | Score request has started processing |
score_request.completed | All scores have been generated |
score_request.error | Score request encountered an error |
score_report.ready | Full score report is available |
Event Object#
{
"id": "evt_score_abc123",
"object": "event",
"type": "score_request.completed",
"data": {
"object": {
"id": "sr_abc123def456",
"object": "score_request",
"status": "completed",
"score_report": "scrpt_xyz789",
"score_types": ["tenant_score", "cash_flow_score", "credit_score"]
}
},
"created": 1706140800
}Handling Scoring Events#
app.post('/webhooks/casapay', async (req, res) => {
const event = req.body;
if (event.type === 'score_request.completed') {
const scoreReport = await casapay.scoreReports.retrieve(
event.data.object.score_report
);
// Process scores
for (const score of scoreReport.scores) {
if (score.risk_indicator === 'high_risk') {
await flagApplication(event.data.object.id, score);
}
}
}
res.status(200).send();
});