顺丰目前提供了两种对接方式: 一种是开发者自助对接,需要注册丰桥账户后,申请成为开发者,然后上传电子面单等操作,较为繁琐; 还有一种方式就是这里要重点介绍的,第三方软件对接(如快递鸟),对接起来非常方便。

物流轨迹查询-使用的物流单号和快递单号即可实现查询物流信息。 对接在电商网站或ERP系统上后,仅输入单号就可以查询物流,不需要物流编码。是通过两个接口实现的,一个是快递物流查询接口,一个是单号识别的接口

接口提供:快递鸟
接口名称:即时查询接口+单号识别接口
编写语言:C#
顺丰快递单号接口通过快递鸟接口对接简单方便,顺丰速运快递查询接口API和电子面单接口可以通过快递鸟对接,通过顺丰单号和手机号后四位查询轨迹信息,如果是通过快递鸟下单获得的顺丰单号,可通过单号直接查询,具体下载快递鸟接口技术文档查看接口说明。
即时查询接口demo:

using System;
usingSystem.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Net;
using System.IO;namespace KdGoldAPI
{public class KdApiSearchDemo{//电商IDprivate string EBusinessID = "??????";//电商加密私钥,注意保管,不要泄漏private string AppKey = "??????";//请求urlprivate string ReqURL ="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";/// /// Json方式 查询订单物流轨迹/// /// public string getOrderTracesByJson(){string requestData ="{'OrderCode':'','ShipperCode':'SF','LogisticCode':'589707398027'}";Dictionaryparam = new Dictionary();param.Add("RequestData",HttpUtility.UrlEncode(requestData, Encoding.UTF8));param.Add("EBusinessID",EBusinessID);param.Add("RequestType","1002");string dataSign =encrypt(requestData, AppKey, "UTF-8");param.Add("DataSign",HttpUtility.UrlEncode(dataSign, Encoding.UTF8));param.Add("DataType","2");string result = sendPost(ReqURL,param);//根据公司业务处理返回的信息......return result;}/// /// Post方式提交数据,返回网页的源代码/// /// 发送请求的 URL/// 请求的参数集合/// 远程资源的响应结果private string sendPost(string url,Dictionary param){string result = "";StringBuilder postData = newStringBuilder();if (param != null &¶m.Count > 0){foreach (var p in param){if (postData.Length > 0){postData.Append("&");}postData.Append(p.Key);postData.Append("=");postData.Append(p.Value);}}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 CLR2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR3.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 = newStreamReader(backStream, Encoding.GetEncoding("UTF-8"));result = sr.ReadToEnd();sr.Close();backStream.Close();response.Close();request.Abort();}catch (Exception ex){result = ex.Message;}return result;}//////电商Sign签名//////内容///Appkey///URL编码///DataSign签名private string encrypt(String content,String keyValue, String charset){if (keyValue != null){return base64(MD5(content +keyValue, charset), charset);}return base64(MD5(content,charset), charset);}////// 字符串MD5加密//////要加密的字符串///编码方式///密文private string MD5(string str, stringcharset){byte[] buffer =System.Text.Encoding.GetEncoding(charset).GetBytes(str);try{System.Security.Cryptography.MD5CryptoServiceProvidercheck;check = newSystem.Security.Cryptography.MD5CryptoServiceProvider();byte[] somme =check.ComputeHash(buffer);string ret = "";foreach (byte a in somme){if (a < 16)ret += "0" +a.ToString("X");elseret +=a.ToString("X");}return ret.ToLower();}catch{throw;}}/// /// base64编码/// /// 内容/// 编码方式/// private string base64(String str,String charset){returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));}}
}

单号识别接口demo:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;namespace KdGoldAPI
{public class KdApiOrderDistinguish{//电商IDprivate string EBusinessID = "??????";//电商加密私钥,注意保管,不要泄漏private string AppKey = "???????";//请求url//测试环境private string ReqURL ="http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx";//正式环境//private string ReqURL ="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";/// /// Json方式  单号识别/// /// public string orderTracesSubByJson(){string requestData = "{'LogisticCode':'3967950525457'}";Dictionaryparam = new Dictionary();param.Add("RequestData",HttpUtility.UrlEncode(requestData, Encoding.UTF8));param.Add("EBusinessID",EBusinessID);param.Add("RequestType","2002");string dataSign =encrypt(requestData, AppKey, "UTF-8");param.Add("DataSign",HttpUtility.UrlEncode(dataSign, Encoding.UTF8));param.Add("DataType","2");string result = sendPost(ReqURL,param);//根据公司业务处理返回的信息......return result;}/// /// Post方式提交数据,返回网页的源代码/// /// 发送请求的 URL/// 请求的参数集合/// 远程资源的响应结果private string sendPost(string url,Dictionary param){string result = "";StringBuilder postData = newStringBuilder();if (param != null && param.Count> 0){foreach (var p in param){if (postData.Length > 0){postData.Append("&");}postData.Append(p.Key);postData.Append("=");postData.Append(p.Value);}}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 CLR2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR3.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 = newStreamReader(backStream, Encoding.GetEncoding("UTF-8"));result = sr.ReadToEnd();sr.Close();backStream.Close();response.Close();request.Abort();}catch (Exception ex){result = ex.Message;}return result;}//////电商Sign签名//////内容///Appkey///URL编码///DataSign签名private string encrypt(String content,String keyValue, String charset){if (keyValue != null){return base64(MD5(content +keyValue, charset), charset);}return base64(MD5(content,charset), charset);}////// 字符串MD5加密//////要加密的字符串///编码方式///密文private string MD5(string str, stringcharset){byte[] buffer =System.Text.Encoding.GetEncoding(charset).GetBytes(str);try{System.Security.Cryptography.MD5CryptoServiceProvider check;check = newSystem.Security.Cryptography.MD5CryptoServiceProvider();byte[] somme =check.ComputeHash(buffer);string ret = "";foreach (byte a in somme){if (a < 16)ret += "0" +a.ToString("X");elseret +=a.ToString("X");}return ret.ToLower();}catch{throw;}}/// /// base64编码/// /// 内容/// 编码方式/// private string base64(String str,String charset){returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));}}
}

转载于:https://my.oschina.net/u/4188314/blog/3092660

顺丰快递单号查询快递鸟API接口demo相关推荐

  1. 如何用快递单号查询快递物流情况

    电商商家如果想要知道每个快递到达什么地方,就要查询物流信息,下面介绍快递单号查询快递物流信息.那具体怎么快速查询呢?下面一起来看操作步骤. 准备工具: 一台电脑 安装一个快递批量查询高手 快递单号 先 ...

  2. 邮政国内标快 快递单号查询 快递鸟API接口

    调用快递鸟提供的快递查询API标准接口,快速对接100多家快递公司的物流轨迹查询,本篇文章实现<邮政国内标快>的快递单号查询. 首先我们准备好需要用到的资源, 测试商户ID: test16 ...

  3. Android快递单号查询快递状态信息

    辛苦堆砌,转载请注明出处,谢谢! 今天介绍一个自己做的快递单号查询的简单APP,供大家参考.由于需要使用http和json,本文在build.gradle(module:app)添加了okhttp3依 ...

  4. 快速导入快递单号查询快递物流的几种方法

    有做线上商家都离不开用到快递发货,当日积月累到多个快递单号时,都需要去查询跟踪快递单号物流信息.在使用快递批量查询高手查询多个快递单号物流时,如何快速导入快递单号去查询快递物流.下面一起看多种的导入方 ...

  5. 众邮快递单号查询快递鸟API接口-众邮快递ZYE

    前言 看完快递鸟api众邮快递对接教程这篇文章,然后把源码复制到你的项目上,就能快速完成众邮快递接口对接.到达众邮快递官网界面显示的效果,更适合刚入门的菜鸟,调用快递鸟的众邮快递查询API接口,能查询 ...

  6. 极兔快递单号查询 快递鸟API接口对接指南-极兔速递

    目录 1.完成前期准备工作 2.API接口 3.请求参数(Headers) 4.请求参数(Body) 5.返回参数(Return) 6.请求完整报文(示例) 7.成功返回报文(示例) 8.失败返回报文 ...

  7. 输入单号查快递:如何用快递单号查询快递信息

    作为商家,因为每天发出的快递公司不同,查询起来相对来说比较麻烦,那么如果一个这样的技巧,可以一次性查询多家快递,能对查询到的物流进行分析,该多好呢?小编觉得肯定是有的,下面一起来学习一下这个新技巧. ...

  8. Python实现圆通快递单号查询官方接口教程

    此系列为代码语言与各大常用快递公司的接口教程,供各位程序员学习参考,后续我将会继续分享各语言的快递单号查询接口教程,敬请关注. 下面我们来说下具体操作过程,如何用Python实现圆通快递单号查询. 一 ...

  9. 快递单号查询 / 物流跟踪 使用详解

    这里有两种使用场景,首先你要做下区分,明确你需要的业务是属于哪一种业务场景,继而找到相应的解决方案,更好的解决并满足你的需求: 你的订单是使用的 "api工厂" 的订单体系,也就是 ...

最新文章

  1. R语言使用ggplot2包的快速可视化函数qplot绘制分组直方图(分组颜色设置)实战
  2. 国外AI教学网红网站
  3. 前端学习(2573):vuex核心概念和底层原理
  4. php sub pos,PHP pos() 函数
  5. golang 上下文 Context
  6. 效率低下的原因--开发者说
  7. Facebook开源项目:我们为什么要用Fresco框架?
  8. python程序设计pdf上海交大_上海交大2011_2012程序设计python期末考试题
  9. 计算机最快接口速度,实测:USB3.1究竟比USB3.0接口快多少?
  10. ANSYS MESH
  11. python 验证码 高阶验证
  12. Spring注入Bean的七种方式
  13. IText导出PDF添加图片,解决中文问题
  14. UE4插件BlueMan_VehicleAI使用
  15. 李开复投资的创新奇智两大硬伤:缺少落地场景和商业模式模糊
  16. 论程序员写不出代码怎么办
  17. 外媒:苹果秋季将发大量新品,数量为公司史上最多
  18. KeePass密码管理软件 ---下载安装及汉化
  19. ZYNQ PL通过EMIO ETHE1外接PHY由GMII转RGMII
  20. Firefox成为渗透测试工具的18个插件

热门文章

  1. 彻底解决全界面多次点击Button的问题
  2. 80端口被ntoskrnl.exe占用
  3. [生存志] 第133节 常忆西汉贤名录
  4. 傲游网络安全浏览器最新发布,四大企业结安全联盟
  5. 【参考】Android wm指令用法详解
  6. 安卓游戏应用-变形金刚拼图
  7. python判断合法整数数字_51Nod 1315 合法整数集
  8. 乒乓球廉价底板及普及套评测2
  9. KEIL5软件仿真出现*** error 65: access violation at 0xE0001004 : no ‘read‘ permission的解决方法
  10. 华为OD机试真题 Java 实现【检查是否存在满足条件的数字组合】【2022Q4 100分】