Add Promotion : don't make it public

Lets you create a promotion for a specific loyalty program.

Request Parameters

ParameterData TypeDescription
id*IntegerUnique ID of the loyalty promotion. When creating a new promotion, this value must be set to -1.
name*stringUnique name of the loyalty promotion.
programId*intUnique ID of the loyalty program to associate with the promotion. You can create multiple promotions under a single loyalty program.
startDate*date-timeStart date of the promotion in ISO 8601 yyyy-mm-ddThh:mm:ss.s+z format.
endDate*date-timeEnd date of the promotion in ISO 8601 yyyy-mm-ddThh:mm:ss.s+z format.
allocatePointsOnstringCategory for point allocation. Supported values: BILL, LINEITEM, CUSTOMER.
identifier*stringUnique identifier for the promotion. This is an external identifier that can be used to identify the promotion.
eventName*EnumName of the event to associate with the promotion. Supported values: TRANSACTIONADD, CUSTOMERUPDATE, CUSTOMERREGISTRATION.
pointsOfferType*EnumType of loyalty promotion. Supported values: LOYALTY and LOYALTY_EARNING. Refer to the documentation on loyalty promotions for more information.
rulesetInfoObjectContains details on the rules for the loyalty promotion.
promotionRestrictionsObjectContains details on the restrictions for the loyalty promotion.
- linkedTargetGroupVsTargetRuleIdMapObject
- loyaltyEarningTypeEnumType of loyalty promotion. Supported values: ISSUE_AND_EARN and DIRECT_EARN. Refer to the documentation on loyalty promotions for more information.
- isStackableBooleanIndicate 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.
- isExclusiveBooleanIndicate 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.
- isConsideredForRankingBooleanIndicate if the promotion is considered for ranking.
- restrictionsObjectContains information on the restrictions configured for a loyalty promotion.
-- redemptionRestrictionsObjectContains information on the redemption limits for a promotion.
--- nameEnumType 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.
--- valueIntegerNumber of units corresponding to the name. Specify the value as -1 for no limit. The maximum limit supported by the system is 100.
--- typeEnumType 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.
--- periodTypeEnumType of period for the restriction. Supported value: MOVING_WINDOW.
--- periodUnitEnumFrequency of the period. Supported values: DAILY, WEEKLY, MONTHLY .
-- issualRestrictionsObjectContains information on the issual limits for a promotion.
--- nameEnumType of issual restriction. Supported values:
MAX_NUMBER_OF_ISSUALS_PER_CUSTOMER: Maximum number of times a promotion can be issued to a customer.
--- valueIntegerNumber of units corresponding to the name. Specify the value as -1 for no limit. The maximum limit supported by the system is 100.
-- earnRestrictionsObjectContains information on the earn limits for a promotion. This is specific for enrol and issue type promotion.
--- nameEnumType of earn restriction. Supported values:
MAX_NUMBER_OF_EARNS_PER_CUSTOMER:
MAX_POINTS_PER_EARN_PER_CUSTOMER:
--- valueIntegerNumber of units corresponding to the name. Specify the value as -1 for no limit. The maximum limit supported by the system is 100.
-- expiryRestrictions*ObjectContains information on the expiry for a promotion. This is mandatory for both enrol and issue and direct issue types of promotion.
--- name*EnumAction 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*EnumType 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.
--- valueIntegerNumber of days the loyalty promotion expires from the date of issual.
allocationActionsObjectContains information on the allocation strategy and expiration of points for the promotion.
- allocationObjectContains information on the points allocation strategy for the promotion.
-- typeEnumType of allocation. Supported values:
FIXED
-- value
- expiry
-- type
-- value
- rounding
qualifyingConditions
- kpi
- params
- matchValue
- entity
- operator
conditionExpression
allocationRule
- allocation_ref
limits
- pointsPerCustomer
- numberOfTimesPerCustomer
- totalPointsInPromotion
Language
Credentials
Basic
base64
:
URL
Click Try It! to start a request and see the response here!