快递100 物流查询API全面解析

一.基础准备

1.物流查询痛点

如何通过物流单号实时查询物流信息?如何实时查看物流地图轨迹?

使用快递 100,用户可以通过简单地输入快递单号来获取快递的详细物流状态,不仅能看到包裹目前的位置信息,还可以了解它的运输进展。

快递 100API 接口是为各类企业(例如电商平台、ERP 系统、WMS 仓储管理系统、快递柜、银行等)提供的物流信息查询服务。快递 100 整了多家快递公司的查询接口,如果某家快递公司的接口发生变更,服务商会进行统一更新,大大减少了系统维护的难度和工作量。

快递 100 接口主要通过两种方式实现:

  1. 主动查询
  2. 订阅推送

主动查询:这种方式是企业在需要的时候主动发起查询请求。例如,客户想知道包裹目前的运输情况时,企业的系统可以通过接口主动查询最新的物流信息。这样可以实时获取物流数据,但也意味着企业的系统需要时刻关注并发起查询。

订阅推送:与主动查询不同,订阅推送是由接口服务商定期向企业系统推送物流更新。企业只需进行一次订阅操作,之后当物流信息发生变化时,接口服务商会自动发送更新信息,省去了频繁的查询请求。这种方式非常适合需要随时掌握快递状态的企业,特别是那些有大量订单的电商企业,可以更加实时、便捷地了解物流动态。

2.申请账号

接口调用的时候需要用到如下四个参数,可以通过注册后,按如下图所示进行获取

  • 授权 key
  • custome
  • secret
  • userid

image-20241112141434458

3.sdk 下载

快递 100 提供了多种语言的支持,可参见链接进行下载合适的语言.本篇通过 java 的调用方式进行讲解.

  • JAVA 示例代码
  • PHP 示例代码
  • PYTHON 示例代码
  • NET 示例代码

image-20241110222730961

4.测试准备

  1. 下载java 示例代码
  2. 使用 idea 打开项目
  3. account.properties中配置好接口需要的参数信息

image-20241110223020297

二.接口测试

2.1.实时快递查询接口

2.1.1.需求

需求: 通过物流单号查询物流信息

2.1.2.通过物流单号查询
public class BaseServiceTest {

    String key = PropertiesReader.get("key");
    String customer = PropertiesReader.get("customer");
    String secret = PropertiesReader.get("secret");
    String siid = PropertiesReader.get("siid");
    String userid = PropertiesReader.get("userid");
    String tid = PropertiesReader.get("tid");
    String secret_key = PropertiesReader.get("secret_key");
    String secret_secret = PropertiesReader.get("secret_secret");
    /**
     * 实时快递查询接口
     */
    @Test
    public void testQueryTrack() throws Exception{
        QueryTrackReq queryTrackReq = new QueryTrackReq();
        QueryTrackParam queryTrackParam = new QueryTrackParam();
        // 指定物流类型
        queryTrackParam.setCom(CompanyConstant.ZT);
        // 指定物流单号
        queryTrackParam.setNum("78852418650880");
        String param = new Gson().toJson(queryTrackParam);

        queryTrackReq.setParam(param);
        queryTrackReq.setCustomer(customer);
        queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));

        IBaseClient baseClient = new QueryTrack();
        System.out.println(baseClient.execute(queryTrackReq));
    }
}
2.1.3.查询结果
{
    "message": "ok",
    "nu": "78852418650880",
    "ischeck": "0",
    "condition": "00",
    "com": "zhongtong",
    "status": "200",
    "state": "5",
    "data": [
        {
            "time": "2024-11-10 15:32:54",
            "ftime": "2024-11-10 15:32:54",
            "context": "【襄阳市】 快件已在 溪鸟 的【谷城当铺公共服务站】暂放,【取件地址:当铺第三中学对面】,请及时取件。如有疑问请联系业务员:18672705895,代理点电话:18672705895,投诉电话:18672705895"
        },
        {
            "time": "2024-11-10 15:02:54",
            "ftime": "2024-11-10 15:02:54",
            "context": "【襄阳市】谷城当铺 的业务员【董定艳,18672705895】正在为您派件(95720为中通快递员外呼专属号码,请放心接听,如有问题可联系网点:18672705895,投诉电话:18672705895)"
        },
        {
            "time": "2024-11-10 06:59:25",
            "ftime": "2024-11-10 06:59:25",
            "context": "【襄阳市】 快件已发往 谷城当铺"
        },
        {
            "time": "2024-11-10 06:59:21",
            "ftime": "2024-11-10 06:59:21",
            "context": "【襄阳市】 快件已到达 襄樊谷城县"
        },
        {
            "time": "2024-11-10 04:45:52",
            "ftime": "2024-11-10 04:45:52",
            "context": "【襄阳市】 快件已发往 襄樊谷城县"
        },
        {
            "time": "2024-11-10 03:59:17",
            "ftime": "2024-11-10 03:59:17",
            "context": "【襄阳市】 快件已到达 襄樊转运中心"
        },
        {
            "time": "2024-11-09 20:08:41",
            "ftime": "2024-11-09 20:08:41",
            "context": "【武汉市】 快件已发往 襄樊转运中心"
        },
        {
            "time": "2024-11-09 20:05:08",
            "ftime": "2024-11-09 20:05:08",
            "context": "【武汉市】 快件已到达 武汉转运中心"
        },
        {
            "time": "2024-11-09 10:19:35",
            "ftime": "2024-11-09 10:19:35",
            "context": "【孝感市】 孝感南部(0712-3318420)周强(13469806269) 已揽收"
        }
    ]
}
2.1.4.体验说明

从上面的结果,我们可以清晰的看到物流的流转节点,只需要传入相应的快递类型和快递单号即可快速查询快递的实时信息,非常方便高效.

2.快递查询地图轨迹

2.2.1.需求

我希望查询快递的地图轨迹,如何调用 api 实现?

2.2.2.快递查询地图轨迹
@Test
public void testQueryMapView() throws Exception {

    QueryTrackReq queryTrackReq = new QueryTrackReq();
    QueryTrackParam queryTrackParam = new QueryTrackParam();
    queryTrackParam.setCom(CompanyConstant.ZT);
    queryTrackParam.setNum("78852418650880");
    queryTrackParam.setTo("湖北襄阳市");
    queryTrackParam.setResultv2("2");
    String param = new Gson().toJson(queryTrackParam);

    queryTrackReq.setParam(param);
    queryTrackReq.setCustomer(customer);
    queryTrackReq.setSign(SignUtils.querySign(param, key, customer));

    IBaseClient baseClient = new QueryTrackMap();
    HttpResult result = baseClient.execute(queryTrackReq);

    QueryTrackMapResp queryTrackMapResp = new Gson().fromJson(result.getBody(), QueryTrackMapResp.class);
    System.out.println(JSONObject.toJSONString(queryTrackMapResp));
}
2.2.3.查询结果
{
    "arrivalTime": "2024-11-10 15",
    "com": "zhongtong",
    "condition": "00",
    "data": [
        {
            "areaCode": "CN420625000000",
            "areaName": "湖北,襄阳市,谷城县",
            "context": "【襄阳市】 快件已在 溪鸟 的【谷城当铺公共服务站】暂放,【取件地址:当铺第三中学对面】,请及时取件。如有疑问请联系业务员:18672705895,代理点电话:18672705895,投诉电话:18672705895",
            "ftime": "2024-11-10 15:32:54",
            "status": "派件",
            "time": "2024-11-10 15:32:54"
        },
        {
            "areaCode": "CN420625000000",
            "areaName": "湖北,襄阳市,谷城县",
            "context": "【襄阳市】谷城当铺 的业务员【董定艳,18672705895】正在为您派件(95720为中通快递员外呼专属号码,请放心接听,如有问题可联系网点:18672705895,投诉电话:18672705895)",
            "ftime": "2024-11-10 15:02:54",
            "status": "派件",
            "time": "2024-11-10 15:02:54"
        },
        {
            "areaCode": "CN420625000000",
            "areaName": "湖北,襄阳市,谷城县",
            "context": "【襄阳市】 快件已发往 谷城当铺",
            "ftime": "2024-11-10 06:59:25",
            "status": "在途",
            "time": "2024-11-10 06:59:25"
        },
        {
            "areaCode": "CN420625000000",
            "areaName": "湖北,襄阳市,谷城县",
            "context": "【襄阳市】 快件已到达 襄樊谷城县",
            "ftime": "2024-11-10 06:59:21",
            "status": "在途",
            "time": "2024-11-10 06:59:21"
        },
        {
            "areaCode": "CN420600000000",
            "areaName": "湖北,襄阳市",
            "context": "【襄阳市】 快件已发往 襄樊谷城县",
            "ftime": "2024-11-10 04:45:52",
            "status": "在途",
            "time": "2024-11-10 04:45:52"
        },
        {
            "areaCode": "CN420600000000",
            "areaName": "湖北,襄阳市",
            "context": "【襄阳市】 快件已到达 襄樊转运中心",
            "ftime": "2024-11-10 03:59:17",
            "status": "在途",
            "time": "2024-11-10 03:59:17"
        },
        {
            "areaCode": "CN420100000000",
            "areaName": "湖北,武汉市",
            "context": "【武汉市】 快件已发往 襄樊转运中心",
            "ftime": "2024-11-09 20:08:41",
            "status": "在途",
            "time": "2024-11-09 20:08:41"
        },
        {
            "areaCode": "CN420100000000",
            "areaName": "湖北,武汉市",
            "context": "【武汉市】 快件已到达 武汉转运中心",
            "ftime": "2024-11-09 20:05:08",
            "status": "在途",
            "time": "2024-11-09 20:05:08"
        },
        {
            "areaCode": "CN420900000000",
            "areaName": "湖北,孝感市",
            "context": "【孝感市】 孝感南部(0712-3318420)周强(13469806269) 已揽收",
            "ftime": "2024-11-09 10:19:35",
            "status": "揽收",
            "time": "2024-11-09 10:19:35"
        }
    ],
    "ischeck": "0",
    "message": "ok",
    "nu": "78852418650880",
    "remainTime": "0天0小时",
    "result": false,
    "routeInfo": {
        "cur": {
            "name": "湖北,襄阳市,谷城县",
            "number": "CN420625000000"
        },
        "from": {
            "name": "湖北,孝感市",
            "number": "CN420900000000"
        }
    },
    "state": "5",
    "status": "200",
    "totalTime": "0天22小时",
    "trailUrl": "https://api.kuaidi100.com/tools/map/c267d423dd9d388d60b2acf9fd33fd20_112.121743,32.010161_8"
}
2.2.4.地图轨迹

可以通过结果返回的链接查看快递经过的地图轨迹

从返回的结果,我们可以清楚的看到在某个时间段内所处的服务处位置,非常的清晰方便

image-20241110224818999

三.总结说明

以上只是快递 100 查看快递的基本功能,还是更多强大的功能提供给企业使用,比如

  • 快递信息推送服务
  • 地图轨迹推送服务
  • 电子面单与云打印
    • 电子面单
    • 订单导入
    • 自定义打印
  • 物流服务
    • 商家寄件
    • C 端寄件
    • 同城配送
    • 物流全链路监控
  • 增值服务
  • 跨境服务

快递 100 提供了丰富的 api 服务,接入高效,除去基础信息的准备时间,实际接通时间基本在 1 小时到 2 小时之间,接口非常标准,为开发者省去了很多繁琐的工作.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/916868.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《动手学深度学习》中d2l库的安装以及问题解决

当我们在按照《动手学深度学习》这本书或者网课学习时会有需要导入d2l库的使用。​d2I是一个与《动手学深度学习》(Dive into Deep Learning)一书配套的开源教学库,它包含了作者李沐设计的深度学习相关代码和示例。这个库旨在帮助读者通过实践经验来理解…

使用 PyAnsys 在 Ansys 随机振动分析中检索螺栓连接中的力和应力

介绍 随机振动模拟通常用于评估组件承受运输过程中振动的能力。随机振动分析利用先前模态分析的频率和模式内容对通过功率谱密度 (PSD) 负载定义的频谱和功率内容进行线性叠加。在大多数装配模型中,螺栓连接(由求解器变为 BEAM188 元素)通常…

1 图的搜索 奇偶剪枝

图论——图的搜索_Alex_McAvoy的博客-CSDN博客 语雀版本 1 深度优先搜索DFS 1. 从图中某个顶点 v0 出发,首先访问 v0 2. 访问结点 v0 的第一个邻接点,以这个邻接点 vt 作为一个新节点,访问 vt 所有邻接点,直到以 vt 出发的所有节…

ElasticSearch-全文检索(一)基本介绍

简介 Elasticsearch:官方分布式搜索和分析引擎 | Elastic 全文搜索属于最常见的需求,开源的Elasticsearch是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、StackOverflow、Github都采用它 Elastic的底层是开源库Lucene。但…

Opengl光照测试

代码 #include "Model.h" #include "shader_m.h" #include "imgui.h" #include "imgui_impl_glfw.h" #include "imgui_impl_opengl3.h" //以上是放在同目录的头文件#include <glad/glad.h> #include <GLFW/glfw3.…

传奇996_19——龙岭总结

功能&#xff1a; 切割 切割属性&#xff1a; 即人物属性&#xff0c;可以设置临时属性或者永久属性&#xff0c;龙岭使用的是临时属性&#xff0c;所谓临时就是存在有效期&#xff0c;龙岭设置的有效期是123456789秒&#xff0c;即1428.89802天。 龙岭写法&#xff08;倒叙…

亲测有效:Maven3.8.1使用Tomcat8插件启动项目

我本地maven的settings.xml文件中的配置&#xff1a; <mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url> </mirror>…

关于 MSVCP110.dll 缺失的解决方案

背景&#xff1a;之前使用 PR&#xff08;Adobe Premiere&#xff09; 从来没有遇到过这样的问题。今天重装系统后&#xff08;window 10&#xff09;&#xff0c;想要重新安装以前的软件时&#xff0c;遇到了以下 DLL 文件缺失的错误。 解决方案&#xff1a; 可以到微软官网的…

贝叶斯网络——基于概率的图模型(详解)

贝叶斯网络&#xff08;Bayesian Network&#xff0c;简称BN&#xff09;是一种基于概率图模型的表示方法&#xff0c;用于表示变量之间的依赖关系&#xff0c;并通过条件概率推断变量间的关系。它通过有向无环图&#xff08;DAG&#xff09;来描述变量之间的依赖关系&#xff…

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言&#xff1a;在我们的日常使用中&#xff0c;MOS就是个纯粹的电子开关&#xff0c;虽然MOS管也有放大作用&#xff0c;但是几乎用不到&#xff0c;只用它的开关作用&#xff0c;一般的电机驱动&#xff0c;开关电源&#xff0c;逆变器等大功率设备&#xff0c;全部使用MOS管…

cocoscreator-doc-TS-脚本开发-获取和设置资源

资源属性的声明 cc.Asset 的子类下面这些 cc.Texture2D、cc.SpriteFrame、cc.AnimationClip、cc.Prefab 等 加载场景&#xff0c;会自动加载场景关联的资源 &#xff0c;再加载关联的资源所关联的资源&#xff0c;直到全加载 在属性检查器中设置资源 property(cc.Label) la…

在Keil删除原有的组出现系统软件无响应的原因

取消掉core的勾选。 keil 添加文件夹&#xff0c;软件崩溃解决办法_keil5创建文件夹卡死-CSDN博客

超越传统:探索ONLYOFFICE的革命性办公新纪元

目录 &#x1f341;引言 &#x1f341;一、ONLYOFFICE产品简介 &#xff08;一&#xff09;、介绍 &#xff08;二&#xff09;、基本功能简介 &#x1f341;二、核心功能具体介绍 1、编辑操作 2、文本与段落&#xff1a; 3、样式与图形&#xff1a; 4、表格与图表&…

一文说清libc、glibc、glib的发展和关系

一 引言 在大家的技术生涯中&#xff0c;一定会遇到glib、glibc、libc这些个名词。 尤其像我这种对英文名脸盲的人&#xff0c;看着它们就头大&#xff0c;因为单从名字上看&#xff0c;也太像了&#xff0c;所以经常容易混淆。 即使翻翻网上的资料&#xff0c;看完还是有点懵…

OceanBase 升级过程研究(4.2.1.6-4.2.1.8)

模拟业务 使用benchmark加载10仓数据模拟业务场景 升级方法 使用滚动升级方式来进行OB升级。该方法前提是OB集群必须满足官方规定的高可用架构(如果 Zone 个数小于 3&#xff0c;滚动升级时则无法构成多数派), 滚动升级的原理就是轮流完成每个ZONE的升级工作&#xff0c;由于…

使用 Ant Design Vue 自定渲染函数customRender实现单元格合并功能rowSpan

使用 Ant Design Vue 自定渲染函数customRender实现单元格合并功能rowSpan 背景 在使用Ant Design Vue 开发数据表格时&#xff0c;我们常常会遇到需要合并单元格的需求。 比如&#xff0c;某些字段的值可能会在多行中重复出现&#xff0c;而我们希望将这些重复的单元格合并为…

Godot的开发框架应当是什么样子的?

目录 前言 全局协程还是实例协程&#xff1f; 存档&#xff01; 全局管理类&#xff1f; UI框架&#xff1f; Godot中的异步&#xff08;多线程&#xff09;加载 Godot中的ScriptableObject 游戏流程思考 结语 前言 这是一篇杂谈&#xff0c;主要内容是对我…

ssm118亿互游在线平台设计与开发+vue(论文+源码)_kaic

毕业设计(论文) 亿互游在线平台的设计与开发 学生姓名 XXX 学 号 XXXXXXXX 分院名称 XXXXXXXX 专业班级 XXXXX 指导教师 XXXX 填写日期 XXXX年…

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并

MySQL技巧之跨服务器数据查询&#xff1a;基础篇-A数据库与B数据库查询合并 上一篇已经描述&#xff1a;借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的链接名: MY_ODBC_MYSQL 以…

LLaMA-Factory全流程训练模型

&#x1f917;本文主要讲述在docker下使用LLaMA-Factory训练推理模型。 &#x1fae1;拉取镜像 首先需要启动docker&#xff0c;然后在终端中输入&#xff1a; docker run -tid --gpus all -p 8000:8000 --name LLM -e NVIDIA_DRIVER_CAPABILITIEScompute,utility -e NVIDIA…