Magento扩展,以公开新的SOAP API端点


Magento extension to expose new SOAP API endpoint

我正在将Magento与Ruby应用程序集成,并且我正在使用XML-RPC API,但我面临一个问题,我只能修改Magento API代码来解决。

问题是,我想列出ProductAttribute,但我需要"label"字段随结果而来默认的API响应不包括我需要的'label'字段:

array
  0 =>
    array
      'attribute_id' => string '71' (length=2)
      'code' => string 'name' (length=4)
      'type' => string 'text' (length=4)
      'required' => string '1' (length=1)
      'scope' => string 'store' (length=5)

这将解决我的问题,如果我有访问每个Magento商店,我是如何扩展Magento API catalog_product集成。包含更多产品信息XML-RPC…

但是我需要与任何 Magento商店集成,我没有访问每个Magento商店服务器。

集成应该对Magento商店所有者透明,理想的情况是只有xml-rpc用户名和api密钥并使用他们的api,但由于api不提供我需要的一切,我需要一个实用的解决方案,比如在每个商店上安装一个扩展,将与我的应用程序集成。这导致我如下:

是否有可能构建一个Magento扩展,它可以暴露一个新的API端点,返回我需要的所有信息?或者对于这种情况是否有其他解决方案?

你可以让一个poolback文件改变你想要的文件,假设你可以使用链接的解决方案来解决你的问题,方向只是改变文件的一些行:'app'code'core'Mage'Catalog'Model'Product'Api.php

你可以创建一个覆盖这个模型的模块来完成任务,你可以用一个新的API方法创建一个新的模块来捕获你需要的东西,我将解释一些解决方案:创建一个poolback,只需输入以下文件:

'app'code'core'Mage'Catalog'Model'Product'Api.php

复制并置入:

'app'code'local'Mage'Catalog'Model'Product'Api.php

所以你可以改变你想要的,可以打包发送给你的客户。

可以应用此解决方案创建一个新的API模型和新方法,请查看此链接。

最后从product中覆盖Api模型,查看此链接