Aller au contenu principal

Gestion des webhooks

Configuration via l'interface web uniquement

Les webhooks doivent être créés et configurés depuis l'interface web du dashboard par un utilisateur avec le rôle STAFF (ADMIN ou OWNER).

Cette page de référence API est maintenue pour documentation, mais les endpoints ne sont pas accessibles via les clés API classiques.

Cette section documente les endpoints internes utilisés par l'interface web pour gérer les webhooks.

Accès requis

  • Connexion authentifiée via l'interface web
  • Rôle ADMIN ou OWNER

Lister les webhooks

curl https://mc-prd.duckdns.org/api/v1/staff/webhooks \
-H "X-API-Key: YOUR_API_KEY"

Réponse 200:

{
"data": [
{
"id": "wh_123",
"url": "https://votre-app.com/webhooks/moncreneau",
"events": ["appointment.created", "appointment.cancelled"],
"secret": "whsec_xxxxx",
"active": true,
"createdAt": "2026-01-10T12:00:00Z"
}
]
}

Créer un webhook

curl -X POST https://mc-prd.duckdns.org/api/v1/staff/webhooks \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://votre-app.com/webhooks/moncreneau",
"events": ["appointment.created"],
"secret": "votre_secret_webhook"
}'

Mettre à jour un webhook

curl -X PUT https://mc-prd.duckdns.org/api/v1/staff/webhooks/wh_123 \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"events": ["appointment.created", "appointment.cancelled", "appointment.updated"],
"active": true
}'

Supprimer un webhook

curl -X DELETE https://mc-prd.duckdns.org/api/v1/staff/webhooks/wh_123 \
-H "X-API-Key: YOUR_API_KEY"

Tester un webhook

curl -X POST https://mc-prd.duckdns.org/api/v1/staff/webhooks/wh_123/test \
-H "X-API-Key: YOUR_API_KEY"

Réponse 200:

{
"success": true,
"httpStatus": 200,
"responseTime": 320,
"message": "Webhook test successful"
}

Événements disponibles

  • appointment.created - Nouveau rendez-vous créé
  • appointment.updated - Rendez-vous modifié
  • appointment.cancelled - Rendez-vous annulé
  • appointment.confirmed - Rendez-vous confirmé

Voir Webhooks pour plus de détails.