Temps Réel
Webhooks
Recevez des notifications automatiques sur votre serveur dès qu'un événement survient sur vos utilisateurs.
Événement SDK
signUp / signIn
VaultSecure
Traitement & envoi
Votre Serveur
POST vers votre URL
Événements disponibles
user.createdDéclenché quand un utilisateur s'inscrit via le SDK.
user.loginDéclenché à chaque connexion réussie.
user.disabledDéclenché quand un admin désactive un utilisateur.
user.enabledDéclenché quand un admin réactive un utilisateur.
user.deletedDéclenché quand un utilisateur est supprimé.
Structure du payload
// Payload envoyé par VaultSecure
{
"event": "USER_CREATED",
"timestamp": "2026-02-22T20:00:00",
"data": {
"email": "john@example.com",
"firstName": "John",
"lastName": "Doe"
}
}
// Headers de la requête
{
"Content-Type": "application/json",
"X-Vault-Secret": "votre_secret_unique",
"X-Vault-Event": "USER_CREATED"
}Exemple Next.js
// app/api/webhooks/vault/route.ts
export async function POST(req: Request) {
const secret = req.headers.get('x-vault-secret')
if (secret !== process.env.VAULT_WEBHOOK_SECRET) {
return Response.json({ error: 'Non autorisé' }, { status: 401 })
}
const body = await req.json()
const { event, data } = body
switch (event) {
case 'USER_CREATED':
await sendWelcomeEmail(data.email)
break
case 'USER_DELETED':
await cleanupUserData(data.email)
break
}
return Response.json({ received: true })
}Exemple Node.js / Express
app.post('/webhooks/vault', (req, res) => {
const secret = req.headers['x-vault-secret']
// Vérifier que la requête vient bien de VaultSecure
if (secret !== process.env.VAULT_WEBHOOK_SECRET) {
return res.status(401).send('Non autorisé')
}
const { event, data, timestamp } = req.body
if (event === 'USER_CREATED') {
console.log('Nouvel utilisateur :', data.email)
// Envoyer un email de bienvenue, créer un profil, etc.
}
if (event === 'USER_LOGIN') {
console.log('Connexion de :', data.email)
}
if (event === 'USER_DELETED') {
console.log('Utilisateur supprimé :', data.email)
// Nettoyer les données de l'utilisateur
}
res.status(200).json({ received: true })
})Tester en local avec ngrok
Exposez votre localhost pour recevoir les webhooks pendant le développement.
# Installer ngrok
npm install -g ngrok
# Exposer votre port local
ngrok http 3000
# Utiliser l'URL générée dans votre dashboard
# Ex: https://abc123.ngrok.io/api/webhooks/vaultVérification du secret
Vérifiez toujours le header X-Vault-Secret dans chaque requête entrante. Ce secret est unique par webhook et disponible dans votre dashboard. Ne l'exposez jamais dans votre frontend.