近期在對接快遞接口,公司使用了第三方快遞接口擷取快遞資料,這邊由于業務需求,有可能會對已取号的快遞電子面單做出處理
為此自己東拉西扯總算完善了接口
當然 詳細的明細還得各位有使用的朋友,自己去檢視所提供的api
----------------------------------------------------------僅限資料未發貨的快遞電子面單
話不多直接上代碼------------當然所能取消的快遞的電子面單 是有限制的
1 /// <summary>
2 /// 取消已取号未揀貨的運單
3 /// </summary>
4 public class ExpressOrderCancel
5 {
6 /// <summary>
7 /// 快遞公司編碼
8 /// </summary>
9 public string ShipperCode { get; set; }
10 /// <summary>
11 /// 訂單編号
12 /// </summary>
13 public string OrderCode { get; set; }
14 /// <summary>
15 /// 快遞單号
16 /// </summary>
17 public string ExpNo { get; set; }
18
19 /// <summary>
20 /// 電子面單客戶号
21 /// </summary>
22 public string CustomerName { get; set; }
23 /// <summary>
24 /// 電子面單密碼
25 /// </summary>
26 public string CustomerPwd { get; set; }
27 }
28
29 /// <summary>
30 /// 取消電子面單---------------------------
31 /// </summary>
32 /// <param name="orderData"></param>
33 /// <returns></returns>
34 public ReturnOrderCancel orderCancelByJson(ExpressOrderCancel orderData)
35 {
36 orderData.CustomerName = CustomerName;//快遞公司的賬戶ID
37 orderData.CustomerPwd = CustomerPwd;//快遞公司的賬戶密碼
38 orderData.ShipperCode = ExpressCode;//快遞公司編碼
39 string requestData = JsonConvert.SerializeObject(orderData);
40 Dictionary<string, string> param = new Dictionary<string, string>();
41 param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));
42 param.Add("EBusinessID", EBusinessID);//快遞鳥商戶ID
43 param.Add("RequestType", "1147");
44 string dataSign = encrypt(requestData, AppKey, "UTF-8");
45 param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));
46 param.Add("DataType", "2");
47 string CelURL = "http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderhandle.aspx";
48 string result = sendPost(CelURL, param);
49 try
50 {
51 ReturnOrderCancel eorder = JsonConvert.DeserializeObject<ReturnOrderCancel>(result);
52 return eorder;
53 }
54 catch (Exception)
55 {
56 ReturnOrderCancel ere = JsonConvert.DeserializeObject<ReturnOrderCancel>(result);
57
58 return ere;
59 }
60 }