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/create";
//开发者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\":\"\",\"GoodsPremium\":\"12.2\"}]\",
\"Callback\":\"\",
\"ShippingMethod\":\"\",
\"DeliveryMethod\":\"\",
\"Premium\":\"\",
\"CollectionMethod\":\"\",
\"CollectCod\":\"\",
\"ReceiptRequire\":\"\"}";
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/create";
$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"=>"json_encode(array([{"GoodsName"=>"","GoodsCode"=>"","GoodsQuantity"=>"","GoodsPrice"=>"","GoodsWeight"=>"","GoodsDesc"=>"","GoodsVol"=>"","GoodsPremium"=>"12.2"}]))",
"Callback"=>"",
"ShippingMethod"=>"",
"DeliveryMethod"=>"",
"Premium"=>"",
"CollectionMethod"=>"",
"CollectCod"=>"",
"ReceiptRequire"=>""));
$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/create"
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\":\"\",\"GoodsPremium\":\"12.2\"}]\",
\"Callback\":\"\",
\"ShippingMethod\":\"\",
\"DeliveryMethod\":\"\",
\"Premium\":\"\",
\"CollectionMethod\":\"\",
\"CollectCod\":\"\",
\"ReceiptRequire\":\"\"})
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/create
描述:下单接口
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 | array | 是 | |||
GoodsName | string | 是 | 64 | 商品名称 | |
GoodsCode | string | 否 | 64 | 商品编码 | |
GoodsQuantity | number | 否 | 64 | 件数 | |
GoodsPrice | number | 否 | 64 | 商品价格 | |
GoodsWeight | number | 否 | 64 | 商品重量kg | |
GoodsDesc | string | 否 | 64 | 商品描述 | |
GoodsVol | number | 否 | 64 | 商品体积m3 | |
GoodsPremium | number | 否 | 64 | 商品保费 | 12.2 |
Callback | string | 否 | 64 | 回调内容 | |
ShippingMethod | string | 否 | 64 | 运输方式 1限时汽运 2大车直送 3普通汽运 4航空 | |
DeliveryMethod | string | 否 | 64 | 送货方式 1自提 2送货(不含上楼) 3送货上楼 | |
Premium | string | 否 | 64 | 保价金额 | |
CollectionMethod | string | 否 | 64 | 代收方式 1无 2即日退 3三日退 | |
CollectCod | string | 否 | 64 | 代收金额 | |
ReceiptRequire | string | 否 | 64 | 回单方式 1签回单 2不签回单 3签厂家回单 |
响应示例
{
"UmsbillNo":"",
"Order":
[
{
"OrderCode":"",
"ShipperCode":"",
"LogisticCode":"",
"MarkDestination":"",
"OriginCode":"",
"OriginName":"",
"DestinatioCode":"",
"DestinatioName":"",
"SortingCode":"",
"PackageCode":"",
"PackageName":"",
"CityNumber":""
}
],
"Success":false,
"ResultCode":"",
"Reason":""
}
响应参数
名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
UmsbillNo | string | 是 | 64 | 大华订单号 | |
Order | array | 是 | |||
OrderCode | string | 是 | 64 | 订单编号 | |
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 | 失败原因 |