setup-zoom-webhooks

Par anthropics · knowledge-work-plugins

Compétence de référence pour les webhooks Zoom. À utiliser après le routage vers un workflow événementiel lors de l'implémentation d'abonnements, de la vérification de signature, de la gestion des livraisons, des nouvelles tentatives ou de la sélection de types d'événements.

npx skills add https://github.com/anthropics/knowledge-work-plugins --skill setup-zoom-webhooks

/setup-zoom-webhooks

Référence contextualisée pour la livraison d'événements Zoom via HTTP. Préférez d'abord les workflow skills, puis utilisez ce fichier pour vérifier les détails de souscription et de livraison.

Prérequis

  • App Zoom avec Event Subscriptions activée
  • Endpoint HTTPS pour recevoir les webhooks
  • Token secret webhook pour la vérification

Besoin d'aide avec l'authentification ? Consultez la skill zoom-oauth pour la configuration OAuth.

Démarrage rapide

// Gestionnaire webhook Express.js
const crypto = require('crypto');

// Capturer le corps brut pour la vérification de signature (éviter la re-sérialisation JSON).
app.use(require('express').json({
  verify: (req, _res, buf) => { req.rawBody = buf; }
}));

app.post('/webhook', (req, res) => {
  // Vérifier la signature du webhook
  const signature = req.headers['x-zm-signature'];
  const timestamp = req.headers['x-zm-request-timestamp'];
  const body = req.rawBody ? req.rawBody.toString('utf8') : JSON.stringify(req.body);
  const payload = `v0:${timestamp}:${body}`;
  const hash = crypto.createHmac('sha256', WEBHOOK_SECRET)
    .update(payload).digest('hex');

  if (signature !== `v0=${hash}`) {
    return res.status(401).send('Invalid signature');
  }

  // Gérer l'événement
  const { event, payload } = req.body;
  console.log(`Received: ${event}`);

  res.status(200).send();
});

Événements courants

Événement Description
meeting.started La réunion a démarré
meeting.ended La réunion a pris fin
meeting.participant_joined Un participant a rejoint la réunion
recording.completed L'enregistrement cloud est prêt
user.created Un nouvel utilisateur a été ajouté

Références détaillées

Dépannage

Dépôts d'exemples

Officiels (par Zoom)

Type Dépôt Stars
Node.js webhook-sample 34
PostgreSQL webhook-to-postgres 5
Go/Fiber Go-Webhooks -
Header Auth zoom-webhook-verification-headers -

Communauté

Langage Dépôt Description
Laravel binary-cats/laravel-webhooks Gestionnaire webhook Laravel
AWS Lambda splunk/zoom-webhook-to-hec Serverless vers Splunk HEC
Node.js Will4950/zoom-webhook-listener Redirecteur webhook
Express+Redis ojusave/eventSubscriptionPlayground Socket.io + Redis

Exemples multi-langages (par tanchunsiong)

Langage Dépôt
Node.js Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-NodeJS
C# Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-ASP.NET-Core-C-
Java Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Java-Spring-Boot
Python Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Python
PHP Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-PHP

Liste complète : Consultez general/references/community-repos.md

Ressources

Variables d'environnement

Skills similaires