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

news2024/11/23 23:17:34

一.基础准备

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 小时之间,接口非常标准,为开发者省去了很多繁琐的工作.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多角度审视推荐系统

参考自《深度学习推荐系统》——王喆,用于学习和记录 介绍 推荐工程师需要从不同的维度审视推荐系统,不仅抓住问题的核心,更要从整体上思考推荐问题。 具体包括以下内容: (1)推荐系统如何选取和处理特征…

网络自动化04:python实现ACL匹配信息(主机与主机信息)

目录 背景分析代码代码解读代码总体结构1. load_pattern_from_excel 函数2. match_and_append_pattern 函数3. main 函数总结 最终的效果: 今天不分享netmiko,今天分享一个用python提升工作效率的小案例:acl梳理时的信息匹配。 背景 最近同事…

如何查看电脑关机时间

要查看电脑的关机时间,可以按照以下步骤进行操作: 1. 打开事件查看器:按下键盘上的Windows键R键,然后在弹出的运行对话框中输入"eventvwr.msc",并按下Enter键。 2. 在事件查看器窗口中,单击左侧窗…

3DTiles之i3dm介绍

3DTiles之i3dm介绍 3D Tiles 是一种用于高效存储和传输三维城市、建筑、地形、点云等空间数据的开放标准格式。i3dm(Intel 3D Model)是 3D Tiles 中用于表示三维模型(如建筑物或其他对象)的一个子格式。i3dm 格式的出现&#xff…

Java | Leetcode Java题解之第559题N叉树的最大深度

题目&#xff1a; 题解&#xff1a; class Solution {public int maxDepth(Node root) {if (root null) {return 0;}Queue<Node> queue new LinkedList<Node>();queue.offer(root);int ans 0;while (!queue.isEmpty()) {int size queue.size();while (size &g…

【机器学习入门】(1) 线性回归算法

学习目标&#xff1a; 线性回归是一种基本的统计学习方法&#xff0c;主要用于分析一个或多个自变量与因变量之间的线性关系。以下是关于线性回归的一些关键点&#xff1a;线性回归的四要素&#xff1a; &#xff08;1&#xff09;假设(hypothesis)&#xff1b;&#xff08;2&…

视频会议接入GB28181视频指挥调度,语音对讲方案

传统的视频会议指挥调度系统目前主流的互联网会议大部分都是私有协议&#xff0c;功能都很独立。目前主流的视频监控国标都最GB平台&#xff0c;新的需求要求融合平台要接入监控等设备&#xff0c;并能实现观看监控接入会议&#xff0c;实时语音设备指挥现场工作人员办公实施。…

一文1800字使用Jmeter进行http接口性能测试!

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 为什么要做接口测试&#xff1f; 越底层发现b…

搭建监控系统Prometheus + Grafana

公司有个技术分享会&#xff0c;但是业务忙&#xff0c;没时间精心准备&#xff0c;所以就匆匆忙忙准备分享一下搭建&#xff08;捂脸哭&#xff09;。技术含量确实不多&#xff0c;但是分享的知识确实没问题。 以下是搭建过程&#xff1a; 一、讲解 Prometheus Prometheus 最…

ArkTS中的自定义构建函数、Tab栏和组件状态共享

一、自定义构建函数 1.构建函数 Builder 1.1 介绍 文档地址&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builder-V5?catalogVersionV5 概念&#xff1a;ArkUI提供了一种轻量的UI元素复用机制Builder&#xff0c;可以将重复使用的U…

二维、三维情况下的锚点优选方法

多锚点定位时&#xff0c;锚点的选择对定位精度有重要影响。下面介绍基于误差最小化的锚点选择的相应公式和MATLAB代码示例&#xff0c;并进行详细分析 文章目录 方法描述代码MATLAB代码示例代码运行结果 总结 方法描述 选择能够最小化定位误差的锚点组合。通过计算锚点位置与…

CCF ChinaOSC |「开源科学计算与系统建模openSCS专题分论坛」11月9日与您相约深圳

2024年11月9日至10日&#xff0c;以“湾区聚力 开源启智”为主题的2024年中国计算机学会中国开源大会&#xff08;CCF ChinaOSC&#xff09;将在深圳召开。大会将汇聚国内外学术界、顶尖科技企业、科研机构及开源社区的精英力量&#xff0c;共同探索人工智能技术和人类智慧的无…

力扣102:二叉树的层次遍历

给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例 2&#xff1a; 输入&a…

数学建模模型算法-Python实现

一、评价决策类 1、层次分析法&#xff08;AHP&#xff09; 层次分析法用来评价或选择一个更好更优的决策或方案 通过找到可以衡量其好坏的指标&#xff0c;进而衡量指标&#xff0c;再形成评价体系 归一化处理 让指标在同一数量级&#xff0c;且保证在同一指标下其差距保持…

linux-vlan(1)

# VLAN # 1.topo # 2.创建命名空间 ip netns add ns1 ip netns add ns2 ip netns add ns3 # 3.创建veth设备 ip link add ns1-veth0 type veth peer name ns21-veth0 ip link add ns3-veth0 type veth peer name ns23-veth0 # 4.veth设备放入命名空间,启动接口 ip link set n…

spring cloud 入门笔记1(RestTemplate,Consul)

最大感受&#xff1a; spring cloud无非是将spring boot中的各个工作模块拆分成独立的小spring boot&#xff0c;各个模块之间&#xff0c;不再是通过导包什么的&#xff0c;调用而是通过网路进行各个模块之间的调用 工具一&#xff1a;RestTemplate 在Java代码中发送HTTP请…

FlinkSql读取kafka数据流的方法(scala)

我的scala版本为2.12 <scala.binary.version>2.12</scala.binary.version> 我的Flink版本为1.13.6 <flink.version>1.13.6</flink.version> FlinkSql读取kafka数据流需要如下依赖&#xff1a; <dependency><groupId>org.apache.flink&…

Docker 安装Immich教程

Immich 是一个开源的自托管照片和视频管理平台,专为帮助用户存储、管理、和分享个人媒体库而设计。Immich 的目标是提供一个类似 Google Photos 的替代方案,但不依赖于第三方服务,用户可以完全控制自己的数据。 本章教程,记录如何用Docker部署安装Immich,使用的操作系统的…

【CICD】CICD 持续集成与持续交付在测试中的应用

一、什么是CICD&#xff1f; CI/CD 是指持续集成&#xff08;Continuous Integration&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;或持续交付&#xff08;Continuous Delivery&#xff09; 1.1 持续集成&#xff08;Continuous Integration&#xf…

交友问题 | 动态规划

描述 如果有n个人&#xff0c;每个人都可以保持单身或与其他人结成一对。每个人只能找一个对象。求总共有多少种保持单身或结对的方式。用动态规划求解。 输入 输入第一行t表示测试用例的数量 对于每一个测试用例, 输入一个整数n表示人数1<n<18 输出 针对每个测试用…