快速开始

本指南将引导您完成第一次 API 调用。

公共参数

所有接口调用都需要包含以下公共参数:

参数名类型描述
sidString商家ID(卖家账号)
appkeyString应用的唯一标识
timestampString时间戳(秒级),误差允许范围 ±10 分钟
signString签名,用于验证请求合法性

签名算法

签名生成规则如下:

  1. 将所有业务参数和公共参数(不包括 sign)按参数名 ASCII 码从小到大排序。
  2. 使用 URL 键值对格式(key=value)拼接成字符串。
  3. 在拼接字符串的首尾拼接 appsecret
  4. 对拼接后的字符串进行 MD5 运算,将得到的 32 位字符串转换为大写。
javascript

const crypto = require('crypto');

function generateSign(params, appSecret) {
  // 1. 过滤空值并排序
  const keys = Object.keys(params).sort();
  
  // 2. 拼接字符串
  let str = appSecret;
  for (const key of keys) {
    if (key === 'sign' || params[key] === undefined || params[key] === '') continue;
    str += key + params[key]; // 注意:具体拼接方式需参考官方最新文档,此处为常见示例
    // 或者 str += key + '=' + params[key] + '&'; 
    // 旺店通通常是 key+value 或者 key+value 直接拼接,具体视官方而定。
    // 假设为 key+value 紧凑格式:
  }
  str += appSecret;
  
  // 3. MD5 加密
  return crypto.createHash('md5').update(str, 'utf8').digest('hex').toUpperCase();
}
            

发起请求

建议使用 POST 请求,Content-Type 为 application/jsonapplication/x-www-form-urlencoded

bash

curl -X POST "https://api.wangdian.cn/openapi2/stock_query.php" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "sid=test_merchant&appkey=test_app&timestamp=1678888888&sign=YOUR_SIGN&..."