Webhooks

Bientôt disponible

Recevez des notifications en temps réel lorsque des événements se produisent sur les comptes Octal Group.

Les webhooks sont en cours de développement

Cette fonctionnalité sera disponible dans une prochaine version de l'API. En attendant, vous pouvez consulter la documentation préliminaire ci-dessous et contacter le support pour être notifié à la sortie.

Qu'est-ce qu'un webhook ?

Un webhook est une URL de votre serveur que l'API Octal Group appelle automatiquement lorsqu'un événement survient. Plutôt que de "poller" régulièrement notre API pour vérifier les changements, votre application est notifiée instantanément.

Sans webhook (polling)

Votre serveur interroge /api/user toutes les X secondes pour détecter les changements. Gourmand en ressources, avec un délai de détection.

Avec webhook (push)

Octal Group envoie une requête POST à votre URL dès que l'événement se produit. Réactif, efficace, en temps réel.

Événements disponibles (preview)

Ces événements seront disponibles lors du lancement des webhooks.

Événement Description Données incluses
user.created Nouvel utilisateur inscrit id, name, email, created_at
user.updated Profil utilisateur modifié id, name, email, changes
user.deactivated Compte utilisateur désactivé id, email, deactivated_at
token.created Nouvel access token émis pour votre application user_id, scopes, expires_at
token.revoked Token révoqué par l'utilisateur user_id, token_id
authorization.granted Utilisateur a autorisé votre application user_id, client_id, scopes
authorization.revoked Utilisateur a révoqué l'accès à votre app user_id, client_id

Format du payload (preview)

Chaque webhook envoie une requête POST JSON avec la structure suivante.

{
  "id": "wh_01HZ7QX8NKJF4VBMR3P6Y9TCD",
  "event": "authorization.granted",
  "timestamp": "2026-03-27T14:32:01Z",
  "data": {
    "user_id": 42,
    "client_id": "your-client-id",
    "scopes": ["openid", "profile", "email"]
  },
  "signature": "sha256=abc123..."
}

Sécurité des webhooks

Chaque requête webhook sera signée avec une clé secrète partagée. Vous devrez vérifier la signature avant de traiter la requête.

Signature HMAC-SHA256

Chaque payload est signé avec votre secret webhook. En-tête : X-Octal-Signature

Retry automatique

En cas d'échec (timeout ou code non-2xx), l'API réessaie jusqu'à 5 fois avec backoff exponentiel.

Tolérance de 5 minutes

Vérifiez le champ timestamp — rejetez les requêtes datant de plus de 5 minutes pour prévenir les replays.

Exemple de vérification (PHP) :

$payload   = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_OCTAL_SIGNATURE'] ?? '';
$expected  = 'sha256=' . hash_hmac('sha256', $payload, env('WEBHOOK_SECRET'));

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit('Invalid signature');
}

$event = json_decode($payload, true);
// Traiter l'événement...

Être notifié lors de la disponibilité

Contactez-nous pour rejoindre la liste d'attente de la beta webhooks.

Rejoindre la beta