You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将WooCommerce Webhook返回的JSON写入Cloud Firestore?

WooCommerce Webhook对接云函数操作指引

方案1:HTTP云函数接收Payload写入Firestore

操作步骤如下:

  • 初始化Firebase Cloud Functions项目,选择Node.js运行环境,安装firebase-admin、firebase-functions两个依赖包。
  • 编写云函数代码,示例如下:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();
const db = admin.firestore();

exports.woocommerceWebhook = functions.https.onRequest(async (req, res) => {
  // 仅处理POST请求
  if (req.method !== "POST") {
    return res.status(405).send("仅支持POST请求");
  }
  // 可选校验WooCommerce Webhook签名,提升安全性
  // const wcSignature = req.headers["x-wc-webhook-signature"];
  // 此处填入签名校验逻辑
  try {
    const payload = req.body;
    // 自定义集合名,将Payload写入Firestore
    await db.collection("woocommerce_records").add({
      data: payload,
      receive_time: admin.firestore.FieldValue.serverTimestamp()
    });
    return res.status(200).send("接收成功");
  } catch (err) {
    functions.logger.error("数据处理失败:", err);
    return res.status(500).send("服务内部错误");
  }
});
  • 部署云函数后,复制生成的HTTP触发URL,填入WooCommerce Webhook的目标投递地址,投递格式选择JSON即可完成配置。

方案2:Webhook直接投递到Cloud Storage的注意事项

调试失败通常是身份验证配置问题:

  • 直接投递需要在WooCommerce Webhook的请求头中添加Google Cloud OAuth2授权凭证,凭证需要持有目标存储桶的storage.objects.create权限,直接开放存储桶公共写入权限会存在极高安全风险,不推荐该操作。
  • 相比直接投递,更推荐走云函数中转,可先对Payload做格式校验、数据清洗后再写入存储,稳定性和安全性更高。

官方文档使用说明

你已找到的两份官方文档已经覆盖核心操作逻辑:HTTP触发云函数的编写规则参考Cloud Functions HTTP函数文档,云函数读写Firestore的API用法参考Firestore扩展云函数文档,参考对应示例代码调整适配即可。

内容的提问来源于stack exchange,提问作者Stephen Stilwell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:15:03