最近一客户需要在自己的电商中台中同步订单,下面把接口分享出来。
1)创建订单
function createNewOrder($params,$model_name)
{
$client = new xmlrpc_client($this->server . "object");
$client->return_type = 'phpvals';
$msg = new xmlrpcmsg('execute');
$nval = array();
foreach($params as $k=>$v){
$nval[$k] = new xmlrpcval( $v, xmlrpc_get_type($v) );
}
$msg->addParam(new xmlrpcval($this->database, "string")); /
$msg->addParam(new xmlrpcval($this->uid, "int"));
$msg->addParam(new xmlrpcval($this->password, "string"));
$msg->addParam(new xmlrpcval($model_name, "string"));
$msg->addParam(new xmlrpcval("create", "string"));
$msg->addParam(new xmlrpcval($nval, "struct"));
//$msg->addParam(new xmlrpcval($orderPrd, "struct"));
$resp = $client->send($msg);
//$order_id_line[] = $this->$resp->value()->scalarval();
if ($resp->errno != 0)
trigger_error("sock_execute error " . $resp->errstr);
return $resp->value();
}
2)创建订单行
function createOrderLine($params,$model_name){
$client = new xmlrpc_client($this->server . "object");
$client->return_type = 'phpvals';
$msg = new xmlrpcmsg('execute');
$msg->addParam(new xmlrpcval($this->database, "string")); /
$msg->addParam(new xmlrpcval($this->uid, "int"));
$msg->addParam(new xmlrpcval($this->password, "string"));
$msg->addParam(new xmlrpcval($model_name,"string"));
$msg->addParam(new xmlrpcval("create", "string"));
$msg->addParam(new xmlrpcval($params, "struct"));
$res = $client->send($msg);
return $res;
}