帮助开发者配置 Zoom Webhooks 的订阅、验签、事件处理与重试流程。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "setup-zoom-webhooks" 技能: 1. 下载 https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/webhooks/SKILL.md 2. 保存为 ~/.claude/skills/webhooks/SKILL.md 3. 装好后重载技能,告诉我可以用了
请说明如何为 Zoom Webhooks 设计订阅流程,包括选择事件类型、配置回调地址、保存密钥以及上线前检查项。
一份配置订阅的实施步骤清单,涵盖事件选择、端点配置和上线准备。
请给我一个 Zoom Webhooks 验签实现方案,说明请求头、签名计算逻辑、时间戳校验和常见失败处理方式。
一份验签实现说明,可直接用于开发安全的 webhook 接收端。
请为 Zoom Webhooks 设计消息投递失败后的重试、去重和幂等处理方案,并说明日志与告警建议。
一套可靠性处理方案,帮助系统稳定接收并处理重复或失败的事件。
Background reference for Zoom event delivery over HTTP. Prefer workflow skills first, then use this file for verification, subscription, and delivery details.
Need help with authentication? See the zoom-oauth skill for OAuth setup.
// Express.js webhook handler
const crypto = require('crypto');
// Capture raw body for signature verification (avoid re-serializing JSON).
app.use(require('express').json({
verify: (req, _res, buf) => { req.rawBody = buf; }
}));
app.post('/webhook', (req, res) => {
// Verify webhook signature
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');
}
// Handle event
const { event, payload } = req.body;
console.log(`Received: ${event}`);
res.status(200).send();
});
| Event | Description |
|---|
meeting.started | Meeting has started |
meeting.ended | Meeting has ended |
meeting.participant_joined | Participant joined meeting |
recording.completed | Cloud recording ready |
user.created | New user added |
| Type | Repository | Stars |
|---|---|---|
| Node.js | webhook-sample | 34 |
| PostgreSQL | webhook-to-postgres | 5 |
| Go/Fiber | Go-Webhooks | - |
| Header Auth | zoom-webhook-verification-headers | - |
| Language | Repository | Description |
|---|---|---|
| Laravel | binary-cats/laravel-webhooks | Laravel webhook handler |
| AWS Lambda | splunk/zoom-webhook-to-hec | Serverless to Splunk HEC |
| Node.js | Will4950/zoom-webhook-listener | Webhook forwarder |
| Express+Redis | ojusave/eventSubscriptionPlayground | Socket.io + Redis |
…
围绕客户问题进行多来源调研与溯源,快速整理背景并支持准确回复。
帮助开发者实现 Zoom Meeting SDK 入会、鉴权与平台集成流程。