软猫引擎API开放平台
  1. 接口安全API(必看)
软猫引擎API开放平台
  • 接口安全API(必看)
    • 重要说明
    • 数据签名与验签方式
    • 获取AccessToken
      POST
  • 用户基础API
    • 获取永久用户标识
      • 获取永久用户标识UserId(根据临时用户标识userCode)
      • 获取永久用户标识UserId(根据已注册的手机号码)
    • 用户登录/退出
      • 发送短信验证码(用户登录)
      • 用户登录(通过短信验证码)
      • 用户登录(通过密码)
      • 用户退出登录
    • 用户注册
      • 发送短信验证码(用户注册)
      • 上传用户头像(用户注册)
      • 用户注册
    • 修改用户登录密码
      • 发送短信验证码(修改用户登录密码)
      • 修改用户登录密码
    • 查看/修改用户安全密码
      • 查看用户安全密码状态
      • 发送短信验证码(修改用户安全密码)
      • 修改用户安全密码
    • 修改用户手机号码
      • 发送短信验证码(修改用户手机号码-新手机号码)
      • 发送短信验证码(修改用户手机号码-原手机号码)
      • 修改用户手机号码
    • 用户资料
      • 获取用户资料
      • 获取用户等级
      • 获取用户职称
      • 设置用户头像
      • 设置用户昵称
      • 设置用户性别
      • 设置用户所在地
    • 用户邀请人
      • 推广卡片生成与邀请人绑定
      • 绑定邀请人(通过推广人ID)
      • 绑定邀请人(通过手机号码)
      • 获取用户邀请人信息
    • 用户统计
      • 批量获取用户统计数据
      • 获取用户统计数据(高级版)
      • 获取用户统计数据(高级+周期版)
    • 用户配置
      • 配置Key说明
      • 读取用户配置
      • 批量读取用户配置
      • 修改用户配置
  • 用户收件地址API
    • 获取用户的收件地址列表
      POST
    • 获取用户的收件地址(根据id获取)
      POST
    • 添加用户收件地址
      POST
    • 修改用户收件地址
      POST
    • 删除用户收件地址
      POST
    • 设置默认用户收件地址
      POST
  • 用户资产API
    • 余额配置
      • 配置Key说明
      • 读取余额配置
      • 批量读取余额配置
      • 修改余额配置
    • 积分配置
      • 配置Key说明
      • 读取积分配置
      • 批量读取积分配置
      • 修改积分配置
    • 代币配置
      • 配置Key说明
      • 读取代币配置
      • 批量读取代币配置
      • 修改代币配置
    • 用户转账
      • 根据收款人手机号码获取转账句柄(用于发起转账)
      • 根据收款人ID获取转账句柄(用于发起转账)
      • 根据收款人ID获取转账句柄(用于发起聚合转账)
      • 发起余额转账
      • 发起代币转账
      • 发起积分转账
      • 获取余额转账日志记录(转出)
      • 获取余额收款日志记录(转入)
      • 获取代币转账日志记录(转出)
      • 获取代币收款日志记录(转入)
      • 获取积分转账日志记录(转出)
      • 获取积分收款日志记录(转入)
    • 余额提现
      • 读取余额提现配置
      • 发起提现到银行卡
      • 发起提现到微信零钱
      • 取消提现到微信零钱
      • 获取提现到银行卡的日志记录
      • 获取提现到微信零钱的日志记录
      • 获取用户提现统计
    • 用户银行卡
      • 获取支持的银行列表
      • 验证银行卡号是否正确
      • 绑定用户银行卡
      • 解绑用户银行卡
      • 获取已绑定的用户银行卡列表
    • 获取用户资产(可用余额/冻结余额/积分/代币)
      POST
    • 获取用户余额明细日志
      POST
    • 获取用户积分明细日志
      POST
    • 获取用户代币明细日志
      POST
    • 获取用户冻结余额明细
      POST
    • 创建用户余额充值订单
      POST
  • 用户消息API
    • 获取用户消息列表
    • 获取用户消息数量
    • 设置消息已读
    • 批量设置消息已读
  • 商品/分类/购物车/收藏/订单/退换货/评论句柄API
    • 商品API
      • 获取商品列表(分页获取)
      • 获取商品列表(仅获取前N个)
      • 获取完整的商品信息(用于商品详情页,不含款式数据)
      • 获取商品款式集合(用于客户端的商品款式选择器)
      • 获取商品分享卡片绘制数据
      • 获取微信小程序分享到聊天窗口的商品卡片图片(固定尺寸为800px*640px)
      • 读取线下销量/线下评论/线下收藏量的显示配置
      • 获取商品评价统计
      • 获取商品评价列表
      • 获取前N个正在进行的拼团(根据商品ID获取)
    • 商品分类API
      • 获取商品分类树
    • 购物车API
      • 获取购物车商品数量
      • 获取购物车商品列表
      • 更新购物车
      • 批量更新购物车(仅支持扣除,不支持增加)
    • 商品收藏API
      • 获取商品收藏列表
      • 切换商品收藏状态(收藏/取消收藏)
      • 批量取消收藏商品
    • 商品订单API
      • 生成订单提交句柄
      • 计算快递费
      • 提交并创建订单
      • 获取用户的商品订单数量
      • 获取用户的商品订单列表
      • 获取全平台的商品订单列表
      • 获取用户的商品订单详情
      • 修改订单收件地址(根据收件地址ID)
      • 修改订单收件地址(无需收件地址ID)
      • 取消订单
      • 签收订单
      • 读取订单收件信息(含收件地址、快递信息)
      • 设置订单的管理员备注
      • 设置商品订单后台付款
      • 修改订单价格
      • 订单发货(仅发货,不录入快递单号)
      • 订单发货(需录入快递单号)
      • 设置订单线下取货(无需发货)
      • 对已发货的订单补充更多快递单号
      • 读取拼团详情
    • 退换货API
      • 获取订单退/换货申请句柄
      • 获取订单退/换货详情
      • 上传图片(用于申请退/换货)
      • 发起订单退/换货申请
      • 取消订单退/换货申请
    • 评论句柄API
      • 获取用户的商品评论数量
      • 获取评论句柄列表
      • 获取评论句柄
      • 获取评论详情
      • 上传图片(用于发表商品评论)
      • 上传视频(用于发表商品评论)
      • 发表商品评论
      • 追加商品评论
      • 删除评论
    • 其他API
      • 获取用户最近买过的商品列表
      • 获取全商城最近的下单历史记录(用于客户端展示)
      • 汇总指定用户的订单
  • 文件API
    • 上传临时图片文件
    • 上传临时视频文件
    • 上传临时音频文件
  • 系统功能API
    • 功能Key说明
    • 获取所有已开通的功能列表
    • 验证是否已开通指定功能
  • 行政区划API
    • 获取省市区树
    • 获取省份列表(一级行政区划)
    • 获取城市列表(二级行政区划)
    • 获取区/县/镇列表(三级行政区划)
  • 收银台API
    • 获取订单支付句柄(用于发起支付)
    • 发起余额支付
    • 发起积分支付
    • 发起代币支付
    • 判断是否已开通微信支付
    • 发起微信支付
    • 判断(微信支付)订单是否已付款
    • 判断订单是否已付款
  • 商城配置API
    • 配置Key说明
    • 读取商城配置
    • 批量读取商城配置
    • 修改商城配置
  • 快递API
    • 获取快递公司列表
    • 获取所有快递计费规则
    • 判断是否指定区域是否开放配送
  • 多商户系统API
    • 获取商户类型列表
    • 获取商户品牌信息
    • 获取商户列表
    • 获取商户详情
  • 表单系统API
    • 获取表单详情
    • 上传图片(用于提交表单)
    • 提交表单
    • 获取用户的提交记录列表
    • 获取用户的提交记录详情
  • 核销券API
    • 根据商品订单号获取用户核销券列表
    • 获取用户的核销券列表
    • 对用户发行/赠予核销券
    • 使核销券过期(作废)
    • 使核销券已核销
  • 文案系统API
    • 设置“关于我们”内容
    • 获取“关于我们”内容
    • 设置“用户服务条款”内容
    • 获取“用户服务条款”内容
  • 万能信息公示系统API
    • 获取公示信息模型基础信息
    • 获取公示信息的查询权限
    • 获取公示信息列表(分页获取)
    • 获取公示信息列表(仅获取前N条)
    • 获取公示信息详情
    • 获取我阅读过的公示信息列表(分页获取)
    • 获取我点赞的公示信息列表(分页获取)
    • 获取我收藏的公示信息列表(分页获取)
    • 收藏公示信息
    • 取消收藏公示信息
    • 点赞公示信息
    • 取消点赞公示信息
  • 微信小程序API
    • 特别声明
    • 用户登录(通过微信小程序的用户登录凭证code)
    • 关联微信小程序用户
    • 根据微信小程序jsCode获取OpenId
    • 根据用户标识获取已关联的OpenId
    • 解除关联微信小程序用户
    • 生成小程序码
    • 根据小程序场景码(code)获取场景信息(url)
  • 数据模型
    • 标准响应模型
    • 标准数据分页模型
    • 用户银行卡数据模型
    • 用户收件地址数据模型
    • 基础商品数据模型(客户端专用)
    • 完整商品数据模型(客户端专用,不含款式数据和详情HTML)
    • 商品评论数据模型(客户端专用)
    • 商品款式集合数据模型(客户端专用)
    • 商品款式项数据模型(客户端专用)
    • 商品订单数据模型(客户端专用)
    • 商品订单中的商品数据模型(客户端专用)
    • 商品订单数据模型
    • 商品订单中的商品数据模型
    • 公示信息基础数据模型(客户端专用)
  1. 接口安全API(必看)

数据签名与验签方式

为了防止数据被劫持修改,本系统的数据采用以下签名与验签方式:#

1.假设要签名的JSON数据对象如下:
{
  "code": 1,
  "codeEn": "Success",
  "msg": "请求成功",
  "randStr": "5YCy-9L6b5VD4vNO_7UVq1",
  "requestId": "5438695a-4f53-4971-a64f-b3bb01210731",
  "sign": null,
  "time": 1766424739444,
  "paramNullTest":null,
  "data": {
    "param1": 1382832,
    "param2": 1766426122236,
    "param3": "1234567890",
    "param4": null
  }
}
2.取出json数据对象的一级且属性值非null且属性名非sign的属性名key和属性值value进行key=value格式拼接,并根据属性名key进行ASCII字典序(升序)排序,具体如下:
code=1

codeEn=Success

data={"param1": 1382832,"param2": 1766426122236,"param3": "1234567890","param4": null}

msg=请求成功

randStr=5YCy-9L6b5VD4vNO_7UVq1

requestId=5438695a-4f53-4971-a64f-b3bb01210731

time=1766424739444
3.然后将上述获得的字符串用字符&连接起来,得到待签名字符串①
code=1&codeEn=Success&data={"param1": 1382832,"param2": 1766426122236,"param3": "1234567890","param4": null}&msg=请求成功&randStr=5YCy-9L6b5VD4vNO_7UVq1&requestId=5438695a-4f53-4971-a64f-b3bb01210731&time=1766424739444
4.再将APP秘钥(AppSecret)拼接到字符串最后,拼接字符串为&appSecret=APP秘钥:
假设APP秘钥(AppSecret)为
eDBMGX9R6AcXcIjc7mN66IMzKUD3KnzodN+7tzwAAO53EFN
则对待签名字符串①拼接得到待签名字符串②,如下:
code=1&codeEn=Success&data={"param1": 1382832,"param2": 1766426122236,"param3": "1234567890","param4": null}&msg=请求成功&randStr=5YCy-9L6b5VD4vNO_7UVq1&requestId=5438695a-4f53-4971-a64f-b3bb01210731&time=1766424739444&appSecret=eDBMGX9R6AcXcIjc7mN66IMzKUD3KnzodN+7tzwAAO53EFN
5.最后将待签名字符串②进行求MD5,获得32位小写MD5值,就是签名值:
868c4ad016a567a0070a0e92afe7a07e
6.将签名值写入到JSON数据对象中的sign属性,得到最终JSON数据对象,如下:
{
  "code": 1,
  "codeEn": "Success",
  "msg": "请求成功",
  "randStr": "5YCy-9L6b5VD4vNO_7UVq1",
  "requestId": "5438695a-4f53-4971-a64f-b3bb01210731",
  "sign": "868c4ad016a567a0070a0e92afe7a07e",
  "time": 1766424739444,
  "paramNullTest":null,
  "data": {
    "param1": 1382832,
    "param2": 1766426122236,
    "param3": "1234567890",
    "param4": null
  }
}
7.验签流程与签名流程完全相同,只需判断签名值sign是否正确即可。
修改于 2025-12-22 10:00:40
上一页
重要说明
下一页
获取AccessToken
Built with