Activity that occurs in Canopy drives many downstream dependent actions. For example, sending email or text notifications to borrowers, executing logic in response to missed borrower payments, and more. All events that occur within the lifecycle of any borrowers on Canopy send webhook notifications for your dependent systems.
To assign your webhook URL to your Canopy organization, navigate to the “App Keys” page from the top right account dropdown. Under the Webhook URL section, paste your webhook URL into that input and hit the save button. Once configured in the Canopy UI, this URL will receive the following events.
Webhook messages have an ‘at least once’ guarantee. In order to facilitate this, a message may be delivered more than once. It is up to the receiver to detect duplicate messages. This can currently be done with the hmac_signature.
Ordering
There is no guarantee on delivery order of webhooks. If there is an error in receiving the webhook there will be a retry which might change the ordering of webhooks.
Events will hit your webhook URL in the following pattern:
{
"event": String, // The event name
"data": Object, // The webhook payload
"hmac_signature": String // The signature of the field "data"
}
<aside>
🧠 Your endpoint must respond with a 200
or 202
</aside>
429
and 5XX
are retried before sent to dead letter queue (DLQ).1XX
, 3XX
, and 4XX
(excluding 429
) aren't retried before sent to DLQ.401
code is received/organization/subscribe/replay_failed_events
will replay all failed events to your webhook endpoint again.data
field, and needs to be equal to the hmac_signature
field.