動態

詳情 返回 返回

如何在商城小程序和App中實現物流跟蹤?快遞100 API集成教程 - 動態 詳情

在電商業務中,物流查詢體驗直接影響用户滿意度。本文將詳細介紹如何快速集成快遞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集成專業級物流查詢功能,特別是新升級的智能時效預估能力,讓您的應用從"查詢軌跡"升級到"預見未來"。

 

現在就開始集成,為您的電商應用賦予更智能的物流查詢能力吧!

希望本文對您有所幫助,歡迎在評論區交流討論!

Add a new 評論

Some HTML is okay.