import com.chinaums.open.api.OpenApiCache;
import com.chinaums.open.api.OpenApiContext;
import com.chinaums.open.api.constants.ConfigBean;
import com.chinaums.open.api.internal.util.http.HttpTransport;
import java.util.UUID;
public class OpenApiSdkTest {
public static void main(String[] args) throws Exception{
String url = "/v1/express/merchant/order/update";
//开发者ID
String appId = "平台分配";
//开发者秘钥
String appKey = "平台分配";
//实例化客户端
ConfigBean configBean = new ConfigBean();
OpenApiContext context = new OpenApiContext();
String request = "{\"MemberID\":\"\",
\"MemberPwd\":\"\",
\"ShipperCode\":\"\",
\"LogisticCode\":\"\",
\"OrderCode\":\"\",
\"IsAutoBill\":\"\",
\"PayType\":\"\",
\"ExpType\":\"\",
\"Cost\":\"\",
\"OtherCost\":\"\",
\"Receiver\":\"{\"Company\":\"\",\"Name\":\"\",\"Tel\":\"\",\"Mobile\":\"\",\"PostCode\":\"\",\"ProvinceName\":\"\",\"CityName\":\"\",\"ExpAreaName\":\"\",\"Address\":\"\"}\",
\"Sender\":\"{\"Company\":\"\",\"Name\":\"\",\"Tel\":\"\",\"Mobile\":\"\",\"PostCode\":\"\",\"ProvinceName\":\"\",\"CityName\":\"\",\"ExpAreaName\":\"\",\"Address\":\"\"}\",
\"StartDate\":\"\",
\"EndDate\":\"\",
\"Weight\":\"\",
\"Quantity\":\"\",
\"Volume\":\"\",
\"Remark\":\"\",
\"Commodity\":\"{\"GoodsName\":\"\",\"GoodsCode\":\"\",\"GoodsQuantity\":\"\",\"GoodsPrice\":\"\",\"GoodsWeight\":\"\",\"GoodsDesc\":\"\",\"GoodsVol\":\"\"}\"}";
context.setStartTime(System.currentTimeMillis());
context.setRequestId(UUID.randomUUID().toString().replace("-", ""));
context.setOpenServUrl(url.split("/v")[0].concat("/"));
context.setApiServiceUrl(url);
context.setVersion(url.split("/")[3]);
context.setAppId(appId);
context.setAppKey(appKey);
context.setConfigBean(configBean);
context.setServiceCode(url.split("/v")[1].substring(1));
OpenApiCache.getCurrentToken(context);
System.out.println(HttpTransport.getInstance().doPost(context, request));
}
}
<?php
require_once "../utils/Log.php";
require_once "../utils/Tools.php";
require_once "../DefaultOpenApiClient.php";
class DataRequest
{
public $url = "";
public $serviceCode = "";
public $apiVersion ="";
public $needToken = true;
public $needDataTag = false;
public $data;
function __construct($data, $url)
{
$this->data = $data;
$apiVersion = preg_split("/[/]+/s",$url)[2];
$this->apiVersion = $apiVersion;
$serviceCode = strstr($url,$apiVersion);
$this->url = strstr($url,"/".$apiVersion,true);
$this->serviceCode = preg_replace("/^" . preg_quote($apiVersion, "/") . "/", "", $serviceCode);
}
}
class DataDemo{
public function main(){
$appid = "平台分配";
$appkey = "平台分配";
$url = "/v1/express/merchant/order/update";
$data = json_encode(array("MemberID"=>"",
"MemberPwd"=>"",
"ShipperCode"=>"",
"LogisticCode"=>"",
"OrderCode"=>"",
"IsAutoBill"=>"",
"PayType"=>"",
"ExpType"=>"",
"Cost"=>"",
"OtherCost"=>"",
"Receiver"=>"{"Company"=>"","Name"=>"","Tel"=>"","Mobile"=>"","PostCode"=>"","ProvinceName"=>"","CityName"=>"","ExpAreaName"=>"","Address"=>""}",
"Sender"=>"{"Company"=>"","Name"=>"","Tel"=>"","Mobile"=>"","PostCode"=>"","ProvinceName"=>"","CityName"=>"","ExpAreaName"=>"","Address"=>""}",
"StartDate"=>"",
"EndDate"=>"",
"Weight"=>"",
"Quantity"=>"",
"Volume"=>"",
"Remark"=>"",
"Commodity"=>"{"GoodsName"=>"","GoodsCode"=>"","GoodsQuantity"=>"","GoodsPrice"=>"","GoodsWeight"=>"","GoodsDesc"=>"","GoodsVol"=>""}"));
$reqiest = new DataRequest($data,$url);
$client = new DefaultOpenApiClient();
$content = $client->execute($reqiest,$appid,$appkey);
$obj = json_decode($content);
print_r($obj->errCode);
print_r($obj->errInfo);
}
}
$p = new DataDemo();
$p->main();
?>
# -*- coding: utf-8 -*-
from webapi.DefaultOpenApiClient import DefaultOpenApiClient
url = "/v1/express/merchant/order/update"
class DataRequest(object):
def __init__(self, data: dict) -> dict:
self.data = data
self.serviceCode = url[len(url.split("/v")[0])+len(url.split("/")[3])+1: len(url)]
self.apiVersion = url.split("/")[3]
self.needToken = True
self.needDataTag = True
appId="平台分配"
appKey="平台分配"
client = DefaultOpenApiClient(appId, appKey)
cls = DataRequest({\"MemberID\":\"\",
\"MemberPwd\":\"\",
\"ShipperCode\":\"\",
\"LogisticCode\":\"\",
\"OrderCode\":\"\",
\"IsAutoBill\":\"\",
\"PayType\":\"\",
\"ExpType\":\"\",
\"Cost\":\"\",
\"OtherCost\":\"\",
\"Receiver\":\"{\"Company\":\"\",\"Name\":\"\",\"Tel\":\"\",\"Mobile\":\"\",\"PostCode\":\"\",\"ProvinceName\":\"\",\"CityName\":\"\",\"ExpAreaName\":\"\",\"Address\":\"\"}\",
\"Sender\":\"{\"Company\":\"\",\"Name\":\"\",\"Tel\":\"\",\"Mobile\":\"\",\"PostCode\":\"\",\"ProvinceName\":\"\",\"CityName\":\"\",\"ExpAreaName\":\"\",\"Address\":\"\"}\",
\"StartDate\":\"\",
\"EndDate\":\"\",
\"Weight\":\"\",
\"Quantity\":\"\",
\"Volume\":\"\",
\"Remark\":\"\",
\"Commodity\":\"{\"GoodsName\":\"\",\"GoodsCode\":\"\",\"GoodsQuantity\":\"\",\"GoodsPrice\":\"\",\"GoodsWeight\":\"\",\"GoodsDesc\":\"\",\"GoodsVol\":\"\"}\"})
response = client.execute(cls)
print(str(response.get("data")))
print(response.get("errCode"))
print(response.get("errInfo"))
print(response.get("resultCode"))
print(response.get("resultInfo"))
订单更新接口
URL
- 生产环境:
POST
https://api-mop.chinaums.com/v1/express/merchant/order/update
描述:订单更新接口
ContentType:application/json
请求头
名称 | 必填 | 描述 | 示例值 |
---|---|---|---|
Authorization | 是 | 认证内容 | OPEN-BODY-SIG AppId="****",Timestamp="20170606135700",Nonce="99930a147f5353dd8a8f29a5329f37e9",Signature="IPmdGHYCcfN+mto0/02zkwoUF1NT3YqPKaUykMaec1T=" |
请求参数
名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
MemberID | string | 是 | - | 商家ID | |
MemberPwd | string | 是 | - | 商家密码 | |
ShipperCode | string | 是 | - | 快递公司编码 | |
LogisticCode | string | 否 | - | 快递单号 | |
OrderCode | string | 是 | - | 订单编号 | |
IsAutoBill | string | 是 | - | 是否是电子面单(0普通面单,1电子面单) | |
PayType | number | 是 | - | 邮费支付方式: 1-现付,2-到付,3-月结,4-第三方支付 | |
ExpType | string | 是 | - | 快递类型:1-标准快件 2-当日达(11点前下单) 3-零担业务 4-调货业务(宝尊专用) | |
Cost | number | 否 | - | 寄件费(运费) | |
OtherCost | number | 否 | - | 其他费用 | |
Receiver | object | 是 | |||
Company | string | 否 | - | 收件人公司 | |
Name | string | 是 | - | 收件人 | |
Tel | string | 是 | - | 电话与手机,必填一个 | |
Mobile | string | 是 | - | 电话与手机,必填一个 | |
PostCode | string | 否 | - | 收件人邮编 | |
ProvinceName | string | 是 | - | 收件省(如广东省,不要缺少“省”) | |
CityName | string | 是 | 64 | 收件市(如深圳市,不要缺少“市”) | |
ExpAreaName | string | 是 | 64 | 收件区(如福田区,不要缺少“区”或“县”) | |
Address | string | 是 | 64 | 收件人详细地址 | |
Sender | object | 是 | |||
Company | string | 否 | 64 | 发件人公司 | |
Name | string | 是 | 64 | 发件人 | |
Tel | string | 是 | 64 | 电话与手机,必填一个 | |
Mobile | string | 是 | 64 | 电话与手机,必填一个 | |
PostCode | string | 否 | 64 | 发件人邮编 | |
ProvinceName | string | 是 | 64 | 发件省(如广东省,不要缺少“省”) | |
CityName | string | 是 | 64 | 发件市(如深圳市,不要缺少“市”) | |
ExpAreaName | string | 是 | 64 | 发件区(如福田区,不要缺少“区”或“县”) | |
Address | string | 是 | 64 | 发件详细地址 | |
StartDate | string | 否 | 64 | 上门取货时间段: "yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同 | |
EndDate | string | 否 | 64 | 上门取货时间段: "yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同 | |
Weight | number | 否 | 64 | 物品总重量kg | |
Quantity | number | 否 | 64 | 件数/包裹数 | |
Volume | number | 否 | 64 | 物品总体积m3 | |
Remark | string | 否 | 64 | 备注 | |
Commodity | object | 是 | |||
GoodsName | string | 是 | 64 | 商品名称 | |
GoodsCode | string | 否 | 64 | 商品编码 | |
GoodsQuantity | number | 否 | 64 | 件数 | |
GoodsPrice | number | 否 | 64 | 商品价格 | |
GoodsWeight | number | 否 | 64 | 商品重量kg | |
GoodsDesc | string | 否 | 64 | 商品描述 | |
GoodsVol | number | 否 | 64 | 商品体积m3 |
响应示例
{
"UmsbillNo":"",
"Order":
{
"OrderCode":"",
"ShipperCode":"",
"LogisticCode":"",
"MarkDestination":"",
"OriginCode":"",
"OriginName":"",
"DestinatioCode":"",
"DestinatioName":"",
"SortingCode":"",
"PackageCode":"",
"PackageName":"",
"CityNumber":""
},
"Success":false,
"ResultCode":"",
"Reason":""
}
响应参数
名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
UmsbillNo | string | 是 | 64 | 大华订单号 | |
Order | object | 是 | |||
OrderCode | string | 是 | 64 | OrderCode | |
ShipperCode | string | 是 | 64 | 快递公司编码 | |
LogisticCode | string | 是 | 64 | 快递单号 | |
MarkDestination | string | 是 | 64 | 大头笔 | |
OriginCode | string | 是 | 64 | 始发地区域编码 | |
OriginName | string | 是 | 64 | 始发地/始发网点 | |
DestinatioCode | string | 是 | 64 | 目的地区域编码 | |
DestinatioName | string | 是 | 64 | 目的地/到达网点 | |
SortingCode | string | 是 | 64 | 分拣编码 | |
PackageCode | string | 是 | 64 | 集包编码 | |
PackageName | string | 是 | 64 | 集包名称 | |
CityNumber | string | 是 | 64 | 城市编码 | |
Success | boolean | 是 | 64 | 成功与否 | |
ResultCode | string | 是 | 64 | 错误编码 | |
Reason | string | 是 | 64 | 失败原因 |