api

Recevoir les événements en temps réel.

Webhooks

Événements disponibles

  • member.joined — nouveau membre rejoint un groupe
  • member.left — membre quitte
  • course.enrolled — inscription à un cours
  • course.completed — cours terminé à 100%
  • certificate.issued — certificat émis
  • post.published — nouveau post publié
  • payment.received — paiement reçu
  • event.created — événement créé
  • event.rsvp — RSVP à un événement

Configurer un webhook

Settings du groupe → Intégrations → + Webhook

  • URL HTTPS du destinataire
  • Événements à recevoir
  • Secret HMAC généré automatiquement (affiché 1 fois)

Format du payload

{
  "event": "member.joined",
  "groupId": "uuid",
  "timestamp": "2026-05-27T14:00:00Z",
  "data": { "userId": "...", "email": "...", "firstname": "..." }
}

Vérification de signature

Header reçu : X-Komunitya-Signature: sha256=<hex>

const expected = "sha256=" + crypto.createHmac("sha256", secret).update(rawBody).digest("hex")
const ok = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(received))

Retry

Échec → retry avec backoff exponentiel (max 5 tentatives sur 24h).