2013-03-21 154 views
4

我试图从我的magento商店检索所有客户,但只有那些在其账户中激活订阅新闻的客户。magento soap api v2 - 获取客户新闻订阅

问题:我无法弄清楚如何过滤这个属性(“通讯”,有没有?)。

我:

$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); 

这将返回所有客户。 任何想法如何通过通讯订阅过滤?

回答

4

新闻订阅存储是一个单独的模块。 Mage_Newsletter。 该模块似乎没有任何API覆盖范围,但是如果您在newsletter_subscriber数据库表中看到一个快速高峰,您将看到也是客户的订户具有与其相关的外键。

我可能会考虑添加一个属性Mage_Customer,其中包含订阅状态,添加观察者到订阅和取消订阅事件来更新它。

然后,我会将此属性添加到Mage_Customer API中,以便在抓取客户时可以通过它进行过滤。

观察员订阅事件:https://stackoverflow.com/a/12991195/2205881Adding a custom field to Magento's subscription module

扩展版API:http://inchoo.net/ecommerce/magento/magento-api-v2/