本文档面向希望对接 DCShop 系统作为货源的第三方站点开发者。通过以下 API,你可以从货源站(主站)拉取商品、代为下单、实时查询发货状态,实现完全自动化的商品分销。任何语言和系统(如彩虹云、晴玖云等)均可对接。
UTF-8。接口地址统一为主站 /user/api.php,通过 action 参数区分不同功能。一个完整的对接集成通常按以下步骤进行:
api_keygoods_category 获取主站所有允许对接的商品分类goods_list 按分类获取商品,同步到本地goods_detail 获取单个商品的完整规格、价格、库存信息order_buy 向主站下单并扣费order_query 定时查询是否已发货user_info 查询当前账户余额及会员等级为了兼顾开发便捷性与系统安全性,API 支持两种鉴权模式。推荐在生产环境中使用“安全签名模式”。
通过对请求参数签名并包含时间戳,防止请求被篡改和重放攻击(重放窗口为 5 分钟)。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
api_key | string | 是 | 主站分配的 API 对接密钥 |
timestamp | int | 是 | 当前 Unix 时间戳(单位:秒)。与主站服务器时间偏差不得超过 300 秒(5分钟) |
sign | string | 是 | 请求签名值,算法详见下方说明 |
sign 参数本身)按参数名(Key)的 ASCII 码升序排序。key1=value1&key2=value2&... 的格式拼接。&key=YOUR_API_KEY。sign 传入。// 待签名的请求参数
$params = [
'action' => 'user_info',
'api_key' => 'YOUR_API_KEY',
'timestamp' => time()
];
// 1. 按键名升序排序
ksort($params);
// 2. 拼接参数
$signStr = '';
foreach ($params as $k => $v) {
$signStr .= $k . '=' . $v . '&';
}
// 3. 追加 key
$signStr .= 'key=YOUR_API_KEY';
// 4. MD5 签名
$params['sign'] = md5($signStr);
直接在请求中传递 api_key,不进行签名校验。适合开发调试或简单的内部对接。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
api_key | string | 是 | 主站分配的 API 对接密钥,可通过 GET 或 POST 方式传入 |
api_key,不要将其暴露在前端代码中。在生产环境下,建议强制使用安全签名模式并开启 IP 白名单功能。{
"code": 0,
"msg": "ok",
"data": { ... }
}
{
"code": 1,
"msg": "错误描述信息",
"data": ""
}
| 字段 | 类型 | 说明 |
|---|---|---|
code | int | 0 = 成功,1 = 失败 |
msg | string | 成功时为 "ok",失败时为具体错误描述 |
data | mixed | 成功时为数据对象/数组,失败时为空字符串 |
400,但 JSON 结构始终一致。请优先用 code 字段判断成功/失败,不要仅依赖 HTTP 状态码。所有接口中的价格字段均以 元 为单位(如 9.90),保留两位小数。在对接端存储时建议转为整数分(× 100)以避免浮点精度问题。