code(创建时填写,或由 Pancake 生成),买家可在收银台输入它。如果想为同一项优惠发放更多的码,请创建促销码 —— 创建优惠券时可同时创建最多 20 个,之后也可随时补充。优惠券也可在结账会话上按 ID(couponId)使用。优惠券只限制到期时间与总使用次数;买家限制 —— 限定买家邮箱、每位买家次数与最低消费 —— 设置在促销码上,因此优惠券自己的码没有这些限制。
优惠券归属于店铺,并且只存在于一个环境:在 test 创建的优惠券在 prod 中不存在,反之亦然。
优惠券状态值
优惠规则
创建后只能修改
name。要调整优惠内容,请新建一张优惠券,并停用旧的。
码格式
优惠券的码和促销码使用同一套规则:停用
停用是不可恢复的:没有重新启用,也没有删除。停用优惠券时,它下面的所有促销码也会一并停用并释放各自的码。已有订单不受影响;已挂在订阅上的优惠会继续生效,直到该订阅下一次更换方案。安全重试
创建优惠券时请带上X-Idempotency-Key 请求头(SDK 中为 idempotencyKey 选项),重试时沿用同一个键。如果不带键,只有指定了码(code 或 promotionCodes[].code)时,超时后的重试才会返回 409:第一次请求其实已经创建了优惠券并占用了这些码。由 Pancake 随机生成码时,重试会再创建一张优惠券。幂等键的要求见错误处理。
读取优惠券
这些端点只负责写入。列表和详情请用 GraphQL 查询:优惠券用coupons、couponsCount 和 coupon(id),其促销码用 promotionCodes 和 promotionCodesCount。
端点
创建优惠券
创建优惠券及它的码,并可同时创建它的促销码。
更新优惠券
修改优惠券名称。
停用优惠券
永久停用优惠券及其全部促销码。