Authentification des Webhooks

La fonction d’authentification des webhooks garantit une communication sécurisée entre Agency Handy et des systèmes externes. En configurant cette sécurité, vous vous assurez que seuls les points de terminaison autorisés reçoivent les données envoyées par les webhooks.


🎯 Avantages

  • Sécurité : Protégez les données sensibles contre les accès non autorisés.

  • Fiabilité : Assurez-vous que les données sont transmises uniquement à des destinataires autorisés.

  • Conformité : Respectez les normes de sécurité et de conformité pour les transmissions de données.


🛠 Étapes pour mettre en place la vérification

Nous vous recommandons fortement de vérifier tous les webhooks que vous recevez sur vos endpoints.


✅ Vérifier un Webhook

Méthode :

POST /api/v1/webhooks/verify-signature

En-têtes (obligatoires) :

pgsqlCopyContent-Type: application/json

Corps de la requête (obligatoire) :

Champ
Type
Description

webhookId

string

Identifiant du webhook (disponible après création)

signature

string

Signature du webhook (dans l’en-tête x-ah-sig)

secret

string

Secret du webhook (généré lors de la création)

payload

object

Contenu de la requête webhook


🔍 Où trouver ces informations ?

  • webhookId : Affiché après la création du webhook.

  • signature : Récupérable dans l’en-tête HTTP nommé x-ah-sig.

  • secret : Visible dans la barre latérale, après avoir créé un webhook.

  • payload : Contenu JSON envoyé dans la requête entrante du webhook.


✅ Réponses attendues :

  • 200 – Vérification réussie

  • 403 – Échec de la vérification

Réponse JSON :

jsonCopy{
  "verification_status": "SUCCESS"
}

💻 Exemple en JavaScript (via fetch) :

javascriptCopyconst url = 'https://api.agencyhandy.com/api/v1/webhooks/verify-signature';

const postData = {
  webhookId: 'votre_webhook_id',
  signature: 'votre_signature',
  secret: 'votre_secret_webhook',
  payload: {}, // Votre contenu ici
};

try {
  const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(postData),
  });

  const data = await response.json();
  console.log('Succès :', data);
} catch (error) {
  console.error('Erreur :', error);
}

📌 Notes Importantes

  • Gestion des tokens : Gardez le token secret et pensez à le changer régulièrement.

  • Sécurisation du endpoint : Votre URL de réception doit être en HTTPS et capable de vérifier les signatures.

  • Surveillance : Contrôlez fréquemment l’activité des webhooks pour détecter toute tentative suspecte.

  • Documentation : Tenez un registre des tokens d’authentification et des endpoints associés pour faciliter les vérifications ou les dépannages.

Last updated

Was this helpful?