SuperAPI AI 工具集

woocommerce-webhooks

编程与开发

查看项目

更新于 10-15 14:31

技能介绍

用途

WooCommerce Webhooks 技能用于接收和验证来自 WooCommerce 商店的 Webhook 请求。适用于以下场景:搭建 WooCommerce Webhook 处理器、调试签名验证失败、理解 WooCommerce 事件类型与负载结构、处理订单/商品/客户事件,以及将外部系统与 WooCommerce 商店集成。

主要能力

该技能提供跨框架的签名验证与 Webhook 处理器示例代码,涵盖 JavaScript、Express、Next.js(App Router)和 FastAPI。核心验证逻辑使用 HMAC SHA256 对原始请求体计算摘要,并以 base64 编码后与请求头中的签名进行安全比较(timingSafeEqual / compare_digest)。

技能列出了常见事件类型及其触发时机与典型用途:

  • order.created:新订单创建,用于发送确认邮件、更新库存
  • order.updated:订单状态变更,用于跟踪履约、发送通知
  • order.deleted:订单删除,用于清理外部系统
  • product.created:商品新增,用于同步到外部目录
  • product.updated:商品修改,用于更新价格与库存
  • customer.created:新客户注册,用于欢迎邮件、CRM 同步
  • customer.updated:客户信息变更,用于更新资料与偏好

使用方式

  1. 配置环境变量:WOOCOMMERCE_WEBHOOK_SECRET=your_webhook_secret_key
  2. 在处理器中读取请求头 X-WC-Webhook-Signature 与 X-WC-Webhook-Topic
  3. 使用原始请求体(raw body)进行签名验证,验证失败返回 400
  4. 验证通过后解析 JSON 负载并处理对应事件

WooCommerce Webhook 请求头包括:X-WC-Webhook-Signature(HMAC SHA256 签名,base64)、X-WC-Webhook-Topic(事件类型)、X-WC-Webhook-Resource(资源类型)、X-WC-Webhook-Event(动作)、X-WC-Webhook-Source(商店 URL)、X-WC-Webhook-ID(Webhook ID)、X-WC-Webhook-Delivery-ID(唯一投递 ID)。

本地开发可使用 Hookdeck CLI 进行测试,无需账号:

npx hookdeck-cli listen 3000 woocommerce --path /webhooks/woocommerce

该命令提供本地隧道与用于检查请求的 Web UI。

适用场景

适合需要将 WooCommerce 商店事件接入自有后端服务的开发者,例如订单同步、库存更新、客户数据同步到 CRM、外部目录同步等。

限制

资料未提供该技能的具体收费、价格、平台支持范围或性能效果等信息。签名验证必须使用原始请求体,若框架已解析请求体则需特别处理。生产环境建议配合 webhook-handler-patterns 技能实现幂等性、错误处理与重试逻辑。