manageCoupons. storeId in the JSON body is ignored.
List / create
coupon:read · coupon:create · 201
discountType is percentage or fixed. Duplicate codes return 400.
Get / update / delete
coupon:read · coupon:update · coupon:delete
A coupon from another shop returns 404.