Как отфильтровать подписки по электронной почте подписчика? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть приложение Laravel, которое потребляет REST API подписок WooCommerce . Мне нужно найти все активные подписки для конкретного пользователя, на который у меня есть только электронная почта (не идентификатор).

Фильтрация подписок по статусу «активные» работает нормально. Однако я не могу заставить фильтр по электронной почте пользователя работать. Когда я говорю «пользователь», я имею в виду пользователя, который купил продукт по подписке. Этот пользователь является клиентом, и я мог бы попытаться использовать конечную точку [Клиенты] (https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-customers), Я знаю, но, поскольку продукт является «продуктом подписки», WordPress назначает роль «Подписчик» вместо «Клиент»). роль этому пользователю. Это препятствует тому, чтобы пользователь был указан в конечной точке клиентов.

Я попытался использовать параметр «фильтр» при перечислении подписок, но не смог заставить его работать. не против сделать два разных звонка, чтобы добиться того, чего я хочу, но я бы предпочел сделать один, чтобы ускорить мою заявку.

Итак, вот мои вопросы:

  1. Можно ли использовать параметр фильтра для фильтрации подписчиков по электронной почте? Если да, то как?

  2. Как мне получить информацию о подписчике с помощью WooCommerce API? Есть ли варианты?

  3. Надежно ли использовать платежный адрес в подписках (после того, как я получу все активные)? Я имею в виду, что пользователь может изменить свою электронную почту позже, что неизмените платежный адрес (верно?), и это приведет к неверному результату в моем заявлении.

  4. Вы видите или предлагаете какое-либо другое решение моей проблемы?

Спасибо за вашу помощь и время.

1 Ответ

0 голосов
/ 11 октября 2019

Ну, я изучил API, о которых упомянул немного больше, и смог решить свою проблему. Вот как я это сделал, так как это может быть полезно для других людей ...

Я обнаружил, что WooCommerce не возвращает подписчиков через конечную точку customers, поскольку значение по умолчанию для опции roleэто customer. После того, как я предоставил опцию role, установленную на all, в сочетании с опцией email, я смог получить только нужного мне клиента / подписчика. Теперь, имея идентификатор клиента / подписчика, я смог получить активные подписки, используя конечную точку subscriptions, используя параметр customer вместе с параметром status, установленным на active.

Я надеюсь, что это когда-нибудь пригодится кому-то.

...