Aller au contenu principal
SVDY Logo
Guide développeur
Disponible
Professional tier

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, dead-letter queue si votre endpoint tombe.

Ce que vous pouvez faire

Les victoires du premier jour. Pas besoin d'ingénieur — un admin 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 de poller 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.

Retries + dead-letter queue

Réponses non-2xx réessayées à 1m, 5m, 30m, 2h, 12h. Après 5 échecs, la livraison atterrit dans la 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 admin qui a les identifiants sous la main.

1

Créez le webhook dans l'admin 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'admin de votre organisation → Intégrations et connectez cette intégration en moins de 5 minutes.