如何按订阅者的电子邮件筛选订阅?



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

按状态"活动"筛选订阅可以正常工作。但是,我无法通过用户电子邮件进行过滤器工作。当我说用户时,我指的是购买订阅产品的用户。我知道这个用户是一个客户,我可以尝试使用[客户]端点(https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-customers(,但由于该产品是"订阅产品",WordPress将"订阅者"角色而不是"客户"角色分配给该用户。这会阻止用户列在"客户"终结点中。

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

所以,这是我的问题:

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

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

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

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

感谢您的帮助和时间。

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

我发现WooCommerce没有通过customers端点返回订阅者,因为role选项的默认值是customer。一旦我提供了设置为allrole选项,结合email选项,我只能检索我需要的客户/订户。现在,拥有客户/订阅者 ID,我能够使用subscriptions终结点使用customer选项以及设置为activestatus选项获取活动订阅。

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

最新更新