我正在尝试从我的 magento 商店中检索所有客户,但仅限那些在其帐户中激活了时事通讯订阅的客户。
问题:我不知道如何过滤这个属性(“newsletter”,有吗?)。
我得到了:
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$params = array(
'sessionId' => $session_id,
'filters' => null
);
$allCustomers = $proxy->customerCustomerList($params);
这将返回所有客户。 有什么想法可以通过时事通讯订阅来过滤吗?
最佳答案
时事通讯订阅存储在一个单独的模块中。 Mage_Newsletter
。
该模块似乎没有任何 API 覆盖范围,但是如果您快速查看 newsletter_subscriber
数据库表,您会看到同时也是客户的订阅者有一个与他们相关的外键。
我可能会考虑向保存订阅状态的 Mage_Customer
添加一个属性,向订阅和取消订阅事件添加一个观察者以更新它。
然后我会考虑将这个属性添加到 Mage_Customer
API,这样我就可以在抓取客户时根据它进行过滤。
订阅事件的观察者:https://stackoverflow.com/a/12991195/2205881和 Adding a custom field to Magento's subscription module
扩展 v2 API:http://inchoo.net/ecommerce/magento/magento-api-v2/
关于php - magento soap api v2 - 通过时事通讯订阅获得客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550619/