通过Api将一个Magento商店的产品销售给其他Magento网站?

时间:2013-03-15 06:01:21

标签: php magento

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

2 个答案:

答案 0 :(得分:0)

  1. Magento有一个肥皂服务器,您可以在“Magento Admin”中配置它以与任何肥皂客户端配合使用。

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

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

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

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

    在此示例中,我们将添加一个已满的角色“API Full Access” 访问所有资源。在现实生活中你应该做一个 彻底研究权限就足够的角色 为了你的目标。添加可以访问和修改所有的API用户 资源开辟了一些额外的安全风险。

    创建角色后,我们需要创建一个API用户。浏览到 系统,然后是Web服务,然后是SOAP / XML-RPC角色。新用户的需求 当然是用户名和API密钥(可以看作是 密码)。记下此用户名和API密钥,因为它们是 我们需要在SOAP客户端中配置的详细信息。我们假设 用户名“soaper”在这里。在保存新用户之前,请确保 选择了正确的用户角色(“API Full Acccess”)。

  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(      阵列( 'somestuff.method'),      array('somestuff.method','arg1'),      array('somestuff.method',array('arg1','arg2')) ));

    //如果您不再需要会话 $客户端 - > endSession($会议);

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

答案 1 :(得分:0)

如果您要使用SOAP,请查看有关如何使用SOAP的文章: http://inchoo.net/ecommerce/magento/magento-api-v2-soap-unit-testing/

还请看一下这个,以便在必要时扩展SOAP API: http://inchoo.net/ecommerce/magento/magento-api-v2/

当然,我还有一个要读:http://inchoo.net/ecommerce/magento/magento-v2-soap-demystified/