银联商务天满服务平台
Java PHP Python



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 失败原因

错误码