Webhooks
Recevez des notifications en temps réel sur les événements Luneo
Exemple de webhook handler
const express = require('express');
const crypto = require('crypto');
app.post('/webhooks/luneo', (req, res) => {
const signature = req.headers['x-luneo-signature'];
const payload = JSON.stringify(req.body);
// Vérifier la signature HMAC
const expectedSignature = crypto
.createHmac('sha256', process.env.WEBHOOK_SECRET)
.update(payload)
.digest('hex');
if (signature !== expectedSignature) {
return res.status(401).send('Invalid signature');
}
const { event, data } = req.body;
switch (event) {
case 'design.completed':
console.log('Design prêt:', data.designId);
break;
case 'order.paid':
console.log('Commande payée:', data.orderId);
break;
}
res.status(200).send('OK');
});Événements disponibles
- design.completed - Un design a été généré avec succès
- design.failed - La génération d'un design a échoué
- order.created - Une nouvelle commande a été créée
- order.paid - Une commande a été payée
- order.shipped - Une commande a été expédiée
Sécurité
Tous les webhooks sont signés avec HMAC-SHA256. Vérifiez toujours la signature avant de traiter un événement.