Aller au contenu principal
Guide développeur
Disponible
Professional (offre)

Soyez notifié au moment précis où ça arrive

Votre backend reçoit un POST en quelques secondes après un pointage ou l’approbation d’un congé — sans polling, sans tâches planifiées. Livraisons signées, réessais automatiques et une file d’attente pour les livraisons en échec (dead-letter queue) si votre endpoint ne répond plus.

Ce que vous pouvez faire

Des bénéfices dès le premier jour. Aucun développement nécessaire : un administrateur de PME le met en place.

Temps réel, pas polling

Pointages, approbations de congé, changements de statut — votre endpoint reçoit un POST en quelques secondes. Pas besoin d’interroger l’API toutes les 5 minutes (moins cher et plus rapide).

Livraisons inviolables

Chaque requête inclut X-SVDY-Signature: sha256=… calculé sur le corps JSON avec votre secret. Vérifiez la signature dans votre endpoint pour rejeter à froid les requêtes falsifiées.

Réessais et file des livraisons en échec

Réponses non-2xx réessayées à 1m, 5m, 30m, 2h, 12h. Après 5 échecs, la livraison est mise de côté dans la file des livraisons en échec (dead-letter queue), visible dans /system/integrations/webhooks. Vous ne perdez pas d’événements quand votre endpoint a une mauvaise journée.

À configurer en 4 étapes

Temps estimé : moins de 5 minutes pour un administrateur qui a les identifiants sous la main.

1

Créez le webhook dans l’administration de l’organisation

Intégrations → Webhooks → Ajouter un webhook. Entrez l’URL de votre endpoint + choisissez les événements qui vous intéressent. SVDY affiche le secret de signature UNE FOIS — sauvegardez-le maintenant.

2

Construisez le récepteur

Votre endpoint accepte POST application/json. Vérifiez la signature HMAC avant de traiter. Retournez 200 en moins de 10 secondes (sinon SVDY suppose un échec et réessaie).

# Python receiver — Flask sketch
import hmac, hashlib, json
from flask import request, abort

SVDY_SECRET = b"<paste-from-svdy-admin>"

@app.post("/webhooks/svdy")
def receive():
    sig = request.headers.get("X-SVDY-Signature", "")
    expected = "sha256=" + hmac.new(
        SVDY_SECRET, request.data, hashlib.sha256
    ).hexdigest()
    if not hmac.compare_digest(sig, expected):
        abort(401)
    event = json.loads(request.data)
    # ... handle event["type"], event["data"]
    return "", 200
3

Testez avec le bouton « Envoyer un événement test »

Dans le panneau de détail du webhook — déclenche un événement synthétique vers votre endpoint. Le code de réponse + corps apparaît immédiatement dans le journal de livraison.

4

Rejouez les livraisons échouées

Chaque livraison apparaît dans le panneau d’activité avec son statut (livré / en retry / mort). Cliquez « Rejouer » sur une livraison morte pour la redéclencher après avoir réparé votre endpoint.


Prêt à connecter ?

Ouvrez l’administration de votre organisation → Intégrations et connectez cette intégration en moins de 5 minutes.