C#实现丰密面单打印 顺丰隐私面单

发布时间:2020-08-10 20:25:40 作者:yanghanwen
来源:ITPUB博客 阅读:481

目录

1.完成前期准备工作

2.API接口

3.请求参数(Headers)

4.请求参数(Body)

5.返回参数(Return)

6.请求完整报文(示例)

7.成功返回报文(示例)

8.失败返回报文(示例)

9.分步讲解(C#版本)

10.顺丰电子面单打印模板内容(HTML)

11.关于签名

前言

丰密面单,就是隐藏了用户个人信息的顺丰快递面单。该面单可将寄、收件人名字、手机、地址等部分信息隐藏,让个人信息不再直接暴露。

我们先看2张面单效果图。

图一

C#实现丰密面单打印 顺丰隐私面单

  图一是一张二联150MM的电子面单模板,寄件人和收件人手机是可见的。

图二

C#实现丰密面单打印 顺丰隐私面单

 图二也是一张二联150MM的电子面单模板,寄件人和收件人手机是标星不看见的。这样的面单安全可靠,主要是保护客户隐私,强烈推荐客户使用,下面我们就来讲解实现过程。

1.完成前期准备工作

1.1,去快递鸟 免费注册一个对接账号

1.2,免费获得一个apiKey(接口权限验证需要)

1.3,完成实名认证流程

1.4,订购一个免费套餐

1.5,申请顺丰速运月结账号

      顺丰月结账号需要线下与当地顺丰分部签订收派合同,签定后顺丰会提供10位数字的顺丰月结账号,用于发货结算运费;

      注:快递鸟官网后台显示的信息和状态(如:“我的物流服务商”页面不显示顺丰或顺丰月结账号)并不影响接口的使用,也不需要在后台添加要使用的客户号,直接通过接口传值下单即可;

1.6, 准备打印机、打印纸

     电子面单模板对打印机品牌、型号等没有要求,只要是热敏打印机即可,常见品牌如:斑马、得力、快麦、汉印、佳博等。

     打印机可由快递网点提供或者在淘宝京东上购买,安装打印机及驱动程序联系打印机提供方;

      顺丰速运使用的打印纸有100mm*150mm(切点90/60)、100mm*180mm(切点110/70)、100mm*210mm(切点90/60/60)三种,

      打印纸可由快递网点提供或者在淘宝京东上购买,购买时可选择全白热敏       纸。

2.API接口

2.1,测试调用地址: http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

2.2,正式调用地址:http://api.kdniao.com/api/EOrderService

2.3,请求方式: POST

2.4,编码格式(utf-8): application/x-www-form-urlencoded;charset=utf-8

2.5,返回类型: JSON

2.6,调试页面: http://kdniao.com/UserCenter/v2/SandBox/TrackQuery.aspx

2.7,调试工具:去调试(使用快递鸟账号登录)

3.请求参数(Headers)

参数名称 类型 说明 必须要求
RequestData String 请求内容需进行URL(utf-8)编码,请求内容JSON格式,须和DataType一致 必填
EBusinessID String 用户ID,查看用户ID和ApiKey 必填
RequestType String 请求指令类型:1007 必填

DataSign String 签名数据,(Body+ApiKey)进行MD5加密,再进行Base64编码,最后进行URL(utf-8)编码 必填
DataType String 求、返回数据类型:2-json ,默认Json 选填

4.请求参数(Body)

参数名称 类型 说明 是否必须
MemberID String(50) ERP系统、电商平台等系统或平台类型用户的会员ID或店铺账号等唯一性标识,用于区分其用户 O
CustomerName String(50) 电子面单客户号,需要下载《快递鸟电子面单客户号参数对照表.xlsx》,参考对应字段传值 O
CustomerPwd String(30) O
SendSite String(30) O
SendStaff String(30) C
MonthCode String C
CustomArea String(500) 商家自定义区域 C
WareHouseID String(30) 发货仓编码 O
TransType Int(1) 运输方式 1- 陆运 2- 空运 不填默认为1 O
ShipperCode String(10) 快递公司编码 详细编码参考《快递鸟接口支持快递公司编码.xlsx》 R
LogisticCode String(30) 快递单号(仅宅急送可用) O
ThrOrderCode String(50) 第三方订单号 (ShipperCode为JD且ExpType为1时必填) C
OrderCode String(30) 订单编号(自定义,不可重复) R
PayType Int(1) 邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付(仅SF支持) R
ExpType String(2) 快递类型:1-标准快件 ,详细快递类型参考《快递公司快递业务类型.xlsx》 R
IsReturnSignBill Int(1) 是否要求签回单 1- 要求 0-不要求 O
OperateRequire String(20) 签回单操作要求(如:签名、盖章、身份证复印件等) O
Cost Cost Double(5) 快递运费 O
OtherCost Double(5) 其他费用 O
Receiver Company String(30) 收件人公司 O
Name String(30) 收件人 R
Tel String(20) 电话与手机,必填一个 R
Mobile String(20)
PostCode String(10) 收件人邮编 c
ProvinceName String(20) 收件省 (如广东省,不要缺少“省”;如是直辖市,请直接传北京、上海等; 如是自治区,请直接传广西壮族自治区等) R
CityName String(20) 收件市(如深圳市,不要缺少“市”; 如果是市辖区,请直接传北京市、上海市等) R
ExpAreaName String(20) 收件区/县(如福田区,不要缺少“区”或“县”) R
Address String(100) 收件人详细地址 R
Sender Company String(30) 发件人公司 O
Name String(30) 发件人 R
Tel String(20) 电话与手机,必填一个 R
Mobile String(20)
PostCode String(10) 发件地邮编(ShipperCode为EMS、YZPY、YZBK时必填) C
ProvinceName String(20) 发件省 (如广东省,不要缺少“省”; 如是直辖市,请直接传北京、上海等; 如是自治区,请直接传广西壮族自治区等) R
CityName String(20) 发件市(如深圳市,不要缺少“市; 如是市辖区,请直接传北京市、上海市等”) R
ExpAreaName String(20) 发件区/县(如福田区,不要缺少“区”或“县”) R
Address String(100) 发件人详细地址 R
IsNotice Int(1) 是否通知快递员上门揽件 0- 通知 1- 不通知 不填则默认为1 O
StartDate Date 上门取货时间段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同 O
EndDate Date O
Weight Double(10,3) 包裹总重量kg 当为快运的订单时必填,不填时快递鸟将根据各个快运公司要求传对应的默认值 C
Quantity Int(2) 包裹数(最多支持30件) 一个包裹对应一个运单号,如果是大于1个包裹,返回则按照子母件的方式返回母运单号和子运单号 R
Volume Double(20,3) 包裹总体积m3 当为快运的订单时必填,不填时快递鸟将根据各个快运公司要求传对应的默认值 C
Remark String(60) 备注 O
AddServices
AddService Name String(20) 增值服务名称
(数组形式,可以有多个增值服务)
C
Value String(30) 增值服务值 C
CustomerID String(30) 客户标识(选填) O
Commoditys
Commodity GoodsName String(100) 商品名称 R
GoodsCode String(100) 商品编码 O
Goodsquantity Int(5) 商品数量 O
GoodsPrice Double(10) 商品价格 O
GoodsWeight Double(10,3) 商品重量kg O
GoodsDesc String(50) 商品描述 O
GoodsVol Double(15,3) 商品体积m3 O
IsReturnPrintTemplate String(1) 返回电子面单模板:0-不需要;1-需要 O
IsSendMessage Int(1) 是否订阅短信:0-不需要;1-需要 O
TemplateSize String(10) 模板规格(默认的模板无需传值,非默认模板传对应模板尺寸)  

二联150丰密面单(TemplateSize传值15001)

三联210 丰密面单(TemplateSize传值21001)

二联150(默认模板,TemplateSize传值为空)

三联210(TemplateSize传值210)

二联180新(TemplateSize传值180)

O
PackingType Int(2) 包装类型(快运字段)默认为0; 0- 纸 1- 纤 2- 木 3- 托膜 4- 木托 99-其他 C
DeliveryMethod Int(1) 送货方式(快运字段)默认为0; 0- 自提 1- 送货上门(不含上楼) 2- 送货上楼 C

5.返回参数(Return)

参数名称 类型 说明 必须要求
EBusinessID String(10) 用户ID R
Order OrderCode String(30) 订单编号 R
ShipperCode String(10) 快递公司编码 R
LogisticCode String(400) 快递单号 R
MarkDestination String(20) 大头笔 O
OriginCode String(20) 始发地区域编码 O
OriginName String(20) 始发地/始发网点 O
DestinatioCode String(20) 目的地区域编码 O
DestinatioName String(20) 目的地/到达网点 O
SortingCode String(20) 分拣编码 O
PackageCode String(20) 集包编码 O
PackageName String(50) 集包地 O
DestinationAllocationCentre String(50) 目的地分类 O
Success Bool(10) 成功与否(true/false) R
SignWaybillCode String(15) 签回单单号 O
ResultCode String(5) 返回编码 R
Reason String(50) 失败原因 O
UniquerRequestNumber String(50) 唯一标识 R
PrintTemplate String 面单打印模板内容(html格式) O
EstimatedDeliveryTime Date 订单预计到货时间yyyy-mm-dd O
SubCount Int(5) 子单数量 O
SubOrders String(400) 子单单号 O
SubPrintTemplates String(2000) 子单模板内容(html格式) O
SignBillPrintTemplate String(2000) 签回单模板内容(html格式) O
ReceiverSafePhone String(20) 收件人安全电话 O
SenderSafePhone String(20) 收件人安全电话 O
DialPage String(50) 拨号页面网址(转换成二维码可扫描拨号) O

 

6.请求报文(示例)

{
                          "OrderCode": "012657018199",
                          "ShipperCode": "SF",
                          "PayType": 1,
                          "MonthCode": "1234567890",
                          "ExpType": 1,
                          "Cost": 1.0,
                          "OtherCost": 1.0,
                          "Sender": {
                            "Company": "LV",
                            "Name": "Taylor",
                            "Mobile": "15018442396",
                            "ProvinceName": "上海",
                            "CityName": "上海市",
                            "ExpAreaName": "青浦区",
                            "Address": "明珠路"
                          },
                          "Receiver": {
                            "Company": "GCCUI",
                            "Name": "Yann",
                            "Mobile": "15018442396",
                            "ProvinceName": "北京",
                            "CityName": "北京市",
                            "ExpAreaName": "朝阳区",
                            "Address": "三里屯街道"
                          },
                          "Commodity": [
                            {
                              "GoodsName": "鞋子",
                              "GoodsQuantity": 1,
                              "GoodsWeight": 1.0
                        },
                        {
                           "GoodsName": "衣服",
                           "GoodsQuantity": 1,
                           "GoodsWeight": 1.0
                        },
                          ],
                          "AddService": [
                            {
                              "Name": " INSURE ",
                              "Value": "1000"
                        },
                            {
                              "Name": "COD",
                              "Value": "1020"
    " CustomerID ": "1234567890"
                            }
                          ],
                          "Weight": 1.0,
                          "Quantity": 1,
                          "Volume": 0.0,
                          "Remark": "小心轻放"
                        }

7.成功返回报文(示例)

{
                            "EBusinessID": "1237100",
                            "Order": {
                              "OrderCode": "012657700387",
                              "ShipperCode": "HTKY",
                              "LogisticCode": "50002498503427",
                              "MarkDestination": "京-朝阳(京-1)",
                              "OriginCode": "200000",
                              "OriginName": "上海分拨中心",
                              "PackageCode": "北京"
                            },
                            "PrintTemplate":"打印模板HTML内容后面单独列出",
                            "EstimatedDeliveryTime":"2016-03-06",
                            "Success": true,
                            "ResultCode": "100",
                            "Reason": "成功"
                          }

 

8.失败返回报文(示例)




{
                             "EBusinessID": "1237100",
                             "ResultCode": "106",
                             "Reason": "该订单号已下单成功",
                             "UniquerRequestNumber":"5e66486b-8fbc-4131-b875-9b13d2ad1354"
                         }
说明:未实名认证,未订购套餐,套餐可用查询量已经用完 都会返回此报文信息

去实名认证 /  了解套餐详情

9.分步讲解(C#版本)

9.1,请求数据包结构

C#实现丰密面单打印 顺丰隐私面单

9.2,C#调用代码示例

技术支持:QQ:510997342
//电商ID
string eEBusinessID = "test1617571";
 //电商加密私钥,快递鸟提供,注意保管,不要泄漏
string appKey= "554343b2-7252-439b-b4eb-1af42c8f2175";
 //请求url
string reqURL = "http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json";
//请求指令 
string reqType="1007";
//2-json 
string dataType = "2"; 
//字符编码采用UTF-8 
string charset = "UTF-8"; 
//JSON字符串string 
string jsonStr = 
"{
 \"OrderCode\": \"012657018199\",
                          \"ShipperCode\": \"SF\",
                          \"PayType\": 1,
                          \"MonthCode\": \"1234567890\",
                          \"ExpType\": 1,
                          \"Cost\": 1.0,
                          \"OtherCost\": 1.0,
                          \"Sender\": {
                            \"Company\": \"LV\",
                            \"Name\": \"Taylor\",
                            \"Mobile\": \"15018442396\",
                            \"ProvinceName\": \"上海\",
                            \"CityName\": \"上海市\",
                            \"ExpAreaName\": \"青浦区\",
                            \"Address\": \"明珠路\"
                          },
                          \"Receiver\": {
                            \"Company\": \"GCCUI\",
                            \"Name\": \"Yann\",
                            \"Mobile\": \"15018442396\",
                            \"ProvinceName\": \"北京\",
                            \"CityName\": \"北京市\",
                            \"ExpAreaName\": \"朝阳区\",
                            \"Address\": \"三里屯街道\"
                          },
                          \"Commodity\": [
                            {
                              \"GoodsName\": \"鞋子\",
                              \"GoodsQuantity\": 1,
                              \"GoodsWeight\": 1.0
                        },
                        {
                           \"GoodsName\": \"衣服\",
                           \"GoodsQuantity\": 1,
                           \"GoodsWeight\": 1.0
                        },
                          ],
                          \"AddService\": [
                            {
                              \"Name\": \" INSURE \",
                              \"Value\": \"1000\"
                        },
                            {
                              \"Name\": \"COD\",
                              \"Value\": \"1020\"
                        \" CustomerID \": \"1234567890\"
                            }
                          ],
                          \"Weight\": 1.0,
                          \"Quantity\": 1,
                          \"Volume\": 0.0,
                          \"Remark\": \"小心轻放\"
                        }" ;
//把(jsonStr+APIKey)进行MD5加密
string md5Str=MD5(jsonStr + apiKey, charset);
//把md5Str 进行Base64编码
string base64Str=base64(md5Str,charset);
//进行URL编码 (utf-8)
string datasign = HttpUtility.UrlEncode(base64Str, charset); 
//请求报文参数 
string postStr = "RequestType=reqType&EBusinessID= eEBusinessID&RequestData=jsonStr 
&DataSign= datasign&DataType=dataType"; 
//通讯协议使用Http协议Post请求方式 返回轨迹数据
string post = SendPost(reqURL, postStr);
//获取到的post数据就是快递鸟返回的完整报文,接下来自己写一个解析json的方法就能获取到里面的字段信息。


9.3,C#调用方法

///<summary>
   /// 字符串MD5加密
   ///</summary>
   ///<param name="str">要加密的字符串</param>
   ///<param name="charset">编码方式</param>
   ///<returns>密文</returns>
   private string MD5(string str, string charset)
   {
       byte[] buffer = System.Text.Encoding.GetEncoding(charset).GetBytes(str);
       try
       {
           System.Security.Cryptography.MD5CryptoServiceProvider check;
           check = new System.Security.Cryptography.MD5CryptoServiceProvider();
           byte[] somme = check.ComputeHash(buffer);
           string ret = "";
           foreach (byte a in somme)
           {
               if (a < 16)
                   ret += "0" + a.ToString("X");
               else
                   ret += a.ToString("X");
           }
           return ret.ToLower();
       }
       catch
       {
           throw;
       }
   }
   /// <summary>
   /// base64编码
   /// </summary>
   /// <param name="str">内容</param>
   /// <param name="charset">编码方式</param>
   /// <returns></returns>
   private string base64(String str, String charset)
   {
       return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
}
/// <summary>
   /// Post方式提交数据,返回网页的源代码
   /// </summary>
   /// <param name="url">发送请求的 URL</param>
   /// <param name="postData">请求报文参数</param>
   /// <returns>远程资源的响应结果</returns>
   private string SendPost(string url, string postData)
   {
       string result = "";
       byte[] byteData = Encoding.GetEncoding("UTF-8").GetBytes(postData.ToString());
       try
       {
           HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
           request.ContentType = "application/x-www-form-urlencoded";
           request.Referer = url;
           request.Accept = "*/*";
           request.Timeout = 30 * 1000;
           request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152;
.NET CLR 3.5.30729)";
           request.Method = "POST";
           request.ContentLength = byteData.Length;
           Stream stream = request.GetRequestStream();
           stream.Write(byteData, 0, byteData.Length);
           stream.Flush();
           stream.Close();
           HttpWebResponse response = (HttpWebResponse)request.GetResponse();
           Stream backStream = response.GetResponseStream();
           StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));
           result = sr.ReadToEnd();
           sr.Close();
           backStream.Close();
           response.Close();
           request.Abort();
       }
       catch (Exception ex)
       {
           result = ex.ToString();
       }
       return result;
   }
 

10.顺丰电子面单打印模板内容(HTML)

<!DOCTYPE html> <html lang="zh-CN"> <!--100*150,90--> <head>     <meta charset="UTF-8">     <style>         * {             margin: 0;             padding: 0;             font-family: "simsun";     }         .print_paper {             font-size: 14px;             border: none;             border-collapse: collapse;             width: 375px;             margin-top: -1px;             table-layout: fixed;     }             .print_paper td {                 border: solid #000 1px;                 padding: 0 5px;     }         .table_first {             margin-top: 0;     }         .print_paper .x1 {             font-size: 32px;             font-weight: bold;             text-align: center;             letter-spacing: 5px;             line-height: 0.95;             font-family: "Microsoft YaHei";     }         .print_paper .x4 {             font-size: 20px;             font-weight: bold;             font-family: "Microsoft YaHei";     }         .print_paper .xx8 {             font-size: 8px;             line-height: 0.8;     }         .print_paper .xx10 {             font-size: 10px;     }         .print_paper .xx12 {             font-size: 12px;             font-weight: bold;     }         .print_paper .xx14 {             font-size: 14px;             font-weight: bold;             font-family: "SimHei";     }         .print_paper .xx16 {             font-size: 16px;             font-weight: bold;             font-family: "Microsoft YaHei";     }         .print_paper .xx48 {             font-size: 40px;             font-weight: bold;             text-align: center;             font-family: "Microsoft YaHei";     }         .no_border {             width: 100%;             height: 100%;             font-size: 14px;     }             .no_border td {                 border: none;                 vertical-align: top;     }         .print_paper .fwb {             font-weight: bold;     }         .print_paper .f24 {             font-family: "Arial";             font-size: 24pt;     }         .print_paper .f20 {             font-family: "Arial";             font-size: 20pt;     }         .print_paper .p0 {             padding: 0;     }     /*增加类*/             .print_paper .p0 .sp {                 position: absolute;                 left: 3px;                 top: 110px;     }         .print_paper .ovh {             overflow: hidden;     }         .print_paper .ov {             overflow: visible;     }         .print_paper .f10 {             font-size: 10px;     }         .print_paper .f13 {             font-size: 13px;     }         .print_paper .bln {             border-left: none;     }         .print_paper .brn {             border-right: none;     }     </style> </head> <body>     <table class="print_paper table_first">     <tr height="53">     <td>     <table class="no_border">     <tr>     <td style="vertical-align: middle;">     <img class="logo" height="35" alt=""                                  src="data:image/png;base64,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" />     </td>     <td style="vertical-align: middle;" colspan="2">     <!--&nbsp;-->     <div class="f20"                                  style="font-weight: bold;">     &nbsp;&nbsp;&nbsp;&nbsp;     </div>     </td>     <!--<td style="vertical-align:middle;">&nbsp;</td>-->     <td style="vertical-align: middle; text-align: right; position: absolute; left: 264px">     <img height="35" class="phone" alt=""                                  src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAA8CAMAAADWtUEnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhQTFRFIiIi1NTUjo6OsbGxYWFh7u7uAAAA////lVpTKwAABPNJREFUeNrsWYvO8yYM9Y30/d94NgZig5t+0/5NlfZFqpKcgDm+gA2F15df8Evwl+D3EUQi0YuIv5MgClx+CX8fQRaBye+6AITaVxFEufaLzj7UW0n8kvstoUyuLSUpNTrlAuFbggwHvwtksyHdn/CZIAZxsMKlRtPgcchIEAt+1jzxS1TwkSCXrqjRoHdWHXYViA6aUaGNCf6c4NTmRygUBN1+tOmyxSEvz1Cybu+7zyfWeGq3ceQJhfky3EgnwT624GGO5GS57UbRAF3qPpk4exUeUL7HaZBMuB6aLOJtd/KK5Ra1g8A9u+VcK65KgYBGbaUmSGHs04QpUvC1C2ofCEpJUHaCr+P5Jjis5uvy2yj0Dy2y7S/4E4LwgAZZPshhQQzObPJuqSkI4h3/H1wsD2jb/XdMEg5M+HommPzNeZHY8kD0JT+htGYf1csMhXUJi3wSOVEcgI6YOFKPFOv9gY5XX4WLhZqi+NPF0IInoIWgOAnOxhmnKllGVK7HVEfRm2fOm2PKitSZOguCt1loOb4V2Tyjd+SnMu8kaE4+VsKpEz5WOzjTJJ6FRWnBgFK1rBWTZARAf4UHm6zPOfQRUnMqQ7NCh/lGDIYgLAh3f6oHhaRIdnynl1zQFFkt23UrPW+0pczOeUCoSi1TC9XMy2VxCrYOarmK7/PXtiY3qGrfiMZelDwDR4gmC4+pANXuhD+lh3Cu6xnlzCnVSXU1vQKmmwvKnYmUOwIoaX9AUwJ4Q3CvOTlYForsMDyEfyOr/UOC2+IHbO1bN6y8LQCOL1TutFrp4htNvdpVEzxKBCBmeRuBKZRp09IriK3OHZO0QjFmA0k6QrVjv/fFB79RDGyZVOXxitgJ84auwqdA7ww1dr4rXcLzrviwX510y7zIZUVUo0dypXJffNrw8G9dFJRbPS4TdI3uW3J6c7LQ9q07yDZN6/1yWSlgqSe+0T66Lxpln1kcjVgczfCMPtoOxGYuTWXLjMl0UFajK/lBhovTLeUAeolUxfF3HGAi64Xt9fpWgr9HwL8Efwn+CYKWndo3E9RNi3y1BQH+axezpVHREg8vzXc43ynAsxIExLwZBXtBKx9IK1BNQ55Q5RIrSMXTv6VbWbdZ+1ltYf37aYCNDCyhiI/1oMkClUSXJlzqQ+lYEXZ+ICBN7E+UVbxqYtRB7QeqitEVq/SkJ22FxWFFcd6cn8kyla09W6ljD1eXdrpYzWYtzFzUbxdjH3LBLpR6CR1cDKavvjcznbg6vV1/6xqqoGZ3buM2FDPPdaVeNiS7vSVIh7TL0KIEYAylN3unCA8P9xrMXntxx20UP617vw3pOHXieUAGftQB68RDxpGz71a0F7tm/IYgmytoBp0+QPdFhOduZOiI9q8jNvOwSDdWbxQIoou1Pyd78KmtcYXY8HRzyZ8JvqzIUrn+X4R6VuMDMrwotuzi5YPuLZtiLzc+jsm3qlK5bzOqb4U+ERSbbHC5VLU7uUFu2DyvltItcSJo4zWxYAefWTaloU+SHgzaHYGbzlN1w7qBRac+y+ivrT4RJI9Rj4irn75QgtFZXymM55aHOydwZbyNE5zHuxBvONefzn60/0SwSV+tfFdoM4Fkg+0PSpb1eNtQpGmT3o5sVnsb9iMUFF+RxHOP33r/+YW8vZ1YaScM0v+VdPAnk8z/kyDRbz34PddfAgwAfP7m2QIPxogAAAAASUVORK5CYII=" />     </td>     </tr>     </table>     </td>     </tr>     </table>     <table class="print_paper">     <tr height="65">     <td class="p0" width="249" style="text-align: center;">     <img width="249px"                      src="data:image/gif;base64,R0lGODlh+gAtAPAAAAAAAP///ywAAAAA+gAtAEAI/wADCBxIsKDBgQASAhCYkKBChQ4hFnzIUCJFhAsxXmwYgGNEjxg/Zqy48WFGkBdJjuxoMmJFlRxTalwJ86RNkAdz6ty5s6RIlBJFqhwacmZMmwZlvpz586bFlTKjtix6tCROlldNIsVKk6fXrwd9GoUalClXoktrLs1aNu3ZsWpZCjUbd63Tql2Vcj2KFqzfv2Lrvp1rlWxTu0nbyqW79+7WvlKl2i2cmK1YvX8z6wzceC7hp0APL7aclyzQwnwZRy6bWmvf151HK9ZMe+JT0bApD14cN7XnopCnuua9e3Vo2bp/93Zau3nY23AZE01OfLhv6dVZC9/+27hh6KBLk/9uPds5bc7Dc4cPLvq6+u7b0Ws/rX3yetvjt2I2r1n+6srMFWcadKQlBh9qjwlI33F44QUggORdxV9/0Amml26SRefebm55t9yBAzLomHr52Tehef7NJ16AGX5I3HuqxVehgiF+12CAysXm4InNpUjfg2+1qGOCMAaHYIcq4ibbcgXiR2B5PH7l44BAUregfisaGOOR2f0YHWJDNtkejlFmNmWOGNanIZEcdlmji0a+SdWIbV7IXZtlSjljenXeJ6R1bNoJ4o1IemkhltSR+KSEefJ0JnZpHueimMDRSKibg9pIp50lgteomXtOpeh0ak6apW2ZwkmjkhHeh+ad+33/mtOjowZZ6pBuFWnpplRuqealnK7Yqqx+0drnjn/CeqpLvgLba5wiMrnsmrARO2uo/zlJqqS4vthnqt3GySqirkKqLKPWauumoWZZKeeGgjbLK4jj2rfjq5dBmW67ctbq7pi5fiuvqtkeai+Zig67b0/YJqnuv9R6Gy+08/paL3j3mpsvugvbOm6TEJsKJLMUE+ywwRgjfOyiXXXM78enhtwtpYW+e6e4Xy4Z5rSmcrywscFu+53I6pK8q8ns8tlqxgmT6/K11ymtWKRDz8wzpmumCC6YgNJstc/7Aj21n7cCGvDER4e7as5Lqxyswk8/3O/KQhtttsRjg3s3zig7/+v13bF2LDbI5V4J5qt637x237z+fW7LTw8ec+E2n533wGoXHBvXMo4cceA/N8xu3QICjDdbiWuNOeeJrgx33C+zPTayZSvrec1jql7ynNLe/jXkLkteJeWmO556w1vr3PXVgOsbetSi0m0rt837nrSM0F+fod/MPw673DAPn7HhOiOO+d6Lb65850V/7nzYoj/L7/iVn17a8dnLL/XBtRb/frrCkxv9/Gc9/WEvQZrbX8r65z6wATB++GJR7fJVQPwh8GTqaxsDewY8wUFQYxKknu3ah7usIW9162vd25z2vdgdinADdF8Fz6e4BEZPg9LznwOtFcDPxJBo5tsd+klsuL3GdW9jHXzeBTVHumRRkIRYk1b+kofDoDnpdd/r4fzIRD54XU6INcSgArlXQCS20IUZnF0Iq1Y9KGovPFNEYRXVCCEWOicgADs=" /> <span class="sp"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                style="font-size: 11px;display: none">1&nbsp;/&nbsp;1</span>     <br />     <div style="font-size: 11px; font-weight: bold;">     <span style="display: none">子单号&nbsp;&nbsp;555555555<br />母单号&nbsp;&nbsp;888888888888</span>     <span style="display: block;margin-top: 3px;">运单号&nbsp;&nbsp;5622033142418</span>     <span style="display: none;margin-top: 10px;">签回单号&nbsp;&nbsp;3552033142418</span>     </div>     </td>     <td class="xx16 p0">     <div style="height: 74px;">                     顺丰标快 <br /> <span class="xx10">目的地:</span>     <div class="f24">010</div>     </div>     </td>     </tr>     </table>     <table class="print_paper" height="50">     <tr>     <td width="50" style="padding: 0;" class="xx16 brn">收方:</td>     <td class="bln">     <div style="height: 59px; overflow: hidden;">                     北京北京市朝阳区******<br />     <span style="width: 297px;display: inline-block;">杨**&nbsp;&nbsp;1590****89</span>     </div>     </td>     </tr>     </table>     <table class="print_paper" height="58">     <tr>     <td rowspan="2" style="vertical-align: top;" class="f13">                 月结帐号:3434555 <br /> 支付方式:寄付月结 <br />     <div style="display: none">声明价值:0</div>     <div style="display: none">签单返回单号:${SignWaybillCode}</div>     <div style="display: none">操作要求:${OperateRequire}</div>     </td>     <td height="45">                 代收货款:¥0元<br />卡号:             </td>     </tr>     <tr>     <td>                 运费:-<br />费用合计:-             </td>     </tr>     </table>     <table class="print_paper" height="68" width="100%">     <tr>     <td class="xx14 brn" width="50" style="padding: 0; ">                 寄方:             </td>     <td class="ov bln" style="width: 136px;">     <div class="xx10" style="width: 115px; height: 66px;">     <div style="height: 40px; overflow: hidden">                         广东省东莞市清溪镇******                     </div>     <div style="width: 140px;overflow: hidden;">     <span style="width: 52px;display: inline-block;">鞋袜厂</span>13288****80                     </div>     <div class="xx10" style="margin-left: -45px; position: absolute;top: 337px;">原寄地:339</div>     </div>     </td>     <td class="xx10" width="86">                 收件员:<br />寄件日期:2020-02-05 11:34:24             </td>     <td class="xx10">                 收方签署:<br /> <br />日期:             </td>     </tr>     </table>     <table class="print_paper table_first" height="60">     <tr height="55">     <td>     <img class="logo" height="30"                      src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAA8CAMAAADWtUEnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhQTFRFtrW1YVxcAQEB/Pz8/f39/v7+AAAA////LcREfwAACbFJREFUeNrMWouW3SgMg9gO///HiyQbSOaxbU+33Zx25uYmJMLYsmymjf/50V7nER78FTFifxn8P/Drt706dPwcQMPh6n6cWl1ztzCL34bPcfw0QBcEs9Zaz2N+JExA/G0Af9GCtJ1NaNd1H8d1TZgTY/z7lP9bgA50rV+J6rqBM6EKY/hfAzjDI2A84rkEjzDvZcyrNx9wxW8cS+/8gbfvWyKOz66PFQYb4PR/H4fxyn7CKNCEOL6JlF8HiMiE++ABDl83jW6PAAa86yow99MLZdQJ0fz3AwS6ZcH52WvsBjht2q57WQ0uh/BVMCdqmbWNEd+9lovzM5R5zmRDewDELZNJWl9B25qd7IO4lnXnGs87reb+CjEyQRxnNXt/mu4xzIpy5+fAjzzBfS39b+Kbbx5a5C5wMc5lUvjMBZ6z6tNfCWMyd19H4+cWmOg8rC0aNU0x7yLbHsMixGukCeOLcNIMsFqR+lzfSwhFeC8XwmeMJD7cmXw+bHtrt86fkb/7Efwj+nLmZvSmNWzsMw6uk/mSAjhH4HF4u3GG9vKMeWJ5Me/E7ECKJ0C+aIJvsEAbffnz/TjDLNvm116+P6/jSnHcBOgF0E03zQANQJkGjUoaEQWQRoN5rpwdxtmleNLi4Vpv/Ambcdk6n+y0auMJ57CH5ShkiOk7ddKvw4LwwFsBimTsIBJmcic94QclBCA2BvrFUMBAGU33JlxeH0MLPb3v0oJftZoF0BiazktNfm55HfHbvAAOMQxMzGgiJigXE2XmNw42jSYSz+gSJCsmxeoy2KfTCeCQT1wFkJ5ZADP8NBN49BCQeWLIutuCWjfY5dQr08/sQRDDZOt84ALYLHWaHkRf8gRoL4DXBqhhwSW+GZtcA4WwQmM0RWtTwkVw4suW5DDoh36pvMSN8m/StZb4SmeyWgqu+bbgscRysacP1hMZPBkkojoQJADiWcoRJrauvAFOjta29OIwuut8WZgXwKQImlzr5ZYAm+KiZ8jQEBnFFcTzHTsJJBWLcmhB+na903NoMYDWZ2U5+W/n0wDCEyAPOU5aymnBHIRhkTSjG2U0DRuk/ppkDG8JscN0k/cVfHhPG5ZBep8Ar21BAsw4brXE8yMPeCw58BZD9CU5pmVIM5RufaQZahjplIYGBLc8wYJGWrCoY3jSTZdASAumm5VSkFHFLe8ozhXvYJCelu9F7zcTOgPoiGKHxJy/msgZq4h2lgkAML1F9pUtGz4hQZYFFW+N7BnRtQKgvgKIvI21SDbYNEMTTXu6lj6TYQGk8qFIIG/OcTBgpF1AMRNgeAEclVAyf1iGxGIs1AOjPLwzzLTEnvVfO4jaK4r1tJ5ZbbkJSE3DJE5oimkDsbT4mhYMW2u2ACqxTYcdxQvibAr+DbB8MHOWHyqhJ8Al2ngmx6xcXMM6dEzXvBqlXk8y1RJnwt8xgikq43kUQCezQwYWQH35uVhIefAJQJMFHmqmVCjcZl/IXBy2ABrMk0HSqDzNlgWpFpxZb0/IP5Nb8TCklfzWNVPotCfAl8xZ+ATQD5/yohlCtAMgBSclxIpsWfAtWJkNlmCd4YYMbpZn8DjmpGPYsEpUJd4ljaKIegOEjYrVLwrDBbBlNnP3zTNmjzo+2caTPiJ7FZJqroLDMoe/FL/n9wrO1W6BWIjt9OFS3FnDAU68ACp7lAUpywyEHwyhaS4LaSDUpqk81jWZ0sUqFCHwaOc0wYTSm9SkkbNkFJ9LTGnfM9t1EewLoB8AOadUZ7tAShxkAlNFYtKZdOHsAM1LZinnQHaf17IvH8w1qAK5v5a4yQBriXF7Vxl1tJpCj2GMDZYxSQlEM6x8YF7KGREfpssJZQY0VqAnzSDZU/DLiplTi2Ya8Lk/oxifkVL7zGL3qnVCVUQGb7E8FwcxMG9QvT0fgUzD9qNbTvU6tUemus2D8ytTY0QI+47i7BzacglakAAnzzKnkWObpXNl1X8tTSAHAyzvR8+iA7oigTSzAbpo5swkjBI6s1B0PwF6+vgzkyRAA8Bcm5LaZxOlpZ6g4egPE1DWxbjf4Vfd9oHVkg/uXByoySG1d5m3ltiW4y9tMfwAWAxL5QCA8shrF28U8fDgGWtaYvZWRgYvPdnOI4smI8CrVIaSdUjY9SOTcKJR8pbz8XOJpfwLYEUxvtBJqMgxBG+u2a3MM+r+ZgeB9yw749SD/MR5tCp/F8Dl6keMPCzIBb4SYPWAjiAheVvmHNbIKKG7yNmTJ0q5UxGkD+YrWZtK8F9cmkcUx2o+vRX1AfDqG6B7hWpP3UwYytDemaun40JA0LaVpBXdcmb4oN6SNYlVeZddy6pjE2DUzVmT+NcAlYN2kKhnB35suNl7VTKqPMAHFFxaxKxpBZCL17bBzm5qlcEqI9WeLFXPr762IExSbdoijWxSYlm7mt+8ElFgMJiGndMwpcC23epSYa1OYJWYVhbc+zt91cXjC4BjBwnmV6FZ5N3ZwMgCOnUEhT0Hd9qJRcPRWWBzDPcHe1jJrCpEulJI7F5Hyl1pl698cLwzCTs+UQCr19IyviMBNpFhF7Wt7lbWqRi5Wx1KHPXw2G9UiMWnFrzXErd2ejyq0g2QLTwo/SwAFfUAKCml6o+dhQzN3d1K1cSmOxlMvS5jdRgVw12IDx40mA//qj1/PY/UIqpyqH4JtJcPQrRQalf0XB/6gzeqfPZimJAFIf8HpdPInKkaf6g+6QLocCv51FcA6ZfZqrFUM8ytyiQqNevg4i8LihQ69aq62O99Pv+0w2qKOdBZ9bCbxWp4PoNEJUSuQMsOFXKdyyWqHGqH4jqa6O2SPs0WetiHXbnqURubn54AGc5c4lv8XpQsbj+ChIK9sZivZHFX6azga+0hc2x3+bF7gpqFN+TG4Qd0pB+kakiqyq1NkhfZCy3RxjIpacZ5RaWWNo9YT/E9Z8rVAG0AnFdYFx9d8rEKJmJs6UzOnkdt4bGYqupGm96vHZudtT2Zytf2iFG1xNqKtmwQ0CUogs4L+KadxVWr3a7aga3jOnbwsqD+oR2ksw2frhTHhVXEsOjSt++9j21B1a6Z5O77y726g7V/AKE/N1xY2dUWkbYN1+aep55TK1xu8drtzJrzXol89RyPDQ97V8Pf7/pzt+JtFoqd/JOAqH2OtbGoOtFlhwPg4Fxyw7hUmdzuKs9kb3vEiJ/aJIyPLhprY3hstRjnLmhefO+42yEXKir2BqNV9+Bv/VkKcl790UJf66r9oqYOhfvfBDi8dkLPP/uoP/oYHt/9OcAfARjsChQbfNgf9wj/uwBX8fbcdt5OG/GHAf4jwABZwKzJwOZruQAAAABJRU5ErkJggg=="                      alt="" /> <img class="phone" height="30"                                     src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAA8CAMAAADWtUEnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABhQTFRFIiIi1NTUjo6OsbGxYWFh7u7uAAAA////lVpTKwAABPNJREFUeNrsWYvO8yYM9Y30/d94NgZig5t+0/5NlfZFqpKcgDm+gA2F15df8Evwl+D3EUQi0YuIv5MgClx+CX8fQRaBye+6AITaVxFEufaLzj7UW0n8kvstoUyuLSUpNTrlAuFbggwHvwtksyHdn/CZIAZxsMKlRtPgcchIEAt+1jzxS1TwkSCXrqjRoHdWHXYViA6aUaGNCf6c4NTmRygUBN1+tOmyxSEvz1Cybu+7zyfWeGq3ceQJhfky3EgnwT624GGO5GS57UbRAF3qPpk4exUeUL7HaZBMuB6aLOJtd/KK5Ra1g8A9u+VcK65KgYBGbaUmSGHs04QpUvC1C2ofCEpJUHaCr+P5Jjis5uvy2yj0Dy2y7S/4E4LwgAZZPshhQQzObPJuqSkI4h3/H1wsD2jb/XdMEg5M+HommPzNeZHY8kD0JT+htGYf1csMhXUJi3wSOVEcgI6YOFKPFOv9gY5XX4WLhZqi+NPF0IInoIWgOAnOxhmnKllGVK7HVEfRm2fOm2PKitSZOguCt1loOb4V2Tyjd+SnMu8kaE4+VsKpEz5WOzjTJJ6FRWnBgFK1rBWTZARAf4UHm6zPOfQRUnMqQ7NCh/lGDIYgLAh3f6oHhaRIdnynl1zQFFkt23UrPW+0pczOeUCoSi1TC9XMy2VxCrYOarmK7/PXtiY3qGrfiMZelDwDR4gmC4+pANXuhD+lh3Cu6xnlzCnVSXU1vQKmmwvKnYmUOwIoaX9AUwJ4Q3CvOTlYForsMDyEfyOr/UOC2+IHbO1bN6y8LQCOL1TutFrp4htNvdpVEzxKBCBmeRuBKZRp09IriK3OHZO0QjFmA0k6QrVjv/fFB79RDGyZVOXxitgJ84auwqdA7ww1dr4rXcLzrviwX510y7zIZUVUo0dypXJffNrw8G9dFJRbPS4TdI3uW3J6c7LQ9q07yDZN6/1yWSlgqSe+0T66Lxpln1kcjVgczfCMPtoOxGYuTWXLjMl0UFajK/lBhovTLeUAeolUxfF3HGAi64Xt9fpWgr9HwL8Efwn+CYKWndo3E9RNi3y1BQH+axezpVHREg8vzXc43ynAsxIExLwZBXtBKx9IK1BNQ55Q5RIrSMXTv6VbWbdZ+1ltYf37aYCNDCyhiI/1oMkClUSXJlzqQ+lYEXZ+ICBN7E+UVbxqYtRB7QeqitEVq/SkJ22FxWFFcd6cn8kyla09W6ljD1eXdrpYzWYtzFzUbxdjH3LBLpR6CR1cDKavvjcznbg6vV1/6xqqoGZ3buM2FDPPdaVeNiS7vSVIh7TL0KIEYAylN3unCA8P9xrMXntxx20UP617vw3pOHXieUAGftQB68RDxpGz71a0F7tm/IYgmytoBp0+QPdFhOduZOiI9q8jNvOwSDdWbxQIoou1Pyd78KmtcYXY8HRzyZ8JvqzIUrn+X4R6VuMDMrwotuzi5YPuLZtiLzc+jsm3qlK5bzOqb4U+ERSbbHC5VLU7uUFu2DyvltItcSJo4zWxYAefWTaloU+SHgzaHYGbzlN1w7qBRac+y+ivrT4RJI9Rj4irn75QgtFZXymM55aHOydwZbyNE5zHuxBvONefzn60/0SwSV+tfFdoM4Fkg+0PSpb1eNtQpGmT3o5sVnsb9iMUFF+RxHOP33r/+YW8vZ1YaScM0v+VdPAnk8z/kyDRbz34PddfAgwAfP7m2QIPxogAAAAASUVORK5CYII="                                     alt="" />     </td>     <td style="text-align: center;">     <img src="data:image/gif;base64,R0lGODlhsQAlAPAAAAAAAP///ywAAAAAsQAlAEAI/wADCBxIsKDBgwgFAgAQgGHDhQodPpwIsWFEhhgHVrQ48SFGiA4rihRpceFHjRJNlpSYsKXLlzBjEgR5MSJKiiFrZrSpkKfKnz5Dkvx4kqfHlTKTKl3akubRjjg7Cs2YMmVQohxH1ix5dKNXmhuZih0L06lKqCCLTuVqVKhOs26fUk17UydUsnjzztx59mvUrGDrAn7LN27flUXRgmWpt/FYuHGjkuzKEe1VylLXcv1ZFeVcx6AfF45MdzLQzj0zYzWseW7ir59Dy04Kue1J04HbXgaaeatrxZ6Rzh7+sjZwuoCpCma9OqhvxMDthiVOvaBxv8jX7rSsGrNWudD9Sv9nXL389c7ZpS/fDffyZuSKY5efT9E3erXqdXfn/f3watSUTUcfcefdlF6A6+3XXnfvvVaVfANSV6BNB56W4EjN9Qbef8stFqF5o9n2l3aVecVeYe79Jl6A5H0Y2oSS5YSgfhh7x1xPHNoGoYuywViajBbSqN2CNTYYHYs8EhjicfjNyF2N/N1o5IqntZikXj7eBmRuTw6JIoMqAljllbNlOWJ+XRI2GJjhiekhmS8uiV2TQabZFZGttdnhjnDmZWaFXJqo4JdFhrmncH029iedgVo16JqF6qkjoon6Ked9UqEpKJR4PpdjfJRWStaimTq5qZeQ5vkpbKGKKhapuCmwJ6SarHl656GJuSpaciICKqudnBGq6q2T5qorU7Bu+euptDq3IbGgGnusUsmmViezdwprK2e43jUttZcayOiyjnKq7bPcFuvttzJVy+t22Aab6rbwsSotu2WFS+G4bAGb1rn+QWvvuvgWp2+M1jaq0Ynzolvvg60W7JK7JIrJcK0OOxjcvRInRLGm5aKKccDpRktwxwh9bGrIzWpI8sMbn4yyQSpfy3K2Db+s8Xj0BQQAOw==" />     <span style="display: none">子单号&nbsp;234234234</span>     <span style="display: block">234234</span>     <span style="display: none">243234324</span>     </td>     </tr>     </table>     <table class="print_paper ">     <tr height="76">     <td class="brn" style="padding: 0; width: 16px;">                 寄<br />方:             </td>     <td class="xx10 bln">     <div style="height: 67px; overflow: hidden;">                     广东省东莞市清溪镇******<br />     <span style="width: 164px;display: inline-block;">     <span style="width: 52px;display: inline-block;">鞋袜厂</span>13288****80                     </span>     </div>     </td>     <td style="padding: 0; width: 16px;" class="fwb brn">                 收<br />方:             </td>     <td class="xx10 bln">     <div style="height: 67px; overflow: hidden">                     北京北京市朝阳区******<br />     <span style="width: 164px;display: inline-block;">     <span style="width: 52px;display: inline-block;">杨**</span>1590****89                     </span>     </div>     </td>     </tr>     </table>     <table class="print_paper">     <tr height="18">     <td width="36" style="padding: 0; text-align: center;">数量</td>     <td width="254" style="padding: 0; text-align: center;">托寄物</td>     <td style="padding: 0; text-align: center;">备注</td>     </tr>     <tr height="34">     <td>&nbsp;</td>     <td>婴儿用品</td>     <td>     <div class="f10 ovh" style="height: 33px"></div>     </td>     </tr>     <tr height="40">     <td colspan="2">     <table class="no_border">     <tr>     <td>订单号</td>     <td class="xx14"                             style="vertical-align: middle; text-align: center;">     <br />2355334314                         </td>     </tr>     </table>     </td>     <td style="text-align: center;">                 费用合计:<br />- 元             </td>     </tr>     </table> </body> </html>

复制以上HTML内容保存为html格式的文件,可以查看模板效果。

 

11.关于签名

快递鸟和第三方电子商务公司系统进行对接,有一定的安全机制。采用 IP 认证加签名
的方式对接,具体方案如下:

防止数据被篡改  在 POST 请求中会传递 5 个必须(R)参数  RequestData==数据内容(URL 编码:UTF-8)  EBusinessID==用户 ID  RequestType=请求指令类型  DataSign== 数据内容签名:把(请求内容(未编码)+ApiKey)进行 MD5 加密,然后 Base64  编码,最后进行 URL(utf-8)编码  DataType==2(返回数据类型为 json)  注: DataSign 生成后,对方接收到数据后,以同样的算法进行签名(推送接口 RequestType 为  101/102 不需要进行 URL 编码),生成摘要,对比两者的摘要是否相同,如果不同,说明传递过程中发生数据篡改。  调用接口的身份认证  注册成为快递鸟用户后,会生成对应的用户 ID 和 APIKey,用户 ID 相当于用户名,  APIKey 相当于密码。

 

12.注意事项

12. 关于顺丰月结账号接口传值

MonthCode传值顺丰月结账号(PayType为1、2时不填,为3、4时必填),

PayType传值付款方式(包含:1-现付,2-到付,3-月结,4-第三方付),

客户号配置页需留两个栏位(需正确对应以上两个字段)由发货商家填写,商家自己开发的系统也建议保留配置页,万一账号更换了呢?

12 . 关于快递类型

快递类型

ExpType传值

顺丰标快

1

顺丰特惠

2

电商特惠

3

四日件

4

顺丰次晨

5

顺丰即日

6

电商速配

7

医药常温

11

医药温控

12

物流普运

13

冷运到家

14

生鲜速配

15

大闸蟹专递

16

汽配吉运

17

重货快运

18

行邮专列

20

医药专运(常温)

21

医药专运(温控)

22

电商专配

28

即日2200

34

物资配送

35

汇票专送

36

证照专递产品

110

顺丰空配

112

专线普运

125

夜配

134

重货包裹

154

小票零担

155

医药常温(陆)

195

医药快运

203

注:商家的顺丰月结账号是否能发对应的快递类型,请事先和顺丰速运分部人员确认,除1、2、5、6外,其他快递类型都需单独再签协议。

12. 关于顺丰速运增值服务传值

                   字段传值:"AddService": [{"Name":"INSURE ","Value":"1000"}]

                     字段传值: "AddService":[{"Name":"COD","Value":"1000","CustomerID":"1234567891"}]

                    Quantity传值大于等于2表示子母件,并且会返回对应的SubCount子单数量、SubOrders子单单号、SubPrintTemplates子单html模板;

                     IsReturnSignBill传1表示需要签回单,并且会返回对应的SignBillPrintTemplate签回单html模板,默认为0不需要;

                     OperateRequire表示回单操作要求(如:签名、盖章、身份证复印件等);

                      IsNotice表示是否通知快递员上门揽件,0-通知,1-不通知,默认为1;

12.4 关于是否需要预约快递员上门揽件:

1、 如寄件点是全国各地不固定,需要快递员上门揽件则预约(此类情况务必对预约用户做限制,必须本人预约,通过手机验证码验证成功后方可预约,不然会造成用户恶意下单预约,导致顺丰速运投诉);

2、 如是固定几个地点发货,且每天都需要发货,可线下与快递员协商定时定点定人上门揽件,接口上不需要预约;

3、 如是固定地点发货,只是偶尔发几票,自己打印面单则随机预约其中一个订单,如需要快递员打印则全部预约(快递员是否能打印取决于顺丰速运当地网点);

注:如出现恶意预约,导致顺丰速运向快递鸟投诉超过3次的,快递鸟将停用用户此接口权限;

    物流节点短信包含:寄件短信、派件短信、签收短信、问题件短信等;

    字段传值:IsSendMessage  0-不需要,1-需要

    短信通知是收费服务,需联系商务同事购买会员套餐或短信套餐后方可使用。

12.5, 电子面单模板样式

顺丰速运模板共5个规格,具体如下

² 二联150(默认模板,TemplateSize传值为空)

² 三联210(TemplateSize传值210)

² 二联180新(TemplateSize传值180)

² 二联150丰密面单(TemplateSize传值15001)

² 三联210 丰密面单(TemplateSize传值21001)

推荐阅读:
  1. 顺丰删库工程师遭开除,难道他不会恢复误删数据?
  2. 从删库到恢复到跑不了路-数据恢复工程师解说顺丰删库事件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

丰密 实现 隐私

上一篇:常见的十四种Java开发工具及其特点(4)

下一篇:MYSQLDUMP TABLE IN SQL FORMAT

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》