Preview. The signing and retry scheme below is the one Melso’s outbound
webhooks use in production today; the event types are new.
The request
Melso sends aPOST with a JSON body:
data is the object as its GET returns it. Two headers come with it:
Verify the signature
The signature is an HMAC-SHA256 of the timestamp, a dot and the raw body, keyed with your signing secret (the wholewhsec_… string). Verify it on the raw
bytes, before parsing JSON, and reject a timestamp older than five minutes.
Respond and retries
Answer any2xx within 15 seconds; do the work afterwards. Redirects are not
followed. A failed delivery is retried after 30 seconds, then with a doubling
wait up to one hour, for 24 hours. After that it is failed; you can
resend it
and see every attempt in
List webhook deliveries.
Events can arrive out of order. When the order matters, read the object again
with its GET.