C ා realize single printing of dense surface


Fengmi face list is the face list of Shunfeng express which hides the personal information of users. This list can hide some information such as mailing, recipient's name, mobile phone and address, so that personal information will not be exposed directly.

Let's take a look at two single renderings.

Figure 1

Figure 1 is a template of two copies of 150MM electronic face list. The sender's and receiver's mobile phones are visible.

Figure two

Figure 2 is also a template of two copies of 150MM electronic face list. The sender's and receiver's mobile phones are not visible. This kind of face list is safe and reliable, mainly to protect the privacy of customers and strongly recommend the use of customers. Let's explain the implementation process.

1. Complete the preparatory work

1.1 to express bird Free registration A docking account

1.2. Obtain an apikey for free (required for interface permission verification)

1.3 complete the real name certification process

1.4, order a free package

1.5 apply for monthly account number of SF Express

  The monthly settlement account of Shunfeng needs to sign the receiving and dispatching contract with the local Shunfeng branch offline,
  After signing, SF will provide a 10 digit monthly settlement account number of SF for freight settlement;

Note: the information and status displayed in the background of express bird official website (for example, the "my logistics service provider" page does not display the account number of SF or SF monthly settlement) does not affect the use of the interface, nor does it need to add the customer number to be used in the background, and you can directly place an order through the interface value transmission;

1.6. Prepare printer and printing paper

  • Printer:

    There is no requirement for the brand and model of the printer, as long as it is a thermal printer, common brands such as zebra, deli, Kuai Mai, Hanyin, Jiabo, etc.

    The printer can be provided by express outlets or purchased from Jingdong, Taobao, and the printer supplier can be contacted for installing the printer and driver;

  • Printing paper:

    There are three types of printing paper used in SF express: 100 mm * 150 mm (tangent point 90 / 60), 100 mm * 180 mm (tangent point 110 / 70), 100 mm * 210 mm (tangent point 90 / 60 / 60),

    Printing paper can be provided by express outlets or purchased from Jingdong, Taobao. When purchasing, you can choose all white thermal paper.

2.API interface

2.1, test call address: http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

2.2. Official call address: http://api.kdniao.com/api/EOrderService

2.3. Request method: POST

2.4, UTF-8: application/x-www-form-urlencoded;charset=utf-8

2.5, return type: JSON

2.6 debugging page: http://kdniao.com/UserCenter/v2/SandBox/TrackQuery.aspx

2.7 debugging tool: to debug (log in with express bird account)

3. Request parameters (Headers)

Parameter name type Explain Must ask
RequestData String The requested content shall be URL(utf-8) encoded, and the JSON format of the requested content shall be consistent with the DataType Must fill
EBusinessID String User ID, view user ID and ApiKey Must fill
RequestType String Request instruction type: 1007 Must fill
DataSign String The signature data (Body+ApiKey) is encrypted by MD5, then encoded by Base64, and finally encoded by URL(utf-8) Must fill
DataType String Find and return data type: 2-json, default Json Selective filling

4. Request parameter (Body)

Parameter name type Explain Is it necessary?
MemberID String(50) Unique identification such as member ID or shop account number of users of ERP system, e-commerce platform or platform type, used to distinguish their users O
CustomerName String(50) For the customer number of electronic noodle list, you need to download the cross reference table of customer number parameters of express bird electronic noodle list.xlsx, and refer to the corresponding field transmission value O
CustomerPwd String(30) O
SendSite String(30) O
SendStaff String(30) C
MonthCode String C
CustomArea String(500) Merchant custom area C
WareHouseID String(30) Code of delivery warehouse O
TransType Int(1) Transportation mode 1 - land transportation 2 - air transportation not filled in default is 1 O
ShipperCode String(10) Refer to "express bird interface support express company code. xlsx" for detailed code of express company R
LogisticCode String(30) Express bill No. (only available for home delivery) O
ThrOrderCode String(50) Third party order number (required when shipercode is JD and ExpType is 1) C
OrderCode String(30) Order number (customized, not repeatable) R
PayType Int(1) Payment method of postage: 1-pay as you go, 2-pay as you go, 3-monthly settlement, 4-third party payment (only supported by SF) R
ExpType String(2) Express type: 1-standard express, refer to express company express business type.xlsx for detailed express type R
IsReturnSignBill Int(1) Check in required or not 1-required 0-not required O
OperateRequire String(20) Operation requirements for signing receipt (such as signature, seal, etc.) O
Cost Cost Double(5) Express freight O
OtherCost Double(5) Other expenses O
Receiver Company String(30) Recipient company O
Name String(30) Addressee R
Tel String(20) Phone and mobile phone, one is required R
Mobile String(20)
PostCode String(10) Recipient zip code c
ProvinceName String(20) Receiving province (such as Guangdong Province, do not lack "province"; if it is a municipality directly under the central government, please directly transmit to Beijing, Shanghai, etc.; if it is an autonomous region, please directly transmit to Guangxi Zhuang Autonomous Region, etc.) R
CityName String(20) Receiving city (for example, Shenzhen City, do not lack "city"; if it is a municipal district, please directly transmit it to Beijing, Shanghai, etc.) R
ExpAreaName String(20) Receiving area / county (such as Futian District, do not lack "district" or "county") R
Address String(100) Recipient's detailed address R
Sender Company String(30) Sender company O
Name String(30) Sender R
Tel String(20) Phone and mobile phone, one is required R
Mobile String(20)
PostCode String(10) Post code of sending place (required when shipercode is EMS, YZPY and YZBK) C
ProvinceName String(20) Sending province (such as Guangdong Province, do not lack "province"; if it is a municipality directly under the central government, please directly transmit to Beijing, Shanghai, etc.; if it is an autonomous region, please directly transmit to Guangxi Zhuang Autonomous Region, etc.) R
CityName String(20) Sending city (for example, Shenzhen City, do not lack "city"; if it is a municipal district, please directly transmit it to Beijing, Shanghai, etc.)) R
ExpAreaName String(20) Sending area / county (such as Futian District, do not lack "district" or "county") R
Address String(100) Sender's detailed address R
IsNotice Int(1) Whether to notify the courier to collect the goods on site 0 - notice 1 - default to 1 if no notice is filled in O
StartDate Date On site pickup time period: "yyyy MM DD HH: mm: SS" format, all time formats in this article are the same O
EndDate Date O
Weight Double(10,3) The total package weight kg is required when it is an express order. If it is not filled, the express bird will send the corresponding default value according to the requirements of each express company C
Quantity Int(2) Number of packages (up to 30 pieces supported): one package corresponds to one waybill number. If it is more than one package, return the master waybill number and the sub waybill number according to the method of sub master R
Volume Double(20,3) The total volume of package m3 is required when it is an express order. If it is not filled, the express bird will send the corresponding default value according to the requirements of each express company C
Remark String(60) Remarks O
AddService Name String(20) Value added service name
(in array form, there can be multiple value-added services) C
Value String(30) Value added service value C
CustomerID String(30) Customer identification (optional) O
Commodity GoodsName String(100) Trade name R
GoodsCode String(100) Commodity encoding O
Goodsquantity Int(5) Quantity of commodities O
GoodsPrice Double(10) commodity price O
GoodsWeight Double(10,3) Commodity weight kg O
GoodsDesc String(50) Commodity Description O
GoodsVol Double(15,3) Commodity volume m3 O
IsReturnPrintTemplate String(1) Return to electronic single template: 0-not required; 1-required O
IsSendMessage Int(1) Subscribe to SMS: 0-not needed; 1-needed O
TemplateSize String(10) (the default template does not need to be transferred to a value, and the non default template is transferred to the corresponding template size.) O
PackingType Int(2) Package type (express field) is 0 by default; 0-paper 1-fiber 2-wood 3-membrane 4-wood 99 other C
DeliveryMethod Int(1) Delivery method (express field) is 0 by default; 0-self delivery 1-door-to-door delivery (excluding upstairs) 2-upstairs delivery C

Two linked 150 dense area list (TemplateSize transfer value 15001)

Triple 210 fengmi surface list (TemplateSize transfer value 21001)

Binary 150 (default template, TemplateSize is null)

Triple 210(TemplateSize 210)

Duplex 180 new (TemplateSize 180)

5. Return parameter

Parameter name type Explain Must ask
EBusinessID String(10) User ID R
Order OrderCode String(30) Order number R
ShipperCode String(10) Express company code R
LogisticCode String(400) Courier number R
MarkDestination String(20) Paint Marker O
OriginCode String(20) Origin area code O
OriginName String(20) Origin / outlet O
DestinatioCode String(20) Destination region code O
DestinatioName String(20) Destination / arrival point O
SortingCode String(20) Sorting encoding O
PackageCode String(20) Packet encoding O
PackageName String(50) Gathering ground O
DestinationAllocationCentre String(50) Destination classification O
Success Bool(10) Success (true/false) R
SignWaybillCode String(15) Receipt No O
ResultCode String(5) Return encoding R
Reason String(50) Reasons for failure O
UniquerRequestNumber String(50) Unique identification R
PrintTemplate String Print template content (html format) O
EstimatedDeliveryTime Date Expected arrival time of order yyyy MM DD O
SubCount Int(5) Child quantity O
SubOrders String(400) Zi Dan odd number O
SubPrintTemplates String(2000) Content of sub single template (html format) O
SignBillPrintTemplate String(2000) Check in form template content (html format) O
ReceiverSafePhone String(20) Recipient security phone O
SenderSafePhone String(20) Recipient security phone O
DialPage String(50) Dial page URL (converted to QR code for scanning and dialing) O

6. Request message (example)

                          "OrderCode": "012657018199",
                          "ShipperCode": "SF",
                          "PayType": 1,
                          "MonthCode": "1234567890",
                          "ExpType": 1,
                          "Cost": 1.0,
                          "OtherCost": 1.0,
                          "Sender": {
                            "Company": "LV",
                            "Name": "Taylor",
                            "Mobile": "15018442396",
                            "ProvinceName": "Shanghai",
                            "CityName": "Shanghai City",
                            "ExpAreaName": "Qingpu District",
                            "Address": "Pearl Road"
                          "Receiver": {
                            "Company": "GCCUI",
                            "Name": "Yann",
                            "Mobile": "15018442396",
                            "ProvinceName": "Beijing",
                            "CityName": "Beijing City",
                            "ExpAreaName": "Chaoyang District",
                            "Address": "Sanlitun Street"
                          "Commodity": [
                              "GoodsName": "shoes",
                              "GoodsQuantity": 1,
                              "GoodsWeight": 1.0
                           "GoodsName": "clothes",
                           "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": "Handle with care"

7. Successful return message (example)

    "EBusinessID": "1237100",
    "Order": {
        "OrderCode": "012657700387",
        "ShipperCode": "HTKY",
        "LogisticCode": "50002498503427",
        "MarkDestination": "Beijing-Chaoyang(Beijing-1)",
        "OriginCode": "200000",
        "OriginName": "Shanghai Distribution Center",
        "PackageCode": "Beijing"
    "PrintTemplate": "Print template HTML Contents are listed separately",
    "EstimatedDeliveryTime": "2016-03-06",
    "Success": true,
    "ResultCode": "100",
    "Reason": "Success"

8. Failure return message (example)

                              "EBusinessID": "1237100",
                              "ResultCode": "106",
                              "Reason": "The order number has been placed successfully",

Note: this message will be returned if there is no real name authentication, no package is ordered, and the available query volume of the package has been used up
To real name authentication / Learn more about the package

9. Step by step explanation (version C)

9.1 request packet structure

9.2,C call code example

technical support: QQ:510997342
//Electricity supplier ID
string eEBusinessID = "test1617571";
 //E-commerce encrypts the private key, which is provided by express bird. Take care not to disclose
string appKey= "554343b2-7252-439b-b4eb-1af42c8f2175";
 //Request url
string reqURL = "http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json";
//Request instruction 
string reqType="1007";
string dataType = "2"; 
//UTF-8 for character encoding 
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\": \"Shanghai\",
\"CityName\": \"Shanghai City\",
\"ExpAreaName\": \"Qingpu District\",
\"Address\": \"Pearl Road\"
\"Receiver\": {
\"Company\": \"GCCUI\",
\"Name\": \"Yann\",
\"Mobile\": \"15018442396\",
\"ProvinceName\": \"Beijing\",
\"CityName\": \"Beijing City\",
\"ExpAreaName\": \"Chaoyang District\",
\"Address\": \"Sanlitun Street\"
\"Commodity\": [
\"GoodsName\": \"shoes\",
\"GoodsQuantity\": 1,
\"GoodsWeight\": 1.0
\"GoodsName\": \"clothes\",
\"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\": \"Handle with care\"
}" ;

//MD5 encryption of (jsonStr+APIKey)
string md5Str=MD5(jsonStr + apiKey, charset);
//Base 64 coding md5Str
string base64Str=base64(md5Str,charset);
//URL encoding (utf-8)
string datasign = HttpUtility.UrlEncode(base64Str, charset); 
//Request message parameters 
string postStr = "RequestType=reqType&EBusinessID= eEBusinessID&RequestData=jsonStr 
&DataSign= datasign&DataType=dataType"; 
//Communication protocol uses Http protocol Post request mode to return track data
string post = SendPost(reqURL, postStr);
//The post data obtained is the complete message returned by the express bird,
//Next, write a method to parse json to get the field information.

9.3,C call method

    ///String MD5 encryption / / < / summary >
    ///< param name = "STR" > string to encrypt < / param >
    ///< param name = "charset" > encoding method < / param >
    ///< returns > ciphertext < / 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 encoding / / < / summary >
    ///< param name = "STR" > content < / param >
    ///< param name = "charset" > encoding method < / param >
    /// <returns></returns>
    private string base64(String str, String charset)
    { return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
} /// <summary>
    ///Submit data in Post mode and return the source code of the web page / / < / summary >
    ///< param name = "URL" > the URL to send the request < / param >
    ///< param name = "postData" > request message parameters < / param >
    ///< returns > response results of remote resources < / 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);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream backStream = response.GetResponseStream();
            StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));
            result = sr.ReadToEnd();
        } catch (Exception ex)
            result = ex.ToString();
        } return result;

10. Content of Shunfeng electronic single print template (HTML)

<!DOCTYPE html>
<html lang="zh-CN">
    <meta charset="UTF-8">
        * {
            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;

            /*Add class*/
            .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;

    <table class="print_paper table_first">
        <tr height="53">
                <table class="no_border">
                        <td style="vertical-align: middle;">
                            <img class="logo" height="35" alt=""
                                 src="data:image/png;base64,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" />
                        <td style="vertical-align: middle;" colspan="2">
                            <!-- -->
                            <div class="f20"
                                 style="font-weight: bold;">
                        <!--<td style="vertical-align:middle;"> </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/4E4LwgAZZPshhQQzObPJuqSkI4h2/H1wsD2jb/XdMEg5M+HommPzNeZHY8kD0JT+htGYf1csMhXUJi3wSOVEcgI6YOFKPFOv9gY5XX4WLhZqi+NPF0IInoIWgOAnOxhmnKllGVK7HVEfRm2fOm2PKitSZOguCt1loOb4V2Tyjd+SnMu8kaE4+VsKpEz5WOzjTJJ6FRWnBgFK1rBWTZARAf4UHm6zPOfQRUnMqQ7NCh/lGDIYgLAh2f6oHhaRIdnynl1zQFFkt23UrPW+0pczOeUCoSi1TC9XMy2VxCrYOarmK7/PXtiY3qGrfiMZelDwDR4gmC4+pANXuhD+lh2Cu6xnlzCnVSXU1vQKmmwvKnYmUOwIoaX9AUwJ4Q3CvOTlYForsMDyEfyOr/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=" />
    <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/+27hh5KBLk/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 / 1</span>
                <br />
                <div style="font-size: 11px; font-weight: bold;">
                    <span style="display: none">Sub odd number  555555555<br />Female odd number  888888888888</span>
                    <span style="display: block;margin-top: 3px;">Waybill No.  5622033142418</span>
                    <span style="display: none;margin-top: 10px;">Sign the odd number  3552033142418</span>
            <td class="xx16 p0">
                <div style="height: 74px;">
                    SF fast <br /> <span class="xx10">Destination:</span>
                    <div class="f24">010</div>

    <table class="print_paper" height="50">
            <td width="50" style="padding: 0;" class="xx16 brn">Receiver:</td>
            <td class="bln">
                <div style="height: 59px; overflow: hidden;">
                    Chaoyang District, Beijing******<br />
                    <span style="width: 297px;display: inline-block;">Yang**  1590****89</span>
    <table class="print_paper" height="58">
            <td rowspan="2" style="vertical-align: top;" class="f13">
                Monthly account No.: 3434555 <br /> Payment method: monthly deposit <br />
                <div style="display: none">Declared value: 0</div>
                <div style="display: none">Signed return doc No.: ${SignWaybillCode}</div>
                <div style="display: none">Operation requirements: ${OperateRequire}</div>
            <td height="45">
                Payment collected on behalf of:¥0 element<br />Card number:
                Freight:-<br />Total expenses:-

    <table class="print_paper" height="68" width="100%">
            <td class="xx14 brn" width="50" style="padding: 0; ">
                Sending party:
            <td class="ov bln" style="width: 136px;">
                <div class="xx10" style="width: 115px; height: 66px;">
                    <div style="height: 40px; overflow: hidden">
                        Qingxi Town, Dongguan City, Guangdong Province******
                    <div style="width: 140px;overflow: hidden;">
                        <span style="width: 52px;display: inline-block;">Shoe and socks factory</span>13288****80
                    <div class="xx10" style="margin-left: -45px; position: absolute;top: 337px;">Original address: 339</div>
            <td class="xx10" width="86">
                Receiver:<br />Mailing date: 2020-02-05 11:34:24
            <td class="xx10">
                Signature of receiver:<br /> <br />Date:

    <table class="print_paper table_first" height="60">
        <tr height="55">
                <img class="logo" height="30"
                     alt="" /> <img class="phone" height="30"
                                    alt="" />
            <td style="text-align: center;">
                <img src="data:image/gif;base64,R0lGODlhsQAlAPAAAAAAAP///ywAAAAAsQAlAEAI/wADCBxIsKDBgwgFAgAQgGHDhQodPpwIsWFEhhgHVrQ48SFGiA4rihRpceFHjRJNlpSYsKXLlzBjEgR5MSJKiiFrZrSpkKfKnz5Dkvx4kqfHlTKTKl3akubRjjg7Cs2YMmVQohxH1ix5dKNXmhuZih0L06lKqCCLTuVqVKhOs26fUk17UydUsnjzztx59mvUrGDrAn7LN27flUXRgmWpt/FYuHGjkuzKEe1VylLXcv1ZFeVcx6AfF45MdzLQzj0zYzWseW7ir59Dy04Kue1J04HbXgaaeatrxZ6Rzh7+sjZwuoCpCma9OqhvxMDthiVOvaBxv8jX7rSsGrNWudD9Sv9nXL389c7ZpS/fDffyZuSKY5efT9E3erXqdXfn/f3watSUTUcfcefdlF6A6+3XXnfvvVaVfANSV6BNB56W4EjN9Qbef8stFqF5o9n2l3aVecVeYe79Jl6A5H0Y2oSS5YSgfhh6x1xPHNoGoYuywViajBbSqN2CNTYYHYs8EhjicfjNyF2N/N1o5IqntZikXj7eBmRuTw6JIoMqAljllbNlOWJ+XRI2GJjhiekhmS8uiV2TQabZFZGttdnhjnDmZWaFXJqo4JdFhrmncH029iedgVo16JqF6qkjoon6Ked9UqEpKJR4PpdjfJRWStaimTq5qZeQ5vkpbKGKKhapuCmwJ6SarHl656GJuSpaciICKqudnBGq6q2T5qorU7Bu+euptDq3IbGgGnusUsmmViezdwprK2e43jUttZcayOiyjnKq7bPcFuvttzJVy+t22Aab6rbwsSotu2WFS+G4bAGb1rn+QWvvuvgWp2+M1jaq0Ynzolvvg60W7JK7JIrJcK0OOxjcvRInRLGm5aKKccDpRktwxwh9bGrIzWpI8sMbn4yyQSpfy3K2Db+s8Xj0BQQAOw==" />
                <span style="display: none">Sub odd number 234234234</span>
                <span style="display: block">234234</span>
                <span style="display: none">243234324</span>

    <table class="print_paper ">
        <tr height="76">
            <td class="brn" style="padding: 0; width: 16px;">
                send<br />square:
            <td class="xx10 bln">
                <div style="height: 67px; overflow: hidden;">
                    Qingxi Town, Dongguan City, Guangdong Province******<br />
                    <span style="width: 164px;display: inline-block;">
                        <span style="width: 52px;display: inline-block;">Shoe and socks factory</span>13288****80

            <td style="padding: 0; width: 16px;" class="fwb brn">
                collect<br />square:
            <td class="xx10 bln">
                <div style="height: 67px; overflow: hidden">
                    Chaoyang District, Beijing******<br />
                    <span style="width: 164px;display: inline-block;">
                        <span style="width: 52px;display: inline-block;">Yang**</span>1590****89

    <table class="print_paper">
        <tr height="18">
            <td width="36" style="padding: 0; text-align: center;">Number</td>
            <td width="254" style="padding: 0; text-align: center;">Entrusted articles</td>
            <td style="padding: 0; text-align: center;">Remarks</td>
        <tr height="34">
            <td> </td>
            <td>Baby Care</td>
                <div class="f10 ovh" style="height: 33px"></div>
        <tr height="40">
            <td colspan="2">
                <table class="no_border">
                        <td>Order number</td>
                        <td class="xx14"
                            style="vertical-align: middle; text-align: center;">
                            <br />2355334314
            <td style="text-align: center;">
                Total expenses:<br />- element

Copy the above HTML content and save it as an HTML file to view the template effect.

11. About signature

Express bird and the third-party e-commerce company system docking, there is a certain security mechanism. Use IP authentication and signature  
The specific scheme is as follows:

Prevent data from being tampered with 
Five required (R) parameters are passed in the POST request 
RequestData = = data content (URL Code: UTF-8) 
EBusinessID = = user ID 
RequestType = request instruction type 
DataSign = = data content signature: encrypt (request content (not encoded) + ApiKey) with MD5, and then Base64 
Encoding, and finally URL(utf-8) encoding 
Datatype = = 2 (return data type is json) 
After the DataSign is generated, the other party receives the data and signs with the same algorithm (the push interface RequestType is 
101 / 102 does not need URL encoding), generates a summary, and compares whether the two summaries are the same. If they are different, data tampering occurs in the process of transmission. 
Authentication of calling interface 
After registering as a express bird user, the corresponding user ID and APIKey will be generated. The user ID is equivalent to the user name, 
APIKey is equivalent to password.

12. Precautions

12. * * 1 * * about the value transfer of monthly settlement account interface of Shunfeng

MonthCode transfers value to the monthly settlement account number of Shunfeng (it is not required when PayType is 1 or 2, but it is required when PayType is 3 or 4),

PayType transfer value payment method (including: 1-pay as you go, 2-pay as you go, 3-monthly settlement, 4-third party payment),

Two fields (corresponding to the above two fields) should be left on the configuration page of customer number, which should be filled in by the shipping merchant. The system developed by the merchant itself is also recommended to keep the configuration page. What if the account is changed?

Note: if the monthly account number of the merchant can send the corresponding express delivery type, please confirm with the personnel of SF express in advance. Except for 1, 2, 5 and 6, other express delivery types need to sign an agreement separately.

12. * * 3 * * about value-added service transmission of SF Express

    • Insured price

      Field value passing: "addservice": [{"name": "Install", "value": "1000"}]

    • Collecting money

      Field value passing: "AddService":[{"Name":"COD","Value":"1000","CustomerID":"1234567891"}]

    • Parent component

      When the Quantity value is greater than or equal to 2, it indicates the child parent part, and the corresponding SubCount sub doc Quantity, sub orders sub doc No. and sub printtemplates sub doc html template will be returned;

    • Receipt

      sReturnSignBill passes 1 to indicate that a receipt needs to be signed, and the corresponding SignBillPrintTemplate html template will be returned. The default value is 0 and not required;

      Operatrequire indicates the operation requirements of receipt (such as signature, seal, etc.);

    • Appointment of courier

      IsNotice indicates whether to notify the courier to collect the goods on site, 0-notice, 1-no notice, default to 1;

12.4 about whether it is necessary to make an appointment with a courier to collect the goods on site:

1. If the delivery point is not fixed in all parts of the country, it is required to make an appointment when the courier comes to collect the goods (in this case, the reservation user must be restricted, and the appointment can only be made after the mobile phone verification code is verified successfully, otherwise, the user will place an order to make an appointment maliciously, resulting in a complaint from SF express);

2. If the goods are delivered at a fixed number of places, and need to be delivered every day, you can negotiate with the express delivery personnel offline to fix a fixed time point to pick up the goods on site, and there is no need to make an appointment on the interface;

3. If the goods are delivered at a fixed place, only a few tickets will be issued occasionally. If you print the face list yourself, you can book one order at random. If you need a courier to print, you can make all appointments (whether the courier can print depends on the local outlets of SF express);

Note: in case of malicious appointment, which causes SF express to complain to express bird more than 3 times, express bird will disable the user's authority of this interface;

    • Subscribe to SMS notification of logistics node

    The logistics node SMS includes: sending SMS, sending SMS, signing SMS, problem SMS, etc;

    Field value passing: issendmessage 0-not required, 1-required

    SMS notification is a charge service, which can only be used after contacting business colleagues to purchase member package or SMS package.

12.5 electronic surface single template style

There are 5 specifications of SF express formwork, as follows

2. Binary 150 (default template, TemplateSize is null)

2 Triple 210(TemplateSize 210)

2. Duplex 180 new (TemplateSize 180)

2. 150 high density double sheet (TemplateSize 15001)

2 Triple 210 fengmi surface sheet (TemplateSize transfer value 21001)

  • : special characters not supported by express company: '"# & +% \ < \ > please confirm whether the above special characters are included in the request data (including all order data such as receiver's name, phone number, address, commodity name, etc.);

  • The order code of the interface for electronic order placing cannot be reused. If it is reused, an error will be reported and the returned order is the content of the last order placed by this order number;

  • The default template TemplateSize does not need to transfer values. Non default templates transfer the corresponding template size. Non existing template size codes cannot be transferred;

  • After the order is placed successfully, if there is no need to deliver the goods, it is enough to tear up the surface order directly, and there is no need to cancel it (if it is necessary to cancel the "cancel interface of electronic surface order"). The courier can charge only after picking up the goods, and the order number is not charged;

  • Non delivery means that the delivery address is not within the scope of SF express service, and the specific scope of delivery can be viewed on the official website of SF express at http://www.sf-express.com/cn/sc/dynamic'function/range/, and other express delivery can be replaced;

Tags: ASP.NET encoding Mobile JSON Windows

Posted on Sat, 18 Apr 2020 03:24:02 -0700 by mattl