Vi sender en POST med JSON til din URL, når der sker noget. Hver forespørgsel er signeret med HMAC-SHA256.
Hændelser
product.updated | Et produkt eller dets data er ændret |
passport.published | Et produktpas er udgivet i en ny version |
declaration.issued | En erklæring er udstedt |
document.expiring | Et dokument udløber inden for 60 dage |
review.completed | Gennemgangen af et dokument er afsluttet |
Sådan verificerer du signaturen
Headeren Webhook-Signature har formen t=tidsstempel,v1=signatur. Beregn HMAC-SHA256 af "tidsstempel.body" med din hemmelige nøgle, og sammenlign. Afvis forespørgsler, der er ældre end fem minutter.
// PHP
[$t, $sig] = sscanf($_SERVER['HTTP_WEBHOOK_SIGNATURE'], 't=%d,v1=%s');
$expected = hash_hmac('sha256', $t . '.' . file_get_contents('php://input'), $secret);
if (! hash_equals($expected, $sig) || abs(time() - $t) > 300) {
http_response_code(401);
exit;
}
Svarer din server ikke med 2xx, prøver vi igen op til seks forsøg i alt med stigende ventetid: 1, 5, 30, 120 og 360 minutter. Derefter lægges leveringen på listen over fejlede leveringer, hvorfra du kan sende den igen.