Magento 1 API:order.list无效

时间:2016-01-28 16:59:55

标签: php api magento soap

我正在使用SOAP来使用Magento 1 API。它在我尝试使用sales_order.info时有效。但是当我试图收到销售清单时," NULL"退回。到目前为止,我只使用了Magento的示例代码,这就是为什么我想知道为什么它不起作用。

$mage_url = 'https://myhost/api/?wsdl'; 
$mage_user = '######'; 
$mage_api_key = '#######'; 
$client = new SoapClient( $mage_url ); 
$session = $client->login( $mage_user, $mage_api_key );

//WORKING:
$sale = $client->call($session, 'sales_order.info', '416203797');
$firstname = $sale['customer_firstname'];
echo $firstname;  

//NOT WORKING:
$result = $client->call($session, 'sales_order.list');
var_dump ($result); <-- (result is 'NULL')

有人知道为什么吗?

1 个答案:

答案 0 :(得分:0)

检查以下答案并根据您的要求进行更改。我为我的API做了这个代码,它的工作非常完美。这里我有“sales_order.list”和“sales_order.info”的代码。您可以根据自己的要求获取代码。

<?php
error_reporting(E_ALL); 

ini_set(“display_errors”,1);

$config=array();
$config["hostname"] = "www.yoursitename.com";
$config["login"] = "username";
$config["password"] = "password";

$proxy = new SoapClient('http://'.$config["hostname"].'/index.php/api/soap/?wsdl', array('trace'=>1));
$sessionId = $proxy->login($config["login"], $config["password"]);

$result = array();
$orderlist = ($proxy->call($sessionId, 'sales_order.list', array(array('customer_id'=>array('eq'=>$_REQUEST['customer_id'])))));
$order = ($proxy->call($sessionId, 'sales_order.info', array(array('order_info'=>array('eq'=>$_REQUEST['order'])))));
//echo '<pre>';
//print_r($orderlist);
//print_r($order);
//echo '</pre>';

//$result = json_encode($orderlist);

if($orderlist){
$result['success'] = true;
$result['available'] = $orderlist; 
$result['available'] = $order;
}
else{
$result['failed'] = false;
$result['not-available'] = error message;
}

echo json_encode($result);

?>