Promotions
Discounts in two shapes: coupons (codes a shopper enters) and offers (automatic, rule-based promotions). Both can be limited and targeted to a segment via userSet, and tied to campaigns. See the Run promotions and Offer engine guides.
https://zopping.comCoupons
Code-based discounts with limits and eligibility filters.
| Field | Type | Description |
|---|---|---|
id | integerread-only | |
organizationId | stringrequired | |
couponCode | stringrequired | |
discountType | enum | PERCENT_OFF · FIXED · FREE. |
discount | numberrequired | |
minOrderAmount | number | |
maxDiscountAmount | number | |
maxRedemption | integer | Total uses allowed. |
maxSingleRedemption | integer | Per-customer limit. |
validOnUser | enum | ALL · NEW_USERS · OLD_USERS. |
userSet | object | Segment eligibility. |
status | enum | ACTIVE · INACTIVE. |
/api/promo-service/couponList coupons
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query |
/api/promo-service/couponCreate a coupon
{
"organizationId": "<org-id>",
"couponCode": "SAVE20",
"discountType": "PERCENT_OFF",
"discount": 20,
"minOrderAmount": 500,
"maxDiscountAmount": 150,
"validOnUser": "ALL",
"status": "ACTIVE"
}/api/promo-service/coupon/{id}Update a coupon
| Parameter | Type | Description |
|---|---|---|
idrequired | integer· path |
/api/promo-service/coupon/{id}Delete a coupon
| Parameter | Type | Description |
|---|---|---|
idrequired | integer· path |
Apply coupon
Validate a code against a cart and get the computed discount.
/api/promo-service/apply-couponValidate a coupon
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query | |
couponCoderequired | string· query | |
customerId | integer· query | |
orderValue | number· query |
{
"coupon": {
"couponCode": "SAVE20",
"discountType": "PERCENT_OFF",
"discount": 20
},
"discount": {
"discount": 300,
"type": "PERCENT_OFF"
}
}Bulk coupons
Generate many unique codes in one batch.
/api/promo-service/bulk-couponGenerate coupons
{
"organizationId": "<org-id>",
"prefix": "SALE",
"suffix": "2026",
"numberOfCoupons": 10000,
"couponType": "PRIVATE",
"coupon": {
"discountType": "FIXED",
"discount": 100,
"minOrderAmount": 500,
"status": "ACTIVE"
}
}/api/promo-service/bulk-couponBatch status
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query |
Coupon wallet
Assign coupons to specific customers’ wallets.
/api/promo-service/coupon-walletAdd coupons to wallets
{
"organizationId": "<org-id>",
"couponCode": "BULK001",
"customerIds": [
1,
2,
3
]
}Offers
Automatic, rule-based promotions. offerType selects the shape (e.g. SFXGCD, BXGYD, BMIN); rule is a JSON payload of conditions + benefit. See the Offer engine guide for rule formats.
| Field | Type | Description |
|---|---|---|
id | integerread-only | |
organizationId | stringrequired | |
offerType | stringrequired | Promotion shape. |
rule | jsonrequired | Conditions + discount/benefit. |
storeId | string | |
orderType | string[] | e.g. DELIVERY. |
stackable | boolean | |
userSet | object | Segment eligibility. |
status | enum | ACTIVE · INACTIVE. |
/api/offer-service/offerList offers
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query |
/api/offer-service/offerCreate an offer
{
"organizationId": "<org-id>",
"storeId": "<store-id>",
"status": "ACTIVE",
"offerType": "SFXGCD",
"offerValidFrom": "2026-06-22",
"offerValidTill": "2026-12-31",
"stackable": true,
"rule": {
"cartPrice": 500,
"cartDiscount": {
"t": "PERCENT_OFF",
"v": 20
},
"maxDiscount": 500
}
}/api/offer-service/offer/{id}Update an offer
| Parameter | Type | Description |
|---|---|---|
idrequired | integer· path |
Cart offers
Evaluate which offers apply to a cart; returns applied and potential offers.
/api/offer-service/cart-offersEvaluate offers on a cart
{
"organizationId": "<org-id>",
"storeId": "<store-id>",
"customerId": 7781,
"orderType": "DELIVERY",
"data": [
{
"id": 2268,
"quantity": 10,
"mrp": 100,
"discount": 0,
"categoryIds": [
302
]
}
]
}Campaigns
Tie offers/coupons to segments and schedule outreach (email/push).
Campaignsextension/api/promo-service/campaignList campaigns
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query |
/api/promo-service/campaignCreate a campaign
{
"organizationId": "<org-id>",
"name": "Summer Sale",
"status": "ACTIVE",
"scheduledTime": "2026-07-01 00:00:00",
"userSet": {
"segments": [
{
"name": "NewCustomers",
"variables": {}
}
]
}
}Segments
Predefined, rule-based customer groups used in userSet targeting.
/api/promo-service/segmentList segments
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query |
/api/promo-service/segment/{name}/customer-eligibility/{customerId}Check eligibility
| Parameter | Type | Description |
|---|---|---|
namerequired | string· path | |
customerIdrequired | integer· path | |
organizationIdrequired | string· query |