Skip to main content
Kiriku envoie des webhooks pour les extractions et les tests de webhook.

Événements disponibles

  • extraction.completed
  • extraction.failed
  • webhook.test

En-têtes envoyés

  • X-Kiriku-Signature: HMAC SHA-256 du body brut
  • X-Kiriku-Event: nom de l’événement

Vérifier la signature

Utilisez le secret généré lors de la création du webhook.
import crypto from 'crypto';

app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
  const signature = req.headers['x-kiriku-signature'];
  const payload = req.body;
  const secret = process.env.KIRIKU_WEBHOOK_SECRET;

  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

  if (signature !== expected) {
    return res.status(401).send('Invalid signature');
  }

  // Process event
  res.status(200).send('ok');
});

Payload type

{
  "event": "extraction.completed",
  "apiVersion": "2025-06-01",
  "id": "evt_...",
  "createdAt": "2026-03-12T12:00:00.000Z",
  "data": {
    "extractionId": "ext_...",
    "status": "completed",
    "result": { }
  }
}

Webhooks billing (DexPay)

Les webhooks DexPay sont reçus sur POST /v1/billing/webhook et vérifiés avec x-webhook-signature.