配置 API 發送密鑰

最後更新:2025年12月 閱讀時間:約 5 分鐘

當您需要透過 API 自動生成並發送密鑰給客戶時,可以為商品配置 API 呼叫參數。本文將詳細介紹 API 配置的各項參數和簽名驗證機制。

啟用 API 模式

首先,您需要在商品編輯頁面將密鑰類型從「密鑰」切換為「API」,儲存後在倉庫列表中點擊該商品的「API 管理」進入配置頁面。

API 管理入口
API 管理配置頁面

基本配置

參數 說明
URL API 請求地址,支援 GETPOST 方法
密碼驗證 可選擇「明文密碼」或「簽名密鑰」兩種驗證方式

簽名驗證機制

使用簽名密鑰可以確保請求的安全性和完整性。密鑰僅儲存於伺服器端,不在網路傳輸過程中洩露。

安全說明
簽名驗證可確保接收到的請求未被篡改且來源可靠。如不設定密鑰則簽名驗證不生效。

簽名計算步驟

  1. 建構簽名字串
    將當前時間戳(毫秒)+ \n + 密鑰 拼接為簽名字串
  2. 計算 HMAC-SHA256
    使用 HmacSHA256 演算法對簽名字串進行計算
  3. Base64 編碼
    對計算結果進行 Base64 encode
  4. URL 編碼
    對 Base64 結果進行 urlEncode(使用 UTF-8 字元集),得到最終簽名

PHP 範例程式碼

PHP
<?php
// 取得 13 位毫秒時間戳
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);

// 簽名密鑰
$secret = "your_secret_key";

// 建構簽名字串
$str = "{$msectime}\n{$secret}";

// 計算 HMAC-SHA256(原始二進位數據)
$hmacSha256 = hash_hmac('sha256', $str, $secret, true);

// Base64 編碼後 URL 編碼
$signature = urlencode(base64_encode($hmacSha256));

var_dump($signature);

Request Headers

API 請求會包含以下 Headers 資訊:

Header 說明
Content-Type application/json 預設內容類型
User-Agent apsdai-hook 固定值,用於識別來自 APSDAI 的請求
X-Apsdai-Token password / sign 明文密碼或計算後的簽名
X-Apsdai-Timestamp 1576754827988 觸發 API 請求的時間戳(毫秒)

自定義參數

Headers 自定義

點擊「新增」可新增自定義 Header,填寫 KEY 和 VALUE。

Body 自定義

Body 參數的 VALUE 可來源於倉庫資訊收集的數據。點擊「新增」後填寫 KEY 和 VALUE。

回應格式

✓ 成功回應
{
  "code": "SUCCESS",
  "message": "成功",
  "data": {
    "key": [
      "xxxxxxx密鑰1xxxxxxxxx",
      "xxxxxxx密鑰2xxxxxxxxx",
      "xxxxxxx密鑰3xxxxxxxxx"
    ]
  }
}
✗ 失敗回應
{
  "code": "FAIL",
  "message": "失敗原因"
}
回應說明
成功:HTTP 狀態碼回傳 200 或 204,可回傳密鑰數據或無需回傳應答報文。
失敗:HTTP 狀態碼回傳非 200/204,或回應 code 為 FAIL。

相關文件

返回幫助中心