千里香商城OPEN API DOCS 返回商城 管理后台
DEVELOPER · OPEN API V1.0

门店会员系统对接文档

通过开放 API 同步会员、积分与等级,生成商城单点登录链接。所有接口使用独立 X-API-Key 鉴权,适合门店收银系统、小程序与会员 CRM 对接。

接入说明

Base URL:http://127.0.0.1:8090/api/open;如果部署在域名或反向代理后,请替换为实际地址。所有接口返回 JSON,成功为 {"ok": true},失败为 {"ok": false, "error": "错误说明"}。

API Key 可在「管理后台 → API 对接」查看与重置。请勿把 Key 写入前端代码、公开仓库或可被用户下载的文件。

鉴权方式

每个请求都必须在 Header 中携带:

X-API-Key: zk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
建议门店系统通过固定出口 IP 调用;生产环境可在 Nginx 层增加 IP 白名单、HTTPS 与限流。

健康检查

GET/api/open/health
curl http://127.0.0.1:8090/api/open/health \
  -H "X-API-Key: zk_xxx"

同步会员(创建 / 更新)

POST/api/open/members/sync
{
  "phone": "13800138000",
  "nickname": "门店会员",
  "points": 5000,
  "level": 2,
  "store_member_id": "STORE-10086"
}
字段类型必填说明
phonestring是11 位手机号,会员唯一标识
nicknamestring否昵称,已有会员会更新
pointsinteger否绝对值同步;传 0 会清空积分
levelinteger否1-9 会员等级
store_member_idstring否门店系统会员 ID,便于对账

接口按手机号幂等:存在则更新,不存在则创建。返回的 created 表示是否新建。

调整会员积分

POST/api/open/members/points

增量增加 / 扣减(最低为 0):

{
  "phone": "13800138000",
  "points_delta": 200,
  "reason": "门店消费赠送"
}

设置为绝对值:

{
  "phone": "13800138000",
  "action": "set",
  "points": 5000,
  "reason": "月度积分结转"
}

查询会员

GET/api/open/members/{phone}

返回会员积分、余额、等级、邀请码、门店会员 ID 与账号状态。

门店单点登录

POST/api/open/members/token
{
  "phone": "13800138000",
  "next": "/me"
}

返回 7 天有效的 Token 与 login_url,可直接跳转商城自动登录:

http://127.0.0.1:8090/#/sso?token=...&next=%2Fme

商品列表

GET/api/open/products?type=mall

type 支持 mall(商城商品)与 exchange(积分兑换)。返回商品 ID、名称、价格、积分、库存、销量与图片地址。

会员订单

GET/api/open/orders?phone=13800138000

返回最近 50 笔订单,含订单号、状态、金额、商品明细与物流信息,可用于门店客服查询。

积分福利开奖算法

每期活动有 total_shares 个连续号码。份额售罄时服务端在同一事务内自动开奖:

seed = "{cloud_id}:{total_shares}:{last_order_no}:{sum_order_ms}:{last_order_ms}"
hash = SHA-256(seed)
lucky = int(hash[0:16], 16) % total_shares + 1
  • sum_order_ms:本期所有参与订单创建时间戳(毫秒)之和;
  • last_order_ms、last_order_no:最后一笔参与订单的时间与订单号;
  • 开奖种子与哈希保存在数据库并在活动详情页公示。

错误码

HTTP说明建议
400参数错误检查手机号、积分格式
401API Key 无效更新 Key 或检查 X-API-Key
403账号停用联系商城管理员
404会员或接口不存在确认手机号与路径
500服务端异常记录请求并重试

对接建议

  • 门店消费成功后调用积分增量接口,reason 记录业务来源。
  • 会员注册/资料变更调用同步接口,存量积分使用绝对值。
  • 失败请求做指数退避重试,并以手机号或门店订单号保证幂等。
  • 上线前修改默认管理员密码,启用 HTTPS、备份数据库并限制 API 来源。