Skip to main content
Tester en direct — Essayez ces endpoints dans la documentation interactive Scalar.

Lister les webhooks

Scope requis : webhooks:manage

Créer un webhook

Scope requis : webhooks:manage
string
required
URL de destination (HTTPS obligatoire)
array
required
Événements à écouter (voir tableau ci-dessous)
string
Description du webhook
boolean
default:"true"
Activer ou désactiver le webhook
Le secret de signature (whsec_...) est retourné une seule fois. Sauvegardez-le immédiatement. Il est utilisé pour vérifier l’authenticité des payloads via HMAC-SHA256.

Événements disponibles


Récupérer un webhook

Scope requis : webhooks:manage

Mettre à jour un webhook

Scope requis : webhooks:manage

Supprimer un webhook

Scope requis : webhooks:manage
Retourne 204 No Content.

Régénérer le secret

Génère un nouveau secret et invalide l’ancien. Scope requis : webhooks:manage

Historique des deliveries

Consultez les tentatives de livraison (succès et échecs) pour un webhook. Scope requis : webhooks:manage

Politique de retry

En cas d’échec de livraison (timeout de 5 secondes, erreur réseau, code HTTP hors 2xx, y compris une redirection 3xx qui n’est jamais suivie), Finkare retente automatiquement avec un délai croissant : Après 5 tentatives échouées, la livraison passe en failed (visible dans l’historique). Le webhook reste actif pour les événements suivants. Une URL qui résout vers une adresse privée ou réservée est refusée sans nouvelle tentative. La livraison est au moins une fois : un même événement peut exceptionnellement arriver deux fois. Dédupliquez avec l’en-tête X-Finkare-Event-Id (identique d’une tentative à l’autre).

Format du corps

En-têtes : X-Finkare-Event, X-Finkare-Event-Id, X-Finkare-Delivery-Id, X-Finkare-Timestamp, X-Finkare-Signature (t=<horodatage>,v1=<signature>, voir ci-dessous). Événements actuellement émis : workflow.started, workflow.action_triggered, debtor.contacted, payment.received, debt.paid, lrar.sent, lrar.delivered. Les autres événements du tableau peuvent être souscrits mais ne sont pas encore émis.

Vérification de signature

En-tête : X-Finkare-Signature: t=<horodatage Unix>,v1=<signature>, où signature = HMAC-SHA256 hexadécimal, avec votre secret whsec_... comme clé, de la chaîne "<t>.<corps brut>". L’horodatage étant signé, refusez toute requête dont t s’écarte de plus de 5 minutes (300 s) de votre horloge : un corps intercepté ne peut pas être rejoué au-delà. Calculez toujours la signature sur le corps brut, avant tout parsing JSON. Finkare stocke votre secret chiffré et ne peut pas vous le renvoyer : en cas de perte, régénérez-le (rotate-secret).
Utilisez toujours timingSafeEqual (ou équivalent) pour la comparaison des signatures afin d’éviter les attaques timing.