顺丰在线下单接口对接文档及JAVA案例_第1页
顺丰在线下单接口对接文档及JAVA案例_第2页
顺丰在线下单接口对接文档及JAVA案例_第3页
顺丰在线下单接口对接文档及JAVA案例_第4页
顺丰在线下单接口对接文档及JAVA案例_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、顺丰在线下单接口文档1、功能说明在线下单接口是提供给独立电商、仓储管理系统、物流供应链等物流流系统平台使用 的下单接口,为客户解决在线发货需求,客户通过网络选择快递公司发送请求通知有快递要 发货。2、接口规则(1) 、订单编号(OrderCode)不可重复提交,重复提交系统会返回具体错误代码。(2) 、支持主流快递公司在线下单,请联系技术人员(联系方式请看文档尾部)。(3) 、接口只支持Json格式参数,接口指令1001。只支持POST请求方式,utf-8编码。 、接口平台:快递鸟(4) 、支持增值服务,保价、代收货款、货款直退、货款垫付等。(5) 、测试地址:http:/testapi.kd

2、 niao.cc:8081/api/oorderservice/3、系统级输入参数参数名称类型是否必须描述RequestDataStri ngR请求内容,JSON或XML格式,须和DataType一致EBus in essIDStri ngR电商IDRequestTypeStri ngR请求指令类型:1001DataSig nStri ngR数据内容签名DataTypeStri ngO请求、返回数据类型:1-xml,2-js on ;默认为xml格式(本接口只支持Json格式)4、应用级输入参数参数名称类型是否必须描述WarehouselDStri ngO仓库标识(备用字段)Warehouse

3、AddressStri ngO仓库地址(备用字段)CallBackStri ngO商户标识(备用字段)MemberlDStri ngO会员标识(备用字段)ShipperCodeStri ngR快递公司编码LogisticCode1Stri ngO快递单号OrderCodeStri ngR订单编号Mon thCodeStri ngC月结编码邮费支付方式:PayTypeIntR1-现付,2-到付,3-月结,4-第二方支付ExpTypeIntR快递类型:1-标准快件CostDoubleO寄件费(运费)OtherCostDoubleO其他费用Compa nyStri ngO收件人公司NameStri

4、ngR收件人TelStri ngR电话与手机,必填一个MobileStri ngPostCodeStri ngO收件人邮编ReceiverProvi nceNameStri ngR收件省(如广东省,不要缺少“省”)CityNameStri ngR收件市(如深圳市,不要缺少“市”)ExpAreaNameStri ngO收件区(如福田区,不要缺少“区”或“县”)AddressStri ngR收件人详细地址SenderCompa nyStri ngO发件人公司NameStri ngR发件人TelStri ngR电话与手机,必填一个MobileStri ngPostCodeStri ngO发件人邮编P

5、rovi nceNameStri ngO发件省(如广东省,不要缺少“省”)CityNameStri ngR发件市(如深圳市,不要缺少“市”)ExpAreaNameStri ngO发件区(如福田区,不要缺少“区”或“县”)AddressStri ngR发件详细地址StartDateStri ngO上门取货时间段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同En dDateStri ngOWeightDoubleO物品总重量kgQua ntityIntO件数/包裹数VolumeDoubleO物品总体积m3RemarkStri ngO备注NameStr

6、i ng0增值服务名称AddServiceValueStri ng0增值服务值CustomerIDStri ng0客户标识(选填)CommodityGoodsNameStri ngR商品名称GoodsCodeStri ngO商品编码Goodsqua ntityIntO件数GoodsPriceDoubleO商品价格GoodsWeightDoubleO商品重量kgGoodsDescStri ngO商品描述GoodsVolDoubleO商品体积m35、返回结果参数参数名称类型必须要求说明EBus in essIDStri ngR电商用户IDOrderCodeStri ngR订单编号OrderShip

7、perCodeStri ngR快递公司编码LogisticCodeStri ngO快递单号SuccessBoolR成功与否ResultCodeStri ngR结果编码ReasonStri ngO失败原因Uni querRequestNumberStri ngR唯一标识6、Json请求示例"OrderCode": "012657018199", "ShipperCode": "SF","PayType": 1,"Mo nthCode": "7553045845&quo

8、t;,"ExpType": 1,"Cost": 1.0,"OtherCost": 1.0,"Sender": "Compa ny": "LV","Name": "Taylor", "Mobile": "quot;, "ProvinceName":"上海", "CityName":"上海", "E

9、xpAreaName":"青浦区","Address":"明珠路","Receiver": "Compa ny": "GCCUI", "Name": "Ya nn", "Mobile": "quot;, "ProvinceName":"北京", "CityName":"北京", "Ex

10、pAreaName":"朝阳区" "Address":"三里屯街道","Commodity":"GoodsName":"鞋子", "Goodsqua ntity": 1, "GoodsWeight": 1.0,"AddService":"Name": "COD", "Value": "1020" ,"Weight&qu

11、ot;: 1.0,"Qua ntity": 1,"Volume": 0.0, "Remark":"小心轻放"7、Json请求返回示例"EBusi nessID": "1237100", "Success": true,"Order": "OrderCode": "012657018199","ShipperCode ": " SF ","Logis

12、ticCode ":"",5 / 12"ResultCode": "100","Reaso n":""8、JAVA对接示例import java.io.BufferedReader;import java.i o.I OExcepti on;import java.i o.ln putStreamReader;import java.io.OutputStreamWriter;import java.io. Un supportedE ncodi ngExcepti on;import

13、 java .n et.HttpURLC onnection;import java .n et.URL;import java .n et.URLE ncoder;import java.util.HashMap;import java.util.Map;import com.s un .org.apache.xerces.i nternal.impl.dv.util.Base64;import java.security.MessageDigest;public class KdGoldAPIDemo /电商IDprivate String EBusi nesslD="12371

14、00"/电商加密私钥,快递鸟提供,注意保管,不要泄漏private String AppKey="518a73d8-1f7f-441a-b644-33e77b49d846"/请求urlprivate String ReqURL="http:/api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx"/* Json方式 在线下单* throws Exceptio n*/public String orderO nli neByJs on() throws Exceptio nStri ng request

15、Data= "'LogisticsWeight':2.0,"+"'LogisticsVol':2.0,"+"'HQPOrderDesc':'尽快上门收件',"+"'HQPPayType':1,"+"'lsNeedPay':2,"+"'Payme nt':121.0,"+"'OrderCode':'test_1234567890

16、9;,"+"'StartDate':'2015-05-13 21:20:53',"+ "'EndDate':'2015-05-14 21:20:53',"+6 / 12V"'ShipperCode':'LB',"+"'LogisticCode':'109932607391',"+"'ToCompany':'华为科技',"+&qu

17、ot;'ToName':'张三',"+"'ToAddressArea':'深圳市南山区桂庙路555号',"+"'ToTel':”,"+"'ToMobile':'#39;,"+"'OrderType':2,"+"'ToPostCode':'518128',"+"'ToProvincelD'

18、:'广东省',"+ "'ToCitylD':'深圳市',"+ "'ToExpArealD':'南山区',"+ "'FromCompany':'小米科技',"+ "'FromName':'李四',"+"'FromAddressArea':'深圳市福田区华强北路222号',"+"'FromTel&#

19、39;:'88888888',"+"'FromMobile':'',"+ "'FromPostCode':'529800',"+ "'FromProvinceID':'广东省',"+ "'FromCityID':'深圳市',"+ "'FromExpAreaID':'福田区',"+ "'Cost&

20、#39;:21.0,"+"'OtherCost':2.0,"+"'Commoditys':"+""+"'Goodsqua ntity':12,"+"'GoodsName':'手机屏幕',"+ "'GoodsCode':'kjyhu878787',"+ "'GoodsPrice':121.0,"+""M

21、ap<Stri ng, Stringparams = new HashMap<Stri ng, Strin g>(); params.put("RequestData", urlE ncoder(requestData, "UTF-8"); params.put("EBus in essID", EBus in essID);params.put("RequestType", "1001");Stri ng dataSig n=en crypt(requestData, App

22、Key, "UTF-8"); params.put("DataSign", urlEncoder(dataSign, "UTF-8"); params.put("DataType", "2");String result=se ndPost(ReqURL, params);/根据公司业务处理返回的信息 return result;/* XML方式在线下单* throws Exceptio n*/public String order On li neByXml() throws Excepti

23、onStri ng requestData= "<?xml versio n="1.0" en codi ng="utf-8" ?>"+"<Co nten t>"+"<LogisticsWeight>1.5</LogisticsWeight>"+ "<OrderCode>test_123456789</OrderCode>"+ "<LogisticsVol>0.5</Logis

24、ticsVol>"+ "<HQPOrderDesc>测试在线下单接口20150510</HQPOrderDesc>"+"<HQPPayType>1</HQPPayType>"+ "<lsNeedPay>1</lsNeedPay>"+ "<Payme nt>1000</Payme nt>"+ "<OrderType>1</OrderType>"+ "&l

25、t;StartDate>2015-05-10 19:36:50</StartDate>"+ "<E ndDate>2015-05-11 19:36:50</E ndDate>"+ "<ShipperCode>LB</ShipperCode>"+ "<LogisticCode></LogisticCode>"+"<ToName> 张三 </ToName>"+"<ToAddress

26、Area>深圳市南山区南新路 2055号</ToAddressArea>"+"<ToTel></ToTel>"+"<ToMobile>lt;/ToMobile>"+ "<ToPostCode></ToPostCode>"+"<ToProvinceID>广东省 </ToProvinceID>"+ "<ToCityID>深圳市 </ToCityID&g

27、t;"+"<ToExpArealD>南山区 </ToExpArealD>"+"<FromCompany> 快递鸟科技 </FromCompany>"+"<FromName> 李四 </FromName>"+ "<FromAddressArea>深圳市福田区华强北路211号</FromAddressArea>"+"<FromTel></FromTel>"+"&

28、lt;FromMobile>lt;/FromMobile>"+"<FromPostCode></FromPostCode>"+"<FromProvincelD>广东省 </FromProvincelD>"+ "<FromCitylD>深圳市 </FromCitylD>"+ "<FromExpArealD>福田区 </FromExpArealD>"+ "<Cos

29、t>12</Cost>"+"<OtherCost>1</OtherCost>"+"<Commoditys>"+"<Commodity>"+"<GoodsName> 惠普显示器 </GoodsName>"+ "<GoodsCode>ABCD_123456789</GoodsCode>"+ "<Goodsqua ntity>2</Goodsqua n

30、tity>"+ "<GoodsPrice>850</GoodsPrice>"+"</Commodity>"+"<Commodity>"+"<GoodsName> 神州笔记本 </GoodsName>"+ "<GoodsCode>QWERT_456456</GoodsCode>"+ "<Goodsqua ntity>2</Goodsqua ntity>&

31、quot;+ "<GoodsPrice>4200</GoodsPrice>"+"</Commodity>"+ "</Commoditys>"+ "</Co nten t>"Map<Stri ng. Stringparams = new HashMap<Stri ng. Strin g>(); params.put("RequestData", urlE ncoder(requestData, "UTF-8&q

32、uot;); params.put("EBus in esslD", EBus in esslD);params.put("RequestType", "1001");Stri ng dataSig n=en crypt(requestData, AppKey, "UTF-8"); params.put("DataSign", urlEncoder(dataSign, "UTF-8"); params.put("DataType", "1&quo

33、t;);String result=se ndPost(ReqURL, params);/根据公司业务处理返回的信息.return result;/* MD5加密* param str 内容* param charset 编码方式* throws Exceptio n*/SuppressWar nin gs(" unu sed")private String MD5(String str, String charset) throws Exception MessageDigest md = MessageDigest.getl nsta nce("MD5&quo

34、t;); md.update(str.getBytes(charset);byte result = md.digest();Strin gBuffer sb = new Strin gBuffer(32);for (i nt i = 0; i < result .len gth; i+) in t val = resulti & Oxff;if (val <= 0xf) sb.appe nd("0");sb.appe nd(l nteger.toHexStri ng(val);return sb.toString().toLowerCase();/*

35、base64 编码* param str 内容* param charset 编码方式* throws Un supportedE ncodi ngExcepti on*/private String base64(Stri ng str, String charset) throws Un supportedE ncodi ngExcepti on String en coded = Base64.e ncode(str.getBytes(charset);retur n en coded;SuppressWar nin gs(" unu sed")private Str

36、ing urlE ncoder(Stri ng str, String charset) throws Un supportedE ncodi ngExcepti onString result = URLE ncoder.e ncode(str, charset);return result;/*电商Sign签名生成* param content 内容* param keyValue Appkey* param charset 编码方式* throws Un supportedE ncodi ngExcepti on ,Excepti on* return DataSig n 签名*/Sup

37、pressWar nin gs(" unu sed")private String en crypt (Stri ng content, String keyValue, String charset) throwsUn supportedE ncodi ngExcepti on, Excepti on if (keyValue != n ull) retur n base64(MD5(c ontent + keyValue, charset), charset);retur n base64(MD5(c ontent, charset), charset);*向指定URL

38、发送POST方法的请求* param url发送请求的 URL* param params 请求的参数集合* return远程资源的响应结果*/SuppressWar nin gs(" unu sed") private String sen dPost(Stri ng url, Map<Stri ng, Stringparams) OutputStreamWriter out = n ull;BufferedReader in = nu II;Stri ngBuilder result = new Stri ngBuilder();try URL realUrl = new URL(url);HttpURLC onnection conn =(HttpURLC onnection) realUrl.ope nConnection(); /发送POST请求必须设置如下两行conn. setDoOutput(true);conn. setDo In put(true);/ POST方法conn. setRequestMethod("POST");/设置通用的请求属性conn. setRequestProperty("accept&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论