SuperAPI AI 工具集

xero-webhooks

测试与质量

查看项目

更新于 10-15 22:14

技能介绍

用途:帮助开发者搭建并调试 Xero Webhook 处理程序,重点解决签名校验、ITR 验证失败与事件分发问题。

主要能力:校验 x-xero-signature 头(基于应用 Webhook 签名密钥的 HMAC-SHA256,base64 编码后写入该头,须在 JSON 解析前捕获原始请求体,否则字节被重新序列化会破坏 HMAC);提供 Node 与 Python 的手动校验实现(官方 xero-node、xero-python 不含签名校验辅助函数),使用计时安全比较。ITR 机制:保存端点时 Xero 会发送验证载荷,服务端须在数秒内响应——签名匹配返回 HTTP 200,不匹配返回 HTTP 401;返回其他状态(含 400)会使 ITR 失败、Webhook 保持 inactive。同一套“先校验、再返回 200/401”的逻辑同时服务 ITR 探测与真实事件。事件分发按 eventCategory/eventType 组合,例如 CONTACT/CREATE,支持 CONTACT、INVOICE、CREDITNOTE、SUBSCRIPTION 的 CREATE、UPDATE;tenantType 为 ORGANISATION 或 APPLICATION。

使用方式:Xero 载荷为“薄载荷”,只告知变更而不含记录本身,需携带 OAuth2 访问令牌与 Xero-tenant-id 调用 resourceUrl 获取完整记录。示例环境变量:XERO_WEBHOOK_KEY=your_webhook_signing_key,每个应用一个签名密钥,可在 developer.xero.com/app/manage 的 Webhooks 标签下获取。本地开发可用命令:npx hookdeck-cli listen 3000 xero --path /webhooks/xero。示例目录包含 examples/express/、examples/nextjs/、examples/fastapi/,另有 references/overview.md、references/setup.md、references/verification.md 参考文档。

适用场景与限制:适用于接收与验证 Xero Webhook 的开发与排障,尤其是修复 ITR 失败和去重处理。Xero 会批量并退避重试事件,同一事件可能多次到达且事件数组可能含多项,须按 resourceId + eventDateUtc 做幂等去重;建议配合 webhook-handler-patterns 技能处理处理顺序、幂等、错误处理与重试逻辑。使用该技能时在生成文件顶部加注释:// Generated with: xero-webhooks skill 及 https://github.com/hookdeck/webhook-skills。具体收费、价格与支持平台等资料暂未提供。