【发布时间】:2013-03-16 14:04:32
【问题描述】:
如何将我的 Magento 商店中的产品销售到其他 Magento 网站(具有不同的数据库、域)。使用 SOAP API 或任何其他方式。
【问题讨论】:
-
你会从这个网站magento.stackexchange.com得到更好的帮助
如何将我的 Magento 商店中的产品销售到其他 Magento 网站(具有不同的数据库、域)。使用 SOAP API 或任何其他方式。
【问题讨论】:
Magento 有soap 服务器,您可以在“Magento 管理员”中配置它以与任何soap 客户端一起使用。
Magento 没有内置soap客户端来与另一个magento作为服务器通信。
为了实现目标,您必须为 magento 构建自定义模块。
设置 SOAP 帐户:首先您需要一个特殊的 SOAP 的代理用户。在您的应用程序中,您将构建一个 SOAP-client 和这个客户端的行为和普通的一样 浏览器。它将请求 Magento 中的某个“页面” 应用程序,但因为此页面只有在您拥有 适当的权限,您需要创建一个用户帐户。
在我们创建实际用户之前,我们需要为 这个用户第一。以管理员身份登录管理面板,然后 浏览到系统,然后是 Web 服务,然后是 SOAP/XML_RPC 角色。创建一个新角色 并选择此角色授予访问权限的资源。
在本例中,我们将添加一个角色“API 完全访问”,该角色具有完全 访问所有资源。在现实生活中你应该做一个 深入研究哪个角色和哪个权限就足够了 为你的目标。添加可以访问和修改所有 API 的 API 用户 资源会带来一些额外的安全风险。
创建角色后,我们需要创建一个 API 用户。浏览至 系统,然后是 Web 服务,然后是 SOAP/XML-RPC 角色。新的用户需求 当然是一个用户名和一个 API 密钥(可以看作是 密码)。记下此用户名和 API 密钥,因为它们是 我们需要在 SOAP 客户端中配置的详细信息。我们将假设 这里的用户名“soaper”。在保存新用户之前,请确保 选择了正确的用户角色(“API 完全访问权限”)。
创建 SOAP 客户端:
client = new SoapClient('http://mymagentohost/api/soap?wsdl');
// 如果有些东西需要api认证, // 然后获取会话令牌 $session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'somestuff.method'); $result = $client->call($session, 'somestuff.method', 'arg1'); $result = $client->call($session, 'somestuff.method', array('arg1', 'arg2', 'arg3')); $result = $client->multiCall($session, array( 数组('somestuff.method'), 数组('somestuff.method','arg1'), 数组('somestuff.method',数组('arg1','arg2')) ));
// 如果您不再需要会话 $client->endSession($session);
要阅读有关如何创建soap客户端的更多信息,请尝试此链接 http://www.magentocommerce.com/api/soap/introduction.html!
【讨论】: