配置 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。

相关文档

返回帮助中心