Add Promotion : don't make it public

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
Language
Credentials
Basic
base64
:
URL
Click Try It! to start a request and see the response here!