背景:我已经构建了一个工具,可以将销售订单从Magento导入自定义应用程序。函数salesOrderList()
在客户的Magento Go商店中运行良好。然后它在另一个顾客的商店失败了。原因是前店是1.6.x版,后者是1.5.x.函数调用在两个版本上返回了两个不同的数据结构(尽管是相同的API版本,即SOAP API V2),从而导致问题。所以我自定义了该工具以期望1.6.x数据结构,然后如果前者失败则回退到1.5.x.现在,我们有一个似乎拥有Magento 1.7版本的新客户。对于相同的函数(salesOrderList()
),数据结构似乎在1.7中再次发生了变化。
使用编程:.NET(C#); Magento SOAP API V2
问题:是否有函数调用来确定我们要连接的商店的Magento(1.5,1.6等)版本?我从另一篇文章中了解到,他们在PHP中直接在商店中使用了MAGE :: getVersion()调用(没有SOAP API)。使用SOAP API时是否存在.NET等价物?
PS :我发布了同样的问题(虽然不那么罗嗦)作为 user1236916 ,因为我暂时丢失了此帐户的登录信息。我为重复道歉。
谢谢!
答案 0 :(得分:1)
Magento核心API在默认情况下提供的调用中非常有限。没有调用可以立即返回Magento版本。
有关Magento核心API的更多信息,请访问official Magento site。
据说Magento API旨在扩展,并且这样做并不是太困难。您将需要创建一个扩展其中一个核心API资源的Magento模块(您需要在PHP中执行此操作并且可以访问Magento安装本身。)
有关如何扩展V2 Magento API的更多信息,请参阅this post。
在扩展API类中,简单地创建一个如下函数:
public function getVersion()
{
// static method to return the Magento version within the app
return Mage::getVersion();
}