Webhooks

Recevez des notifications en temps réel lorsque des événements se produisent dans votre compte Selery. Automatisez vos workflows et synchronisez vos systèmes.

25 minutes
Développeur
Dernière mise à jour : 11 août 2025

Qu'est-ce qu'un webhook ?

Un webhook est une notification HTTP automatique envoyée par Selery vers votre application lorsqu'un événement spécifique se produit. Au lieu de vérifier constamment les changements, votre système est notifié instantanément.

Push instantané

Notifications en temps réel

Sécurisé

Signatures cryptographiques

Fiable

Système de retry automatique

Événements disponibles

Propriétés

3 événements
property.created

Nouvelle propriété ajoutée

Un bien immobilier vient d'être créé dans votre patrimoine

property.updated

Propriété modifiée

Les informations d'un bien ont été mises à jour

property.deleted

Propriété supprimée

Un bien a été retiré de votre patrimoine

Locataires

3 événements
tenant.created

Nouveau locataire ajouté

Un nouveau bail vient d'être signé

tenant.updated

Informations locataire modifiées

Les coordonnées d'un locataire ont changé

lease.expired

Bail arrivé à échéance

Un bail arrive à expiration dans 30 jours

Finances

3 événements
payment.received

Paiement reçu

Un loyer a été encaissé

payment.overdue

Paiement en retard

Un loyer n'a pas été payé à la date prévue

expense.created

Nouvelle dépense enregistrée

Une facture de travaux a été ajoutée

Prospection

3 événements
lead.created

Nouveau prospect détecté

Le radar a trouvé une nouvelle opportunité

deal.status_changed

Statut d'affaire modifié

Une opportunité passe en négociation

contact.created

Nouveau contact ajouté

Un nouveau contact a été enregistré

Configuration étape par étape

1

Créer un endpoint webhook

Configurez une URL publique dans votre application pour recevoir les notifications.

Exemple d'endpoint en Node.js

const express = require('express');
const crypto = require('crypto');
const app = express();

app.use(express.raw({ type: 'application/json' }));

app.post('/webhooks/selery', (req, res) => {
  const signature = req.headers['x-selery-signature'];
  const payload = req.body;
  
  // Vérifier la signature
  const expectedSignature = crypto
    .createHmac('sha256', process.env.SELERY_WEBHOOK_SECRET)
    .update(payload)
    .digest('hex');
  
  if (signature !== `sha256=${expectedSignature}`) {
    return res.status(401).send('Signature invalide');
  }
  
  const event = JSON.parse(payload);
  
  // Traiter l'événement
  switch (event.event) {
    case 'property.created':
      console.log('Nouvelle propriété:', event.data);
      break;
    case 'payment.received':
      console.log('Paiement reçu:', event.data);
      break;
    default:
      console.log('Événement non géré:', event.event);
  }
  
  res.status(200).send('OK');
});

app.listen(3000, () => {
  console.log('Serveur webhook démarré sur le port 3000');
});
Points importants
  • • Votre endpoint doit être accessible publiquement (HTTPS recommandé)
  • • Répondez avec un statut 200 pour confirmer la réception
  • • Vérifiez toujours la signature pour sécuriser votre endpoint
2

Configurer le webhook dans Selery

Ajoutez votre endpoint dans l'interface d'administration ou via l'API.

Via l'interface web

Allez dans Paramètres → Intégrations
Cliquez sur "Ajouter un webhook"
Saisissez votre URL et secret
Sélectionnez les événements

Via l'API

curl -X POST https://api.selery.io/v1/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/webhooks/selery",
    "events": [
      "property.created",
      "property.updated", 
      "payment.received"
    ],
    "secret": "your-webhook-secret"
  }'
3

Tester et déboguer

Validez votre intégration avec des outils de test et de monitoring.

Test de webhook

Utilisez l'outil de test intégré pour envoyer un webhook d'exemple.

Monitoring

Surveillez les livraisons et les erreurs dans le dashboard.

Voir les logs

Exemples de payload

{
  "event": "property.created",
  "timestamp": "2024-08-11T14:30:00Z",
  "data": {
    "id": "prop_789",
    "type": "apartment",
    "address": "15 Rue Victor Hugo, Lyon 6ème",
    "surface": 85,
    "rooms": 4,
    "purchase_price": 450000,
    "created_at": "2024-08-11T14:30:00Z",
    "owner": {
      "id": "user_123",
      "name": "Jean Dupont"
    }
  },
  "webhook": {
    "id": "wh_456",
    "url": "https://yourapp.com/webhooks/selery"
  }
}

Sécurité des webhooks

Validation des signatures

Chaque webhook inclut une signature HMAC-SHA256 dans l'en-têtex-selery-signature.

  • • Utilisez votre secret webhook pour calculer la signature
  • • Comparez avec la signature reçue
  • • Rejetez les requêtes avec signatures invalides

Bonnes pratiques

  • • Utilisez HTTPS pour votre endpoint
  • • Limitez les tentatives de retry
  • • Loggez les échecs pour le débogage
  • • Implémentez une idempotence
  • • Validez le format des données reçues