在電商業務中,物流查詢體驗直接影響用户滿意度。本文將詳細介紹如何快速集成快遞100物流查詢API,包括其新升級的智能時效預估能力,幫助開發者打造更專業的電商應用。
一、為什麼選擇快遞100 API?
快遞100 作為國內領先的物流數據服務商,其API接口是電商應用的理想選擇,主要優勢包括:
● 全面覆蓋:支持國內外3000+快遞公司,包括順豐、中通、圓通、申通等主流快遞商
● 高穩定性:日均查詢量突破4億,吞吐量近100萬/秒,輕鬆應對電商大促高峯
● 功能豐富:提供實時查詢、訂閲推送、電子面單、智能時效預估等全鏈路服務
● 開發者友好:接口高度標準化,提供多語言SDK,最快15分鐘內即可完成對接
二、準備工作:獲取API密鑰
1. 註冊企業賬號
訪問快遞100API開放平台官方網站註冊企業賬號。
2. 獲取API密鑰
在管理後台,查看自己的授權Key 和 Secret,這是調用API的核心憑證,請妥善保存。
3. 瞭解計費方式
查詢類接口的計費規則很友好:40天內同一運單號多次查詢不重複扣費,非常適合電商高頻查詢場景。
三、集成實時查詢API
實時查詢是電商應用中最常用的功能,讓用户能主動查看包裹當前位置。
1. 接口基本信息
● 請求地址:https://poll.kuaidi100.com/poll/query.do
● 請求方式:HTTP POST/GET
● 返回格式:JSON
2. 核心參數説明
| 參數名 | 是否必填 | 説明 |
|---|---|---|
| customer | 是 | 授權碼 |
| sign | 是 | 數字簽名 |
| param | 是 | JSON字符串,包含查詢參數 |
3. 簽名生成算法
簽名是API調用的安全保障,生成方式如下:
// 簽名計算公式
sign = MD5(param + key + customer)
// 加密後字符串轉32位大寫
4. 完整請求示例
// 構建請求參數
String key = "您的key";
String customer = "您的授權碼";
String param = "{"com":"yuantong","num":"YT255699866665411","phone":"..."}";
String sign = MD5Util.md5(param + key + customer).toUpperCase();
// 構建請求
Map<String, String> params = new HashMap<>();
params.put("customer", customer);
params.put("sign", sign);
params.put("param", param);
// 發送請求
String result = HttpClientUtil.post("https://poll.kuaidi100.com/poll/query.do", params);
5. 響應結果處理
成功響應示例:
{
"message": "ok",
"nu": "YT25569986666541",
"ischeck": "0",
"com": "yuantong",
"status": "200",
"data": [
{
"time": "2025-06-13 15:56:19",
"context": "您的快件離開【安徽省六安市葉集實驗區】,已發往【安徽省六安市】",
"ftime": "2025-06-13 15:56:19",
"areaCode": "CN341522000000",
"areaName": "安徽,六安市,霍邱縣",
"status": "在途",
"location": "六安市,霍邱縣",
"areaCenter": "116.277912,32.353038",
"areaPinYin": "huo qiu xian",
"statusCode": "0"
},
{
"time": "2025-06-13 15:53:52",
"context": "您的快件在【安徽省六安市葉集實驗區】已攬收",
"ftime": "2025-06-13 15:53:52",
"areaCode": "CN341522000000",
"areaName": "安徽,六安市,霍邱縣",
"status": "攬收",
"location": "六安市,霍邱縣",
"areaCenter": "116.277912,32.353038",
"areaPinYin": "huo qiu xian",
"statusCode": "1"
}
],
"state": "0",
"condition": "00",
"routeInfo": {
"from": {
"number": "CN430112000000",
"name": "湖南,長沙市,望城區"
},
"cur": {
"number": "CN341522000000",
"name": "安徽,六安市,霍邱縣"
},
"to": {
"number": "CN320583104000",
"name": "江蘇,蘇州市,崑山市,花橋鎮"
}
},
"isLoop": false,
"arrivalTime": "2025-06-14 13",
"totalTime": "0天21小時",
"remainTime": "0天20小時",
"predictedRoute": [
{
"arriveTime": "2025-06-13 15:53:52",
"leaveTime": "2025-06-13 15:56:19",
"province": "安徽",
"city": "六安市",
"district": "葉集區",
"name": "安徽省六安市葉集實驗區",
"state": "已經過節點",
"type": "網點"
},
{
"arriveTime": "2025-06-13 19:05:19",
"leaveTime": "2025-06-13 19:59:19",
"province": "安徽",
"city": "六安市",
"district": "金安區",
"name": "安徽省六安市",
"state": "預估途徑節點",
"type": "網點"
},
{
"arriveTime": "2025-06-13 23:09:19",
"leaveTime": "2025-06-13 23:16:19",
"province": "安徽",
"city": "合肥市",
"district": "肥東縣",
"name": "合肥轉運中心",
"state": "預估途徑節點",
"type": "轉運中心"
},
{
"arriveTime": "2025-06-14 06:58:19",
"leaveTime": "2025-06-14 07:17:19",
"province": "江蘇",
"city": "無錫市",
"district": "新吳區",
"name": "蘇州轉運中心",
"state": "預估途徑節點",
"type": "轉運中心"
},
{
"arriveTime": "2025-06-14 12:29:19",
"leaveTime": "2025-06-14 13:46:19",
"province": "江蘇",
"city": "蘇州市",
"district": "崑山市",
"name": "江蘇省崑山市城區",
"state": "預估途徑節點",
"type": "網點"
}
]
}
重要提示:請控制每一單查詢頻率至少在半小時以上,否則會造成鎖單。
四、重磅功能:智能時效預估免費升級
現在使用快遞100物流查詢接口,可免費升級為額外返回智能時效預估的能力,這是目前行業最前沿的物流預測功能。
1. 什麼是智能時效預估?
智能時效預估是快遞100基於AI+Data構建的中國首個快遞物流網絡數智圖譜推出的核心能力。用户在調用物流查詢API時,除了獲取物流軌跡,還可獲得:
● 預計送達時間
● 預測準確率
● 途經網點與轉運中心路線預測
2. 核心價值:從"查軌跡"到"預見未來"
● 透視數據可信度:probability 字段直接告知該次預估的準確率概率高達90%
● 體驗更透明:終端用户獲得的不止有物流軌跡信息,還能獲得快遞預計到達時間
● 接入零門檻:無需額外調整調用邏輯,完美兼容歷史接入方案
3. 兩種預估模式覆蓋全場景
● 全程時效預估(發貨前):在商品詳情頁直接展示預計送達時間,催化消費者決策
● 在途時效預估(發貨後):當包裹已發出,系統會實時更新預計送達時間,離收貨地越近,預測越準
4. 如何啓用智能時效預估?
調用快遞100物流查詢接口時,在請求參數的 resultv2 字段選擇8,即可額外獲得智能時效預估數據。
五、小程序集成實戰
1. 小程序端實現
在小程序頁面中展示物流信息和時效預估:
<!-- logistics.wxml -->
<view class="logistics-container">
<view class="logistics-header">
<text class="company">快遞公司:{{companyName}}</text>
<text class="number">運單號:{{expressNumber}}</text>
</view>
<!-- 時效預估信息 -->
<view class="time-estimate" wx:if="{{estimatedTime}}">
<text class="estimate-text">預計送達:{{estimatedTime}}</text>
<text class="probability" wx:if="{{probability}}">準確率:{{probability}}%</text>
</view>
<view class="progress-bar">
<view class="progress-item {{item.status}}" wx:for="{{logisticsList}}" wx:key="time">
<view class="dot"></view>
<view class="content">
<text class="context">{{item.context}}</text>
<text class="time">{{item.ftime}}</text>
</view>
</view>
</view>
</view>
2. 服務端API封裝
建議在小程序服務端封裝快遞100接口,避免前端直接暴露API密鑰:
// Node.js後端接口示例
const express = require('express');
const router = express.Router();
const md5 = require('md5');
router.post('/logistics/query', async (req, res) => {
try {
const { com, num } = req.body;
const key = process.env.KUAIDI100_KEY;
const customer = process.env.KUAIDI100_CUSTOMER;
const param = JSON.stringify({
com,
num,
resultv2: 8 // 啓用智能時效預估
});
// 生成簽名
const sign = md5(param + key + customer).toUpperCase();
// 調用快遞100接口
const response = await fetch('https://poll.kuaidi100.com/poll/query.do', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
customer,
sign,
param
})
});
const result = await response.json();
// 返回包含智能時效預估的結果
res.json({
logisticsList: result.data,
estimatedTime: result.estimatedTime, // 預計送達時間
probability: result.probability // 預測準確率
});
} catch (error) {
res.status(500).json({ error: '查詢失敗' });
}
});
六、物流跟蹤:訂閲推送API
對於需要持續追蹤快遞的場景,訂閲推送比實時查詢更高效。
1. 工作流程
● 開發者調用訂閲接口,設置回調地址
● 當物流狀態更新時,快遞100會主動向該地址推送最新信息
● 一般會在15分鐘左右進行第一次監控
2. 優勢
● 及時性:狀態變化立即推送,無需等待用户查詢
● 節省資源:減少不必要的API調用
● 自動化:可基於推送消息自動更新訂單狀態
七、常見問題與解決方案
1. 簽名驗證失敗
問題:返回503錯誤,簽名認證失敗
解決:檢查簽名生成算法,確保按 param + key + customer 順序MD5加密,並轉為32位大寫
2. 單號不存在
問題:返回500錯誤,查詢無結果
解決:
● 確認單號和快遞公司正確
● 剛下單的包裹可能還未錄入系統,建議延遲查詢
● 檢查單號是否存在空格等特殊字符
3. 智能時效預估數據不顯示
問題:未返回預估時間和準確率
解決:
● 檢查請求參數是否設置 resultv2: 8
九、總結
通過快遞100 API,開發者可以快速為電商小程序和App集成專業級物流查詢功能,特別是新升級的智能時效預估能力,讓您的應用從"查詢軌跡"升級到"預見未來"。
現在就開始集成,為您的電商應用賦予更智能的物流查詢能力吧!
希望本文對您有所幫助,歡迎在評論區交流討論!