圆通快递电子面单接口对接说明全.docx

上传人:b****6 文档编号:4433703 上传时间:2022-12-01 格式:DOCX 页数:25 大小:23.49KB
下载 相关 举报
圆通快递电子面单接口对接说明全.docx_第1页
第1页 / 共25页
圆通快递电子面单接口对接说明全.docx_第2页
第2页 / 共25页
圆通快递电子面单接口对接说明全.docx_第3页
第3页 / 共25页
圆通快递电子面单接口对接说明全.docx_第4页
第4页 / 共25页
圆通快递电子面单接口对接说明全.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

圆通快递电子面单接口对接说明全.docx

《圆通快递电子面单接口对接说明全.docx》由会员分享,可在线阅读,更多相关《圆通快递电子面单接口对接说明全.docx(25页珍藏版)》请在冰豆网上搜索。

圆通快递电子面单接口对接说明全.docx

圆通快递电子面单接口对接说明全

圆通快递电子面单接口对接说明(全)

1.接口类型说明

1)接口支持的消息接收方式:

HTTPPOST

2)请求方法的编码格式(utf-8):

"application/x-www-form-urlencoded;charset=utf-8"

3)API地址:

http:

//api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx

4)接口提供:

快递鸟

5)快递编码:

YTO

2.请求系统级参数

参数名称

类型

说明

必须要求

RequestData

String

请求内容需进行URL(utf-8)编码。

请求内容JSON格式,须和DataType一致。

R

EBusinessID

String

商户ID,请在我的服务页面查看。

R

RequestType

String

请求指令类型:

1007

R

DataSign

String

数据内容签名:

把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。

详细过程请查看Demo。

R

DataType

String

请求、返回数据类型:

只支持JSON格式

O

备注:

R-必填(Required),O-可选(Optional),C-报文中该参数在一定条件下可选(Conditional)。

3.接口参数

1)请求内容字段定义

参数名称

类型

说明

是否必须

CallBack

String

用户自定义回调信息

O

MemberID

String

会员标识

O

CustomerName

String

电子面单客户账号(与快递网点申请)

O

CustomerPwd

String

电子面单密码

O

SendSite

String

收件网点标识

O

ShipperCode

String

快递公司编码

R

LogisticCode

String

快递单号

O

OrderCode

String

订单编号

R

MonthCode

String

月结编码

C

PayType

Int

邮费支付方式:

1-现付,2-到付,3-月结,4-第三方支付

R

ExpType

String

快递类型:

1-标准快件

R

IsNotice

Int

是否通知快递员上门揽件:

0-通知;1-不通知;不填则默认为0

O

Cost

Double

寄件费(运费)

O

OtherCost

Double

其他费用

O

Receiver

Company

String

收件人公司

O

Name

String

收件人

R

Tel

String

电话与手机,必填一个

R

Mobile

String

PostCode

String

收件人邮编

O

ProvinceName

String

收件省(如广东省,不要缺少“省”)

R

CityName

String

收件市(如深圳市,不要缺少“市”)

R

ExpAreaName

String

收件区(如福田区,不要缺少“区”或“县”)

O

Address

String

收件人详细地址

R

Sender

Company

String

发件人公司

O

Name

String

发件人

R

Tel

String

电话与手机,必填一个

R

Mobile

String

PostCode

String

发件人邮编

O

ProvinceName

String

发件省(如广东省,不要缺少“省”)

R

CityName

String

发件市(如深圳市,不要缺少“市”)

R

ExpAreaName

String

发件区(如福田区,不要缺少“区”或“县”)

O

Address

String

发件人详细地址

R

StartDate

String

上门取货时间段:

"yyyy-MM-ddHH:

mm:

ss"格式化,本文中所有时间格式相同

O

EndDate

String

O

Weight

Double

物品总重量kg

O

Quantity

Int

件数/包裹数

O

Volume

Double

物品总体积m3

O

Remark

String

备注

O

AddServices

AddService

Name

String

增值服务名称

O

Value

String

增值服务值

O

CustomerID

String

客户标识(选填)

O

Commoditys

Commodity

GoodsName

String

商品名称

R

GoodsCode

String

商品编码

O

Goodsquantity

Int

商品数量

O

GoodsPrice

Double

商品价格

O

GoodsWeight

Double

商品重量kg

O

GoodsDesc

String

商品描述

O

GoodsVol

Double

商品体积m3

O

IsReturnPrintTemplate

String

返回电子面单模板:

0-不需要;1-需要

O

2)返回参数定义

参数名称

类型

说明

必须要求

EBusinessID

String

用户ID

R

Order

OrderCode

String

订单编号

R

ShipperCode

String

快递公司编码

R

LogisticCode

String

快递单号

R

MarkDestination

String

大头笔

O

OriginCode

String

始发地区域编码

O

OriginName

String

始发地/始发网点

O

DestinatioCode

String

目的地区域编码

O

DestinatioName

String

目的地/到达网点

O

SortingCode

String

分拣编码

O

PackageCode

String

集包编码

O

Success

Bool

成功与否

R

ResultCode

String

错误编码

R

Reason

String

失败原因

O

UniquerRequestNumber

String

唯一标识

R

PrintTemplate

String

面单打印模板

O

EstimatedDeliveryTime

String

订单预计到货时间yyyy-mm-dd

O

Callback

String

用户自定义回调信息

O

4.示例

1)JSON请求示例

{

  "OrderCode":

 "012657700387",

  "ShipperCode":

 "HTKY",

  "PayType":

1,

  "ExpType":

1,

  "Cost":

1.0,

  "OtherCost":

1.0,

  "Sender":

{

    "Company":

 "LV",

    "Name":

 "Taylor",

    "Mobile":

 "15018442396",

    "ProvinceName":

 "上海",

    "CityName":

 "上海",

    "ExpAreaName":

 "青浦区",

    "Address":

 "明珠路73号"

  },

  "Receiver":

{

    "Company":

 "GCCUI",

    "Name":

 "Yann",

    "Mobile":

 "15018442396",

    "ProvinceName":

 "北京",

    "CityName":

 "北京",

    "ExpAreaName":

 "朝阳区",

    "Address":

 "三里屯街道雅秀大厦"

  },

  "Commodity":

[

    {

      "GoodsName":

 "鞋子",

      "Goodsquantity":

1,

      "GoodsWeight":

1.0

    }

  ],

  "AddService":

[

    {

      "Name":

 "COD",

      "Value":

 "1020"

    }

  ],

  "Weight":

1.0,

  "Quantity":

1,

  "Volume":

0.0,

  "Remark":

 "小心轻放",

  "IsReturnPrintTemplate":

1

}

2)JSON返回示例

失败:

{

    "EBusinessID":

 "1237100",

    "ResultCode":

 "105",

    "Reason":

 "订单号已存在,请勿重复操作",

    "UniquerRequestNumber":

"5e66486b-8fbc-4131-b875-9b13d2ad1354"

}

 

成功:

{

  "EBusinessID":

 "1237100",

  "Order":

{

    "OrderCode":

 "012657700387",

    "ShipperCode":

 "HTKY",

    "LogisticCode":

 "50002498503427",

    "MarkDestination":

 "京-朝阳(京-1)",

    "OriginCode":

 "200000",

    "OriginName":

 "上海分拨中心",

    "PackageCode":

 "北京"

  },

  "PrintTemplate":

"此处省略打印模板HTML内容",

  "EstimatedDeliveryTime":

"2016-03-06",

  "Callback":

"调用时传入的Callback",

  "Success":

 true,

  "ResultCode":

 "100",

  "Reason":

 "成功"

}

5.JAVA对接源码

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.OutputStreamWriter;

importjava.io.UnsupportedEncodingException;

import.HttpURLConnection;

import.URL;

import.URLEncoder;

importjava.util.HashMap;

importjava.util.Map;

importcom.sun.org.apache.xerces.internal.impl.dv.util.Base64;

importjava.security.MessageDigest;

/**

*

*ID和Key请到官网申请:

*/

publicclassKdGoldAPIDemo{

//电商ID

privateStringEBusinessID="ID请申请";

//电商加密私钥,注意保管,不要泄漏

privateStringAppKey="KEY请申请";

//请求url,正式环境地址:

http:

//api.kdniao.cc/api/Eorderservice

privateStringReqURL="http:

//testapi.kdniao.cc:

8081/api/Eorderservice";

/**

*Json方式电子面单

*@throwsException

*/

publicStringorderOnlineByJson()throwsException{

StringrequestData="{'OrderCode':

'118060839871',"+

"'ShipperCode':

'HHTT',"+

"'PayType':

1,"+

"'ExpType':

1,"+

"'Cost':

1.0,"+

"'OtherCost':

1.0,"+

"'Sender':

"+

"{"+

"'Company':

'LV','Name':

'Taylor','Mobile':

'15018442396','ProvinceName':

'上海','CityName':

'上海','ExpAreaName':

'青浦区','Address':

'明珠路73号'},"+

"'Receiver':

"+

"{"+

"'Company':

'GCCUI','Name':

'Yann','Mobile':

'15018442396','ProvinceName':

'北京','CityName':

'北京','ExpAreaName':

'朝阳区','Address':

'三里屯街道雅秀大厦'},"+

"'Commodity':

"+

"[{"+

"'GoodsName':

'鞋子','Goodsquantity':

1,'GoodsWeight':

1.0}],"+

"'Weight':

1.0,"+

"'Quantity':

1,"+

"'Volume':

0.0,"+

"'Remark':

'小心轻放',"+

"'IsReturnPrintTemplate':

1}";

Mapparams=newHashMap();

params.put("RequestData",urlEncoder(requestData,"UTF-8"));

params.put("EBusinessID",EBusinessID);

params.put("RequestType","1007");

StringdataSign=encrypt(requestData,AppKey,"UTF-8");

params.put("DataSign",urlEncoder(dataSign,"UTF-8"));

params.put("DataType","2");

Stringresult=sendPost(ReqURL,params);

//根据公司业务处理返回的信息......

returnresult;

}

/**

*MD5加密

*@paramstr内容

*@paramcharset编码方式

*@throwsException

*/

@SuppressWarnings("unused")

privateStringMD5(Stringstr,Stringcharset)throwsException{

MessageDigestmd=MessageDigest.getInstance("MD5");

md.update(str.getBytes(charset));

byte[]result=md.digest();

StringBuffersb=newStringBuffer(32);

for(inti=0;i

intval=result[i]&0xff;

if(val<=0xf){

sb.append("0");

}

sb.append(Integer.toHexString(val));

}

returnsb.toString().toLowerCase();

}

/**

*base64编码

*@paramstr内容

*@paramcharset编码方式

*@throwsUnsupportedEncodingException

*/

privateStringbase64(Stringstr,Stringcharset)throwsUnsupportedEncodingException{

Stringencoded=Base64.encode(str.getBytes(charset));

returnencoded;

}

@SuppressWarnings("unused")

privateStringurlEncoder(Stringstr,Stringcharset)throwsUnsupportedEncodingException{

Stringresult=URLEncoder.encode(str,charset);

returnresult;

}

/**

*电商Sign签名生成

*@paramcontent内容

*@paramkeyValueAppkey

*@paramcharset编码方式

*@throwsUnsupportedEncodingException,Exception

*@returnDataSign签名

*/

@SuppressWarnings("unused")

privateStringencrypt(Stringcontent,StringkeyValue,Stringcharset)throwsUnsupportedEncodingException,Exception

{

if(keyValue!

=null)

{

returnbase64(MD5(content+keyValue,charset),charset);

}

returnbase64(MD5(content,charset),charset);

}

/**

*向指定URL发送POST方法的请求

*@paramurl发送请求的URL

*@paramparams请求的参数集合

*@return远程资源的响应结果

*/

@SuppressWarnings("unused")

privateStringsendPost(Stringurl,Mapparams){

OutputStreamWriterout=null;

BufferedReaderin=null;

StringBuilderresult=newStringBuilder();

try{

URLrealUrl=newURL(url);

HttpURLConnectionconn=(HttpURLConnection)realUrl.openConnection();

//发送POST请求必须设置如下两行

conn.setDoOutput(true);

conn.setDoInput(true);

//POST方法

conn.setRequestMethod("POST");

//设置通用的请求属性

conn.setRequestProperty("accept","*/*");

conn.setRequestProperty("connection","Keep-Alive");

conn.setRequestProperty("user-agent",

"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");

conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

conn.connect();

//获取URLConnection对象对应的输出流

out=newOutputStreamWriter(conn.getOutputStream(),"UTF-8");

//发送请求参数

if(params!

=null){

StringBuilderparam=newStringBuilder();

for(Map.Entryentry:

params.entrySet()){

if(param.length()>0){

param.append("&");

}

param.append(entry.getKey());

param.append("=");

param.append(entry.getValue());

System.out.println(entry.getKey()+":

"+entry.getValue());

}

System.out.println("param:

"+param.toString());

out.write(param.toString());

}

//flush输出流的缓冲

out.flush();

//定义

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1