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

如何用Python脚本通过客户账单邮箱获取WooCommerce订单及客户ID

通过账单邮箱获取WooCommerce订单的Python解决方案

一、直接通过账单邮箱筛选订单

你之前的代码问题在于订单筛选参数格式错误,WooCommerce REST API的订单端点接受billing_email作为直接筛选参数,而非嵌套的billing.email结构。修正后的代码如下:

from woocommerce import API

wcapi = API(
    url="https://siteexample.com",
    consumer_key="ck_xxx",
    consumer_secret="cs_xxx",
    version="wc/v3"
)

# 直接通过账单邮箱获取对应订单
orders = wcapi.get("orders", params={"billing_email": "example@email.com"}).json()
print(orders)

二、先通过邮箱获取客户ID,再用客户ID获取订单

如果需要先拿到客户ID,再查询该客户的订单,可以分两步调用API:

  1. 调用customers端点,通过邮箱筛选出对应客户,提取客户ID
  2. 用客户ID作为参数,调用orders端点获取订单

代码示例:

from woocommerce import API

wcapi = API(
    url="https://siteexample.com",
    consumer_key="ck_xxx",
    consumer_secret="cs_xxx",
    version="wc/v3"
)

# 1. 通过邮箱获取客户信息(WooCommerce默认客户邮箱唯一)
customer_data = wcapi.get("customers", params={"email": "example@email.com"}).json()

if customer_data:
    customer_id = customer_data[0]["id"]
    # 2. 通过客户ID获取订单
    customer_orders = wcapi.get("orders", params={"customer": customer_id}).json()
    print(f"客户ID:{customer_id}")
    print(f"该客户的订单:{customer_orders}")
else:
    print("未找到该邮箱对应的客户")

注意事项

  • 确保你的API密钥拥有读取订单和读取客户的权限,否则会返回权限错误
  • WooCommerce默认限制客户邮箱唯一,因此customers接口返回的结果列表通常只有一个元素

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:22:08