阿里地区网站建设_网站建设公司_ASP.NET_seo优化
2025/12/28 14:49:25 网站建设 项目流程

利用 Showapi 接口「根据地名 / 快递单号」查询快递物流(完整教程 + 代码)
Showapi(万维易源)提供了通用快递查询接口,支持根据快递单号自动识别快递公司、指定快递公司 + 单号精准查询两种核心方式,也可实现地名查快递网点 / 快递时效,全程通过GET/POST请求调用,步骤标准化、适配所有编程语言,以下是完整落地指南。
✅ 一、前置核心准备(必做)

  1. 账号与密钥获取
    ① 访问Showapi 官网,注册账号并完成实名认证;② 在「API 市场」搜索快递查询,选择推荐的「快递物流查询大全」接口(使用率最高、支持快递公司最多),点击免费开通;③ 进入控制台,复制 2 个核心参数(后续所有请求必传):
    showapi_appid:应用唯一 ID
    showapi_sign:接口密钥(签名验证用,切勿泄露)
  2. 接口核心信息(快递查询主推)
    Showapi 快递相关接口有多个,优先用「通用快递查询」 即可满足 99% 需求,其他拓展接口按需选择:
    接口用途 接口地址 核心特点
    ✅通用快递查询(主推) https://route.showapi.com/64-19 支持单号自动识别快递公司、指定快递公司查询,返回完整物流轨迹
    快递网点查询 https://route.showapi.com/64-47 根据省 / 市 / 区地名查询当地快递网点、联系方式、地址
    快递时效查询 https://route.showapi.com/64-54 根据出发地 + 目的地地名,查询各快递公司的预估派送时效
    快递公司编码查询 https://route.showapi.com/64-20 获取所有支持的快递公司编码(如顺丰 = sf、中通 = zt)
    ✅ 二、核心接口调用详解(重点)
    ▶️ 接口 1:通用快递物流查询(最常用)
    ✔️ 1. 请求参数(GET/POST 均可,推荐 GET)
    这是根据快递单号查物流的核心接口,支持「自动识别快递公司」,参数分必填和可选,无冗余:
    参数名 是否必填 取值 / 说明
    showapi_appid ✅是 控制台获取的应用 ID
    showapi_sign ✅是 控制台获取的接口密钥
    num ✅是 快递单号(如SF1234567890、YT987654321)
    com ❌否 快递公司编码(如顺丰sf、中通zt);
    不传则自动识别,传则精准查询(推荐疑难单号传)
    ✅ 快递公司编码参考:顺丰sf、圆通yt、中通zt、申通sto、韵达yd、京东jd、邮政yzgn、极兔jt。
    ✔️ 2. 调用示例(3 种方式)
    方式 1:浏览器 / Postman 直接调试(快速验证)
    替换占位符,复制 URL 到浏览器即可返回结果:
    url
    https://route.showapi.com/64-19?showapi_appid=你的APPID&showapi_sign=你的密钥&num=你的快递单号
    方式 2:curl 命令调用(服务器 / 终端调试)
    bash
    运行
    curl "https://route.showapi.com/64-19?showapi_appid=123456&showapi_sign=abcdefg123&num=SF1234567890000"
    方式 3:Python 代码调用(可直接运行)
    适配 Python3.x,无需额外依赖(仅需requests库),含异常处理 + 结果解析,复制即用:
    python
    运行
    import requests

def query_express(express_num, appid, sign, com=""):
"""
快递查询核心函数
:param express_num: 快递单号
:param appid: showapi_appid
:param sign: showapi_sign
:param com: 快递公司编码(可选,不传自动识别)
:return: 解析后的物流轨迹字典
"""
url = "https://route.showapi.com/64-19"
params = {
"showapi_appid": appid,
"showapi_sign": sign,
"num": express_num
}
# 若指定快递公司,追加参数
if com:
params["com"] = com

try:res = requests.get(url, params=params, timeout=10)res.raise_for_status()  # 抛出HTTP请求错误result = res.json()# 接口请求成功(showapi_res_code=0为成功)if result["showapi_res_code"] == 0:return result["showapi_res_body"]else:return f"查询失败:{result['showapi_res_error']}"
except Exception as e:return f"网络/请求异常:{str(e)}"

========== 使用示例 ==========

if name == "main":
# 替换成自己的appid和sign
MY_APPID = "你的showapi_appid"
MY_SIGN = "你的showapi_sign"
# 快递单号
EXPRESS_NUM = "SF1234567890000"

# 调用查询(不传com则自动识别快递公司)
express_data = query_express(EXPRESS_NUM, MY_APPID, MY_SIGN)
print("✅ 快递查询结果:")
print(express_data)

✔️ 3. 响应结果解析(JSON)
接口返回标准 JSON 格式,showapi_res_code=0代表请求成功,核心物流数据在showapi_res_body中,示例如下:
json
{
"showapi_res_code": 0,
"showapi_res_error": "",
"showapi_res_body": {
"com": "sf", // 快递公司编码
"comName": "顺丰速运",// 快递公司名称
"num": "SF123456789",// 快递单号
"status": "签收", // 物流状态:待揽收/运输中/派送中/签收/异常
"list": [ // 物流轨迹列表(倒序,最新的在最前)
{
"time": "2025-12-28 10:20:00",
"context": "【北京市】已签收,签收人:门卫"
},
{
"time": "2025-12-28 08:30:00",
"context": "【北京市】正在派送中"
},
{
"time": "2025-12-27 18:00:00",
"context": "【上海市】快件已发出,前往北京市"
}
]
}
}
▶️ 接口 2:根据地名查询快递网点(补充)
满足输入省 / 市 / 区地名,查当地快递网点的需求,比如查「杭州市西湖区」的顺丰 / 中通网点,参数 & 调用示例如下:
✔️ 1. 请求参数
参数名 是否必填 说明
showapi_appid ✅是 控制台 APPID
showapi_sign ✅是 控制台密钥
area ✅是 地名(如杭州市、杭州市西湖区、北京市朝阳区)
com ❌否 快递公司编码(不传则查所有快递网点)
✔️ 2. 调用 URL 示例
url
https://route.showapi.com/64-47?showapi_appid=你的APPID&showapi_sign=你的密钥&area=杭州市西湖区&com=sf
✅ 三、关键注意事项(避坑必备)
接口调用限制:免费版套餐有每日调用次数 / 频率限制(一般单日 100-500 次),超出会返回403/503错误,企业级需求可升级付费套餐;
快递单号识别:95% 的单号可自动识别快递公司,极少数疑难单号(如小众快递)需手动传com编码,可先调用「快递公司编码接口」获取完整编码表;
物流状态值:接口返回的status核心值:0=待揽收、1=运输中、2=派送中、3=签收、4=异常;
签名错误排查:若返回签名错误,检查 3 点:showapi_appid与showapi_sign是否匹配、参数是否拼接错误、是否有多余空格;
网络请求:接口支持HTTP/HTTPS,生产环境优先用 HTTPS,请求超时建议设置10s内;
地名精度:查快递网点时,地名越精准结果越准(如XX市XX区>XX市)。
✅ 四、扩展功能(按需实现)
物流轨迹格式化:将接口返回的list轨迹列表,按「时间正序」展示,适配前端展示;
异常物流告警:判断status=4(异常)时,触发短信 / 邮件告警;
多单号批量查询:循环调用核心查询函数,实现批量快递单号查询,结果汇总导出;
快递时效预估:调用64-54接口,传入「出发地 + 目的地」地名,返回各快递公司的预估派送时间(如「上海→北京,顺丰 1 天,中通 2 天」)。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询