php - magento soap api v2 - 通过时事通讯订阅获得客户

标签 php magento soap

我正在尝试从我的 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/2205881Adding 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/

相关文章:

php - Predis 上 BLPOP 的正确语法是什么?

php - 创建两个几乎相同的数组

php - 简单调用以获取类别图像并显示在列表中

java - 从外部站点添加产品并从 Java 与 Magento 建立连接

java - 尝试使用 Spring-WS - "Connection timed out"访问 WS 服务器,但服务器在使用 SOAP UI 测试时响应

c# - 无法使用 C# Web 服务在 PHP 中将 stdClass 转换为 String

javascript - 如何获取 Bootstrap 模式的数据并发送 PHP

php - 让javascript函数基于PHP变量返回状态的好方法?

php - 未捕获的类型错误:传递给 Mage_Core_Model_Store_Group::setWebsite() 的参数 1 必须是 Mage_Core_Model_Website 的实例,给定 null

magento - 远程操作可配置产品选择下拉菜单