`
hudeyong926
  • 浏览: 2018268 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Magento API v1 之webservice

 
阅读更多

sales/etc/api.xml

<?xml version="1.0"?>
<config>
    <api>
        <resources>
            <sales_order translate="title" module="sales">
                <model>sales/order_api</model>
                <title>Order API</title>
                <acl>sales/order</acl>
                <methods>
                    <list translate="title" module="sales">
                        <title>Retrieve list of orders by filters</title>
                        <method>items</method>
                        <acl>sales/order/info</acl>
                    </list>
                    <info translate="title" module="sales">
                        <title>Retrieve order information</title>
                        <acl>sales/order/info</acl>
                    </info>
                </methods>
                <faults module="sales">
                    <not_exists>
                        <code>100</code>
                        <message>Requested order not exists.</message>
                    </not_exists>
                    <filters_invalid>
                        <code>101</code>
                        <message>Invalid filters given. Details in error message.</message>
                    </filters_invalid>
                    <data_invalid>
                        <code>102</code>
                        <message>Invalid data given. Details in error message.</message>
                    </data_invalid>
                    <status_not_changed>
                        <code>103</code>
                        <message>Order status not changed. Details in error message.</message>
                    </status_not_changed>
                </faults>
            </sales_order>
        </resources>
        <acl> <!-- 后台管理中显示权限 -->
            <resources>
                <sales translate="title" module="sales">
                    <title>Sales</title>
                    <sort_order>2</sort_order>
                    <order translate="title" module="sales">
                        <title>Order</title>
                        <change translate="title" module="sales">
                            <title>改变状态,添加备注</title>
                        </change>
                        <info translate="title" module="sales">
                            <title>获取订单信息</title>
                        </info>
                    </order>
                </sales>
            </resources>
        </acl>
    </api>
</config>

sales/model/order/api.php服务端代码 有<method>items</method>

public function items($filters = null){
..................
	return $result;
}
public function info($orderIncrementId){
..................
	return $result;
}

后台配置client的访问用户和权限,直接用api的方法

Mage::getModel('sales/order_api')->items();

 

系统->网络服务->用户

系统->网络服务->角色  角色资源

client端代码

public function actionView()
{
	define("TEST_API_URL", "http://www.test.com/api/?wsdl");
	$client  = new SoapClient(TEST_API_URL, array("trace" => 0, "exceptions" => 0));
	$client->soap_defencoding = 'utf-8';
	$client->decode_utf8 = false;

	$session = $client->login(API_USER,API_KEY); //需后台配置
	$order_id = Yii::app()->request->getParam('id');
	$result = $client->call($session, 'sales_order.list', array($order_id));
//print_r($result); 
	$client->endSession($session);
}
  • 大小: 9.5 KB
  • 大小: 22.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics