Pricing Context Rules API
Configure dynamic pricing and offer filtering based on traffic context.
Base path: /api/v1/admin/pricing-context-rules
Create Rule
POST /api/v1/admin/pricing-context-rules
Example: Visa partnership
{
"name": "Visa Partnership",
"partnerId": "VISA",
"disablePromotions": true,
"disableCoupons": true,
"allowedBankOfferIds": ["visa-offer-1", "visa-offer-2"],
"additionalMultiplier": 0.95,
"priority": 10,
"status": "ACTIVE"
}
Example: Gold member discount
{
"name": "Gold Member Discount",
"loyaltyTierMin": 2,
"additionalMultiplier": 0.95,
"priority": 5,
"status": "ACTIVE"
}
Example: Time-bound campaign
{
"name": "Summer 2026 Campaign",
"utmCampaign": "summer_2026",
"additionalOfferIds": ["summer-promo-1"],
"priority": 3,
"status": "ACTIVE",
"startAt": "2026-05-01T00:00:00Z",
"endAt": "2026-08-31T23:59:59Z"
}
List All Rules
GET /api/v1/admin/pricing-context-rules
Response:
[
{
"id": 1,
"name": "Visa Partnership",
"partnerId": "VISA",
"disablePromotions": true,
"disableCoupons": true,
"allowedBankOfferIds": ["visa-offer-1", "visa-offer-2"],
"additionalMultiplier": 0.95,
"priority": 10,
"status": "ACTIVE"
},
{
"id": 2,
"name": "Gold Member Discount",
"loyaltyTierMin": 2,
"additionalMultiplier": 0.95,
"priority": 5,
"status": "ACTIVE"
}
]
Update / Delete
PUT /api/v1/admin/pricing-context-rules/{id}
DELETE /api/v1/admin/pricing-context-rules/{id}
Field Reference
Predicates (all optional, null = match any)
| Field | Type | Description |
|---|---|---|
trafficSource | string | ORGANIC, PAID, SOCIAL, EMAIL, REFERRAL, DIRECT, PARTNER |
utmSource | string | Match specific UTM source |
utmMedium | string | Match specific UTM medium |
utmCampaign | string | Match specific campaign |
partnerId | string | Match partner (e.g., VISA) |
loyaltyTierMin | int | Minimum tier (inclusive) |
loyaltyTierMax | int | Maximum tier (inclusive) |
Effects
| Field | Type | Description |
|---|---|---|
channelId | string | Override pricing channel |
additionalMultiplier | decimal | Price multiplier (0.90 = 10% off) |
disablePromotions | boolean | Hide all promotions |
disableCoupons | boolean | Hide all coupons |
disableBankOffers | boolean | Hide all bank offers |
allowedPromotionIds | string[] | Whitelist promotions |
allowedBankOfferIds | string[] | Whitelist bank offers |
allowedCouponIds | string[] | Whitelist coupons |
additionalOfferIds | string[] | Inject extra offers |