Aller au contenu principal

Webhooks

Les webhooks envoient des notifications en temps réel à vos systèmes externes lorsqu'un événement actif se produit. Utilisez-les avec Zapier, Make, des API personnalisées ou des systèmes d'inventaire.


1. Accéder aux Webhooks

Navigation : AssetsSettings → onglet Webhooks.


2. Créer un Webhook

  1. Cliquez sur New Webhook
  2. Entrez le Webhook Name (ex. : "Sync to ERP")
  3. Entrez l'Webhook URL - votre endpoint (doit accepter les requêtes POST)
  4. Sélectionnez les Events auxquels vous abonner (ou sélectionnez tous)
  5. Définissez éventuellement une Secret Key pour la vérification de signature HMAC
  6. Ajoutez éventuellement des Custom Headers (ex. : clé API)
  7. Définissez Active sur Yes
  8. Cliquez sur Save

3. Événements disponibles

Cycle de vie des actifs

ÉvénementQuand déclenché
asset.createdNouvel actif créé
asset.updatedActif mis à jour
asset.deletedActif supprimé

Allocation et assignation

ÉvénementQuand déclenché
asset.allocatedActif alloué au personnel
asset.revokedAllocation révoquée

Check-in/Check-out

ÉvénementQuand déclenché
asset.checked_outActif checké out
asset.checked_inActif checké in

Réservations

ÉvénementQuand déclenché
asset.reservedRéservation créée
asset.reservation_approvedRéservation approuvée
asset.reservation_rejectedRéservation rejetée

Maintenance et transferts

ÉvénementQuand déclenché
asset.maintenance_scheduledMaintenance programmée
asset.maintenance_completedMaintenance terminée
asset.transferredTransfert terminé

Perte, dommage, liquidation

ÉvénementQuand déclenché
asset.lostActif déclaré perdu
asset.brokenActif déclaré cassé
asset.warrantyActif envoyé en garantie
asset.liquidatedActif liquidé

Alertes (via Cron)

ÉvénementQuand déclenché
alert.warranty_expiringGarantie expire dans 30 jours
alert.maintenance_dueMaintenance due dans 7 jours
alert.checkout_overdueCheckout en retard
alert.low_stockStock sous le seuil

4. Format du payload

Chaque webhook envoie un payload JSON :

{
"event": "asset.created",
"timestamp": "2025-02-04T12:00:00+00:00",
"source": "perfex_assets_module",
"asset_id": 123,
"asset": { ... },
"data": { ... }
}
  • event - Nom de l'événement
  • timestamp - Format ISO 8601
  • asset_id - ID de l'actif (null si supprimé)
  • asset - Données de l'actif (ou données supplémentaires pour supprimé)
  • data - Données spécifiques à l'événement (ex. : détails d'allocation)

5. Vérification de signature

Le module envoie une signature HMAC-SHA256 dans l'en-tête :

X-Asset-Webhook-Signature: <signature>
X-Asset-Webhook-Timestamp: <timestamp>
X-Asset-Webhook-Event: <event>

Vérifiez dans votre endpoint :

signature = HMAC-SHA256(secret_key, request_body)

6. Webhook Logs

  • Consultez les Webhook Logs pour voir le statut des livraisons
  • Response Code - 2xx = succès, 4xx/5xx = échec
  • Retry - Certaines interfaces permettent de réessayer les livraisons échouées
  • Les logs sont généralement nettoyés après 30 jours

7. Tester le Webhook

Utilisez Test Webhook pour envoyer un payload de test. Utile pour vérifier que votre endpoint est accessible et correctement configuré.


Bonnes pratiques

  • Utilisez HTTPS pour les URLs webhook
  • Vérifiez la signature pour garantir que les requêtes proviennent du module
  • Répondez rapidement (ex. : 200 OK) - timeout environ 30 secondes
  • Gérez les doublons - le même événement peut être renvoyé
  • Surveillez les logs pour les livraisons échouées