平台开出一家店,就把这家店作为对接租户。外部系统和商家后台、平台 ERP 使用同一套商品与库存。小程序下单扣的也是这份规格库存。
| 位置 | 做什么 |
|---|---|
| 平台店铺列表 | 店铺行上的「开放接口」,生成或重置 AppKey、AppSecret |
| 商家后台仓储 | user/goods/stock/index 页「对外开放」,查看同一把店铺密钥 |
请求头:
| 头 | 说明 |
|---|---|
X-App-Key | 店铺 AppKey |
X-Timestamp | Unix 秒,与服务器相差不超过 5 分钟 |
X-Nonce | 8 到 64 位字母或数字,5 分钟内不可重复 |
X-Sign | HMAC-SHA256 的十六进制小写字符串 |
待签名字符串为三行,用换行符连接:时间戳、随机串、原始请求体。GET 没有请求体时第三行为空。密钥是 AppSecret。
sign = HMAC_SHA256(AppSecret, timestamp + "\n" + nonce + "\n" + rawBody)
商家范围:不传 mch_id 时操作该店的平台自营商品(mch_id=0)。传入商家 ID 时,必须是这家店下的商家,操作该商家的商品和单据。
基础地址:/web/index.php?r=api/open/erp/动作。先在对应商家或平台自营商品上开启 ERP 仓储,库存单据才会写入。
| 动作 | 方法 | 作用 |
|---|---|---|
ping | GET | 核对密钥,返回店铺名称、mch_id、ERP 是否已开启 |
goods | GET | 商品列表。可选 q 按名称搜索,最多 50 条 |
skus | GET | 某商品规格与当前库存。参数 goods_id |
bills | GET | 最近单据。可选 type:in、out、check |
stock | POST | 提交入库、出库或盘点。JSON 请求体 |
{
"mch_id": 0,
"bill_type": "in",
"remark": "采购到货",
"post_now": "1",
"lines": [
{ "goods_id": 12, "attr_id_list": [3, 8], "qty": 10, "remark": "" }
]
}
bill_type:in 入库,out 出库,check 盘点(qty 为实盘数量)。post_now 为 0 时只存草稿,不改可售库存;缺省或 1 时立即过账。过账后小程序看到的可售数量会变化。