使用Magento API集成多渠道销售

时间:2014-07-22 15:59:14

标签: magento

寻找有关实现此业务流程所需的Magento API调用序列的建议:

  1. 卖家通过外部渠道(而非常规网店面)提供库存项目(物理或虚拟/数字)。
  2. 客户直接向我发起付款,而无需通过Magento购物车/结账流程(此时我可以查询销售税吗?)
  3. 付款完成后,我想触发Magento后处理逻辑来记录销售,管理库存等。
  4. 对于实物商品,我想触发Magento履行逻辑来创建货件等。
  5. 我知道SOAP API,我正在寻求帮助,以了解在制定此过程的过程中需要采取哪些措施。

2 个答案:

答案 0 :(得分:3)

以下是Magento API如何用于您的案例的基本示例:

  1. 通过API

    连接到Magento

    $ user =' apiUser&#39 ;; $ password =' apiKey';
    $ proxy = new SoapClient(' http://your_magento_host.com/api/v2_soap/?wsdl');
    $ sessionId = $ proxy->登录($ user,$ password);

  2. 创建或选择客户

    //创建客户
    $ customerList = $ proxy-> customerCustomerCreate($ sessionId,
    array(
    ' email' =>' customer@gmail.com',
    '名字' =>'将','姓氏' =>'史密斯',&& #39;密码' =>' qwerty',
    ' website_id' => 1,
    ' store_id' => ; 1,
    ' group_id' => 1
    ));
    $ customer =(array)$ customerList [0];
    $ customer [' mode'] =' customer';

    //或选择现有客户(通过电子邮件)
    $ filter = array(
        ' complex_filter' =>阵列(
            阵列(
                '键' => '电子邮件&#39 ;,
                '值' =>数组('键' =>'在','值' =>' customer@gmail.com')
            )     )); $ customerList = $ proxy-> customerCustomerList($ sessionId,$ filter);
    $ customer =(array)$ customerList [0];
    $ customer [' mode'] =' customer';

  3. 创建购物车

    $ cartId = $ proxy-> shoppingCartCreate($ sessionId,1);
    $ proxy-> shoppingCartCustomerSet($ sessionId,$ cartId,$ customer);

  4. 选择产品(by sku)

    $ filter = array(
        ' complex_filter' =>阵列(
            阵列(
                '键' => ' SKU&#39 ;,
                '值' =>数组('键' =>'在','值' =>' T-SHIRT001')
            )     )); $ productList = $ proxy-> catalogProductList($ sessionId,$ filter);
    $ product =(array)$ productList [0];
    $ product [' qty'] = 1;

  5. 将产品添加到购物车

    $ proxy-> shoppingCartProductAdd($ sessionId,$ cartId,array($ product));

  6. 设置结算/送货地址。如果您以前创建过这个地址,则应将此地址添加到客户。

    $ address = array(
            阵列(
                '模式' => '航运&#39 ;,
                '姓名' => $顾客['姓名'],
                '姓' => $顾客['名字'],
                '街道' => '街道地址',
                '城市' => '城市&#39 ;,
                '区域' => '区域&#39 ;,
                '电话' => '电话号码',
                '邮编' => '邮编&#39 ;,
                ' COUNTRY_ID' => '国家/地区ID',
                ' is_default_shipping' => 0,
                ' is_default_billing' => 0
            ),
            阵列(
                '模式' => '计费&#39 ;,
                '姓名' => $顾客['姓名'],
                '姓' => $顾客['名字'],
                '街道' => '街道地址',
                '城市' => '城市&#39 ;,
                '区域' => '区域&#39 ;,
                '电话' => '电话号码',
                '邮编' => '邮编&#39 ;,
                ' COUNTRY_ID' => '国家/地区ID',
                ' is_default_shipping' => 0,
                ' is_default_billing' => 0
            )     );

    $ proxy-> shoppingCartCustomerAddresses($ sessionId,$ cartId,$ address);

  7. 设置送货方法

    $ proxy-> shoppingCartShippingMethod($ sessionId,$ cartId,' flatrate_flatrate');

  8. 设置付款方式。

    $ paymentMethod = array(
            ' PO_NUMBER' =>空,
            '方法' => ' checkmo&#39 ;,
            ' cc_cid' =>空,
            ' cc_owner' =>空,
            ' CC_NUMBER' =>空,
            ' CC_TYPE' =>空,
            ' cc_exp_year' =>空,
            ' cc_exp_month' =>空
        );

    $ proxy-> shoppingCartPaymentMethod($ sessionId,$ cartId,$ paymentMethod);

  9. 下订单

    $ orderId = $ proxy-> shoppingCartOrder($ sessionId,$ cartId,null,null);

  10. 现在查看Magento管理区域中的Sales->订单,您将看到新订单。
    更多详情:http://www.magentocommerce.com/api/soap/introduction.html

答案 1 :(得分:0)

是的,您可以获取有关税的信息:

1)没有订单保存。第9步:

$result = $proxy->shoppingCartTotals($sessionId, $cartId);<br>
var_dump($result);

您会看到一系列小计,税金,折扣和总数。

2)订单节省。第10步:

$result = $proxy->salesOrderInfo($sessionId, $orderId);<br>
var_dump($result);

// cancel order<br>
$result = $proxy->salesOrderCancel($sessionId, $orderId);

此处有关使用过的API调用的更多信息:
http://www.magentocommerce.com/api/soap/checkout/cart/cart.totals.html
http://www.magentocommerce.com/api/soap/sales/salesOrder/sales_order.info.html
http://www.magentocommerce.com/api/soap/sales/salesOrder/sales_order.cancel.html