Zopping
API reference

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.

Base URLhttps://zopping.com

Coupons

Code-based discounts with limits and eligibility filters.

Fields
FieldTypeDescription
idintegerread-only
organizationIdstringrequired
couponCodestringrequired
discountTypeenumPERCENT_OFF · FIXED · FREE.
discountnumberrequired
minOrderAmountnumber
maxDiscountAmountnumber
maxRedemptionintegerTotal uses allowed.
maxSingleRedemptionintegerPer-customer limit.
validOnUserenumALL · NEW_USERS · OLD_USERS.
userSetobjectSegment eligibility.
statusenumACTIVE · INACTIVE.
GET/api/promo-service/coupon

List coupons

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
POST/api/promo-service/coupon

Create a coupon

Request body
{
  "organizationId": "<org-id>",
  "couponCode": "SAVE20",
  "discountType": "PERCENT_OFF",
  "discount": 20,
  "minOrderAmount": 500,
  "maxDiscountAmount": 150,
  "validOnUser": "ALL",
  "status": "ACTIVE"
}
PUT/api/promo-service/coupon/{id}

Update a coupon

Parameters
ParameterTypeDescription
idrequiredinteger· path
DELETE/api/promo-service/coupon/{id}

Delete a coupon

Parameters
ParameterTypeDescription
idrequiredinteger· path

Apply coupon

Validate a code against a cart and get the computed discount.

GET/api/promo-service/apply-coupon

Validate a coupon

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
couponCoderequiredstring· query
customerIdinteger· query
orderValuenumber· query
Response
{
  "coupon": {
    "couponCode": "SAVE20",
    "discountType": "PERCENT_OFF",
    "discount": 20
  },
  "discount": {
    "discount": 300,
    "type": "PERCENT_OFF"
  }
}

Bulk coupons

Generate many unique codes in one batch.

POST/api/promo-service/bulk-coupon

Generate coupons

Request body
{
  "organizationId": "<org-id>",
  "prefix": "SALE",
  "suffix": "2026",
  "numberOfCoupons": 10000,
  "couponType": "PRIVATE",
  "coupon": {
    "discountType": "FIXED",
    "discount": 100,
    "minOrderAmount": 500,
    "status": "ACTIVE"
  }
}
GET/api/promo-service/bulk-coupon

Batch status

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query

Coupon wallet

Assign coupons to specific customers’ wallets.

POST/api/promo-service/coupon-wallet

Add coupons to wallets

Request body
{
  "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.

Fields
FieldTypeDescription
idintegerread-only
organizationIdstringrequired
offerTypestringrequiredPromotion shape.
rulejsonrequiredConditions + discount/benefit.
storeIdstring
orderTypestring[]e.g. DELIVERY.
stackableboolean
userSetobjectSegment eligibility.
statusenumACTIVE · INACTIVE.
GET/api/offer-service/offer

List offers

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
POST/api/offer-service/offer

Create an offer

Request body
{
  "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
  }
}
PUT/api/offer-service/offer/{id}

Update an offer

Parameters
ParameterTypeDescription
idrequiredinteger· path

Cart offers

Evaluate which offers apply to a cart; returns applied and potential offers.

POST/api/offer-service/cart-offers

Evaluate offers on a cart

Request body
{
  "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).

Requires the Campaignsextension
GET/api/promo-service/campaign

List campaigns

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
POST/api/promo-service/campaign

Create a campaign

Request body
{
  "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.

GET/api/promo-service/segment

List segments

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
GET/api/promo-service/segment/{name}/customer-eligibility/{customerId}

Check eligibility

Parameters
ParameterTypeDescription
namerequiredstring· path
customerIdrequiredinteger· path
organizationIdrequiredstring· query