API
51Tracking提供API接口及相關(guān)功能,接口速率、類型、及調(diào)用步驟請(qǐng)?zhí)D(zhuǎn)至相應(yīng)的Api文檔進(jìn)行查看。強(qiáng)烈推薦您使用V4版本,支持了更多的字段信息,優(yōu)化了報(bào)文結(jié)構(gòu),提供了UTC時(shí)間格式。V4版本不向下兼容,但您任可以使用V2以及V3版本。在不久的將來(lái)我們將會(huì)停用V2 V3版本,屆時(shí)會(huì)通過(guò)郵件&短信進(jìn)行告知。 請(qǐng)注意API的調(diào)用為一項(xiàng)付費(fèi)功能,我們?yōu)樾掠脩籼峁┳?cè)起為其7天的免費(fèi)試用。試用期過(guò)后,升級(jí)您的賬戶即可繼續(xù)使用該功能。
如何使用Webhook
【開發(fā)者中心】→【W(wǎng)ebhook】 您需要提供一個(gè)允許公網(wǎng)訪問(wèn)的API接口地址,用于接收物流軌跡信息推送我們系統(tǒng)會(huì)默認(rèn)一個(gè)單號(hào)物流軌跡推送給您進(jìn)行接收測(cè)試當(dāng)您保存webhook地址以及版本之后,會(huì)出現(xiàn)可以選擇具體物流軌跡推送的節(jié)點(diǎn)一個(gè)賬號(hào)只能有一個(gè)Webhook URL,保留3天內(nèi)的推送記錄
API調(diào)用步驟
1.創(chuàng)建單號(hào):調(diào)用「添加物流單號(hào)」接口POST 2.獲取結(jié)果調(diào)用「 獲取查詢結(jié)果」接口GET(最多一次請(qǐng)求,一次請(qǐng)求最多2000個(gè)單號(hào))
獲取API Key
進(jìn)入51用戶后臺(tái),選擇「開發(fā)者中心」 → 「API Key調(diào)試」,復(fù)制你的API Key。 Tips:獲取 API Key 之后,請(qǐng)妥善保管你的 API Key,不要將其分享到網(wǎng)站上,這可能導(dǎo)致 API Key 被他人使用而造成損失。
V3版本 Webhook 簽名驗(yàn)證
為了確保消息的來(lái)源身份是 51tracking,你可以選擇對(duì) POST 數(shù)據(jù)的來(lái)源進(jìn)行安全認(rèn)證。 ( 不驗(yàn)證,直接解析 POST 的數(shù)據(jù)也可以 ) 安全認(rèn)證的方法如下: 解析出 POST 數(shù)據(jù)中的 timestamp 和 signature 這兩個(gè)參數(shù)。 使用你的 51tracking 用戶郵箱(密鑰) 和 timestamp (明文) 生成簽名 signature, 與 POST 數(shù)據(jù)中的 signature 進(jìn)行校驗(yàn) ( 簽名算法: PHP:SHA256、JAVA:HmacSHA256) 備注:使用附帶的Jave和Php示例代碼來(lái)驗(yàn)證51Tracking數(shù)據(jù),當(dāng)驗(yàn)證您自己的數(shù)據(jù)請(qǐng)?zhí)鎿QSIGNATURE,TIMESTAMP 和 ACCOUNT。 Javaimport javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; public class Main { public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException { String signature = \"0d90bb874fed0b056d8b3aa794529ebacd49932a0cea691629b63eaf2ca9d400\"; String timestamp = \"1653632765\"; String account = \"info@trackingmore.org\"; Mac sha256_HMAC = Mac.getInstance(\"HmacSHA256\"); SecretKeySpec secret_key = new SecretKeySpec(account.getBytes(), \"HmacSHA256\"); sha256_HMAC.init(secret_key); byte[] bytes = sha256_HMAC.doFinal(timestamp.getBytes()); StringBuilder new_signature = new StringBuilder(); for (byte item : bytes) { new_signature.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3)); } System.out.println(new_signature.toString()); System.out.println(new_signature.toString().equals(signature)); } } Php$signature = \'0d90bb874fed0b056d8b3aa794529ebacd49932a0cea691629b63eaf2ca9d400\'; $timestamp = \'1653632765\'; $account = \'info@trackingmore.org\'; $new_signature = hash_hmac(\'sha256\', $timestamp, $account); var_dump($signature == $new_signature , $new_signature); * V2與V3版本的簽名是 郵箱+時(shí)間戳 的加密方式,如果您變更了您的賬戶郵箱,需要更改簽名使用的郵箱。V4版本中使用的是 APIKey+時(shí)間戳 的加密方式,所以不存在此問(wèn)題。
API在線調(diào)試
1.開始調(diào)試【開發(fā)者中心】→【API密匙】→【在線調(diào)試】 2.創(chuàng)建單號(hào)流程注:創(chuàng)建會(huì)消耗您的單號(hào)額度,創(chuàng)建后需等待一些時(shí)間查詢物流軌跡,否則單號(hào)狀態(tài)為查詢中,無(wú)法獲取到物流軌跡 第一步:需先選擇 /v3/trackings/create 接口,創(chuàng)建運(yùn)單號(hào),如果您配置了 Webhooks,當(dāng)獲取到物流軌跡后,將會(huì)通知到您的系統(tǒng) 第二步:選擇 /v3/trackings/get 接口,獲取第一步添加運(yùn)單號(hào)物流軌跡
查物流軌跡,就用51Tracking