寻找有关实现此业务流程所需的Magento API调用序列的建议:
我知道SOAP API,我正在寻求帮助,以了解在制定此过程的过程中需要采取哪些措施。
答案 0 :(得分:3)
以下是Magento API如何用于您的案例的基本示例:
通过API
连接到Magento $ user =' apiUser&#39 ;; $ password =' apiKey';
$ proxy = new SoapClient(' http://your_magento_host.com/api/v2_soap/?wsdl');
$ sessionId = $ proxy->登录($ user,$ password);
创建或选择客户
//创建客户
$ 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';
创建购物车
$ cartId = $ proxy-> shoppingCartCreate($ sessionId,1);
$ proxy-> shoppingCartCustomerSet($ sessionId,$ cartId,$ customer);
选择产品(by sku)
$ filter = array(
' complex_filter' =>阵列(
阵列(
'键' => ' SKU&#39 ;,
'值' =>数组('键' =>'在','值' =>' T-SHIRT001')
)
));
$ productList = $ proxy-> catalogProductList($ sessionId,$ filter);
$ product =(array)$ productList [0];
$ product [' qty'] = 1;
将产品添加到购物车
$ proxy-> shoppingCartProductAdd($ sessionId,$ cartId,array($ product));
设置结算/送货地址。如果您以前创建过这个地址,则应将此地址添加到客户。
$ 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);
设置送货方法
$ proxy-> shoppingCartShippingMethod($ sessionId,$ cartId,' flatrate_flatrate');
设置付款方式。
$ 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);
下订单
$ orderId = $ proxy-> shoppingCartOrder($ sessionId,$ cartId,null,null);
现在查看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