0

如何将我的 Magento 商店中的产品销售到其他 Magento 网站(具有不同的数据库、域)。使用 SOAP API 或任何其他方式。

4

1 回答 1

0
  1. Magento 有肥皂服务器,您可以在“Magento 管理员”中配置它以与任何肥皂客户端一起使用。

  2. Magento 没有内置soap客户端来与另一个magento作为服务器进行通信。

  3. 为了实现您的目标,您必须为 magento 构建自定义模块。

  4. 设置 SOAP 帐户:首先,您需要一个特殊的 SOAP 代理用户。在您的应用程序中,您将构建一个 SOAP 客户端,该客户端的行为与常规浏览器有点相同。它将请求 Magento 应用程序中的某个“页面”,但由于该页面只有在您拥有适当的权限时才能访问,因此您需要创建一个用户帐户。

    在我们创建实际用户之前,我们需要先为这个用户创建一个角色。以管理员身份登录 Admin Panel 并浏览到 System,然后是 Webservices,然后是 SOAP/XML_RPC Roles。创建一个新角色并选择此角色授予访问权限的资源。

    在此示例中,我们将添加一个角色“API 完全访问”,该角色具有对所有资源的完全访问权限。在现实生活中,您应该彻底研究哪个角色具有哪些权限足以实现您的目标。添加可以访问和修改所有资源的 API 用户会带来一些额外的安全风险。

    创建角色后,我们需要创建一个 API 用户。浏览到 System,然后是 Webservices,然后是 SOAP/XML-RPC Roles。新用户当然需要一个用户名和一个 API 密钥(可以看作是密码)。记下这个用户名和 API 密钥,因为这些是我们需要在 SOAP 客户端中配置的详细信息。我们将在这里假设用户名“soaper”。在保存新用户之前,请确保选择了正确的用户角色(“API 完全访问”)。

  5. 创建 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( array('somestuff.method'), array('somestuff.method', 'arg1'), array('somestuff.method', array('arg1', 'arg2')) ));

    // 如果不再需要会话 $client->endSession($session);

    要阅读有关如何创建肥皂客户端的更多信息,请尝试此链接 http://www.magentocommerce.com/api/soap/introduction.html

于 2013-03-15T07:19:32.713 回答