如何按订阅者的电子邮件过滤订阅?

How do I filter subscriptions by a subscriber's email?

我有一个 Laravel 应用程序正在消耗 WooCommerce Subscriptions REST API。我需要找到特定用户的所有活动订阅,我只有电子邮件(没有 ID)。

按状态 "active" 过滤订阅效果很好。但是,我无法使用用户电子邮件过滤器。当我说用户时,我指的是购买订阅产品的用户。这个用户是客户,我可以尝试使用 [Customers] 端点(https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-customers),我知道,但是由于产品是 "subscription product",WordPress 分配 "Subscriber" 角色而不是该用户的 "Customer" 角色。这可以防止用户在客户端点中列出。

我试图在列出订阅时使用 "filter" 参数,但我无法让它工作。另外,我不介意进行两次不同的调用来实现我想要的,但我宁愿进行一次来加速我的应用程序。

所以,这是我的问题:

  1. 是否可以使用过滤参数过滤邮件订阅者?如果是,如何?

  2. 如何使用 WooCommerce API 检索订阅者信息?有什么选择吗?

  3. 在订阅中使用账单地址是否可靠(在我检索所有有效的之后)?我的意思是,用户以后可能会更改他的电子邮件,这不会更改帐单地址(对吗?),这会在我的应用程序中给出错误的结果。

  4. 您是否看到或建议了我的问题的任何其他解决方案?

感谢您的帮助和时间。

好吧,我稍微研究了一下我提到的 API,并且能够解决我的问题。这是我的做法,因为这可能对其他人有用...

我发现 WooCommerce 没有通过 customers 端点返回订阅者,因为 role 选项的默认值为 customer。一旦我将 role 选项设置为 all,结合 email 选项,我就能够只检索我需要的 customer/subscriber。现在,拥有 customer/subscriber id,我能够使用 subscriptions 端点使用 customer 选项以及 status 选项设置为 active.

我希望有一天这对某人有用。