post https://{host}/api_gateway/loyalty/v1/programs//promotions/add/
Lets you create a promotion for a specific loyalty program.
Request Parameters
Parameter | Data Type | Description |
---|---|---|
id* | Integer | Unique ID of the loyalty promotion. When creating a new promotion, this value must be set to -1 . |
name* | string | Unique name of the loyalty promotion. |
programId* | int | Unique ID of the loyalty program to associate with the promotion. You can create multiple promotions under a single loyalty program. |
startDate* | date-time | Start date of the promotion in ISO 8601 yyyy-mm-ddThh:mm:ss.s+z format. |
endDate* | date-time | End date of the promotion in ISO 8601 yyyy-mm-ddThh:mm:ss.s+z format. |
allocatePointsOn | string | Category for point allocation. Supported values: BILL , LINEITEM , CUSTOMER . |
identifier* | string | Unique identifier for the promotion. This is an external identifier that can be used to identify the promotion. |
eventName* | Enum | Name of the event to associate with the promotion. Supported values: TRANSACTIONADD , CUSTOMERUPDATE , CUSTOMERREGISTRATION . |
pointsOfferType* | Enum | Type of loyalty promotion. Supported values: LOYALTY and LOYALTY_EARNING . Refer to the documentation on loyalty promotions for more information. |
rulesetInfo | Object | Contains details on the rules for the loyalty promotion. |
promotionRestrictions | Object | Contains details on the restrictions for the loyalty promotion. |
- linkedTargetGroupVsTargetRuleIdMap | Object | |
- loyaltyEarningType | Enum | Type of loyalty promotion. Supported values: ISSUE_AND_EARN and DIRECT_EARN . Refer to the documentation on loyalty promotions for more information. |
- isStackable | Boolean | Indicate if the promotion is stackable. A stackable promotion refers to the application of multiple promotions within a single transaction. Refer to the documentation on promotion stacking strategies for more information. |
- isExclusive | Boolean | Indicate if a promotion is exclusive. Exclusive promotions are evaluated individually and do not stack with any other promotion. Refer to the documentation on promotion stacking strategies for more information. |
- isConsideredForRanking | Boolean | Indicate if the promotion is considered for ranking. |
- restrictions | Object | Contains information on the restrictions configured for a loyalty promotion. |
-- redemptionRestrictions | Object | Contains information on the redemption limits for a promotion. |
--- name | Enum | Type of redemption restriction. Supported values:MAX_ALLOWED_POINTS_PER_EVENT : The maximum points that can be earned in a single event for a customer.MAX_ALLOWED_TIMES_PER_CUSTOMER : The maximum number of times a promotion can be issued to a customer.MAX_ALLOWED_POINTS_PER_CUSTOMER :The maximum points a customer can earn across the promotion.MAX_ALLOWED_TIMES_PER_PROMOTION :The maximum number of times a promotion can be issued.MAX_ALLOWED_POINTS_PER_PROMOTION :The maximum points that can be award across the promotion.MAX_REDEMPTIONS_PER_EARN_PER_CUSTOMER :The maximum number of times a customer can redeem a promotion after earning. |
--- value | Integer | Number of units corresponding to the name . Specify the value as -1 for no limit. The maximum limit supported by the system is 100. |
--- type | Enum | Type of period for restriction. Supported values:PERIOD_BASED : Restriction is applied for a defined period of time.NON_PERIOD_BASED : Restriction is applied for the entire duration of the promotion. |
--- periodType | Enum | Type of period for the restriction. Supported value: MOVING_WINDOW . |
--- periodUnit | Enum | Frequency of the period. Supported values: DAILY , WEEKLY , MONTHLY . |
-- issualRestrictions | Object | Contains information on the issual limits for a promotion. |
--- name | Enum | Type of issual restriction. Supported values:MAX_NUMBER_OF_ISSUALS_PER_CUSTOMER : Maximum number of times a promotion can be issued to a customer. |
--- value | Integer | Number of units corresponding to the name . Specify the value as -1 for no limit. The maximum limit supported by the system is 100. |
-- earnRestrictions | Object | Contains information on the earn limits for a promotion. This is specific for enrol and issue type promotion. |
--- name | Enum | Type of earn restriction. Supported values:MAX_NUMBER_OF_EARNS_PER_CUSTOMER :MAX_POINTS_PER_EARN_PER_CUSTOMER : |
--- value | Integer | Number of units corresponding to the name . Specify the value as -1 for no limit. The maximum limit supported by the system is 100. |
-- expiryRestrictions* | Object | Contains information on the expiry for a promotion. This is mandatory for both enrol and issue and direct issue types of promotion. |
--- name* | Enum | Action that is expiring. Supported values:ISSUAL_PROMOTION_EXPIRY_BASED_ON : Expiration of the promotion issue.EARN_PROMOTION_EXPIRY_BASED_ON : Expiration of the promotion earn. |
--- type* | Enum | Type of expiration. Supported values:PROMOTION : The loyalty promotion expires on the date defined in endDate CUSTOM : Define the number of days when the loyalty promotion expires from the date of issual. |
--- value | Integer | Number of days the loyalty promotion expires from the date of issual. |
allocationActions | Object | Contains information on the allocation strategy and expiration of points for the promotion. |
- allocation | Object | Contains information on the points allocation strategy for the promotion. |
-- type | Enum | Type of allocation. Supported values:FIXED |
-- value | ||
- expiry | ||
-- type | ||
-- value | ||
- rounding | ||
qualifyingConditions | ||
- kpi | ||
- params | ||
- matchValue | ||
- entity | ||
- operator | ||
conditionExpression | ||
allocationRule | ||
- allocation_ref | ||
limits | ||
- pointsPerCustomer | ||
- numberOfTimesPerCustomer | ||
- totalPointsInPromotion |