Points Restrictions - Create points restriction

This API allows the brand to restrict the customer to the number of points they burn/redeem in the rewards catalog.

This helps brands control the customer’s activity on the rewards catalog and instead use these points while making transactions, eventually bringing more business to the brands.

For example: A brand wants to limit the number of points that a customer can redeem in the rewards catalog to 100 points in a week to purchase Intouch rewards. Using the points restriction API, the brand can limit the number of points redeemed by the customer.

👍

Note

For detailed information about our APIs and for hands-on testing, refer documentation in API overview and step-by-step guide on making your first API call in Make your first API call .

  • An org can have a limit of 50 restrictions that can be created.
  • For specific KPI, you can set a maximum of 15 active restrictions.

Prerequisites

  • Authentication: Basic or OAuth authentication
  • Default access group

Resource information

URIapi_gateway/rewards/core/v1/brand/constraints
HTTP MethodPOST
PaginationNo
Batch supportNo
Rate limit informationNone

API endpoint example

https://eucrm.cc.capillarytech.com/api_gateway/rewards/core/v1/brand/constraints

Request body parameters

ParameterData TypeDescription
kpi*StringThe Key Performance Indicator (KPI) on which the restriction is applied. Supported value: POINTS.
constraintLevel*EnumThe level at which restrictions are defined by the organization and applied. <br><br>Supported values:<br>- CUSTOMER_SEGMENT: Apply restrictions on a customer segment by passing segmentId and partitionId. (Note: These IDs are not currently available in the Insights+ UI; you'll need to create a Jira ticket to obtain them.)<br>- CUSTOMER_TIER: Apply restrictions based on customer tier by passing the TierID.<br>- CUSTOMER_LOYALTY_PROGRAM: Apply restrictions to a specific loyalty program by passing the ProgramID.<br>- CUSTOMER_REDEMPTION_TYPE: Apply restrictions to redeemable vouchers by passing the redemptionType.<br>- CUSTOMER_SUPPL_PROGRAM: Apply restrictions to a supplementary program by passing the supplementaryProgramId.<br>- CUSTOMER_LABEL: Apply restrictions based on a customer Label.<br>- CUSTOMER: Use CUSTOMER to apply a restriction at the individual customer level.<br><br>Only one combination of Constraint_Level and KPI is allowed with DAILY, WEEKLY, or MONTHLY frequencyType.
frequencyType*EnumThe frequency at which the constraint is applied. Supported values: DAILY, WEEKLY, MONTHLY. Points redemption is only applicable to fixed window restrictions.
intervalValue*IntegerThe interval at which the frequency is applied.
constraintLimitValue*IntegerThe limit value for the constraint.
isActive*BooleanThe status of the constraint, indicating whether it's active (true) or not (false).
redemptionType*StringThe type of InTouch reward. Supported values: GAMES, AUCTION, CART_PROMOTION, CASH_WALLET, VENDOR_ONLY_REWARD, VOUCHER, CASH_BACK, INTOUCH_REWARD, PHYSICAL_REWARD, CHARITY, MILES, GIFT_CARD, SWEEPSTAKES, VENDOR_INTOUCH_REWARD, CARD_DISC.

[
    {   
        "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType" : "MONTHLY",
        "intervalValue" : 1,
        "constraintLimitValue" : 100,
        "isActive" : true,
        "redemptionType": "NULL"
    }
]
[
    {
        "orgId": 51544,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER",
        "frequencyType": "DAILY",
        "constraintLimitValue": 3,
        "isActive": true,
        "intervalValue": 1,
        "redemptionType": "INTOUCH_REWARD"
    }
]
[
    {
        "orgId": 51544,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType": "DAILY",
        "constraintLimitValue": 3,
        "isActive": true,
        "intervalValue": 1,
        "redemptionType": "INTOUCH_REWARD"
    }
]
[
    {   "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER",
        "frequencyType" : "DAILY",
        "intervalValue" : 1,
        "constraintLimitValue" : 5,
        "isActive" : true,
        "redemptionType": "VOUCHER"
    },
    {   "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType" : "WEEKLY",
        "intervalValue" : 1,
        "constraintLimitValue" : 10,
        "isActive" : true,
        "redemptionType": "CHARITY"
    },
    {   "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType" : "WEEKLY",
        "intervalValue" : 1,
        "constraintLimitValue" : 10,
        "isActive" : true,
        "redemptionType": "GAMES"
    }

]
[
    {   "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER",
        "frequencyType" : "DAILY",
        "intervalValue" : 1,
        "constraintLimitValue" : 5,
        "isActive" : true
    },
    {   "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType" : "WEEKLY",
        "intervalValue" : 1,
        "constraintLimitValue" : 10,
        "isActive" : true,
        "redemptionType": "MILES"
    }

]
[
    {
        "orgId": 4000036,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_SUPPL_PROGRAM",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 10000,
        "supplementaryProgramId":"27001187",
        "isActive": true,
        "intervalValue": 90000
    }
]
  [  {
        "orgId": 4000036,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_SEGMENT",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 3000,
        "segmentId":"6136",
        "partitionId":"2676",
        "isActive": true,
        "intervalValue": 100
    }
]
[
    {   
        "orgId": 4000036,      
        "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_LOYALTY_PROGRAM",
        "programId" : 469,
        "frequencyType" : "DAILY",
        "intervalValue" : 1,
        "constraintLimitValue" : 5,
        "isActive" : true
    }
]
[
    {   
        "orgId": 4000036,      
        "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_LABEL",
        "label":"Fashion",
        "frequencyType" : "DAILY",
        "intervalValue" : 1,
        "constraintLimitValue" : 5,
        "isActive" : true
    }
]
[
    {   "kpi" :"POINTS",
        "constraintLevel" : "CUSTOMER_TIER",
        "tierId" : 1,
        "frequencyType" : "DAILY",
        "intervalValue" : 1,
        "constraintLimitValue" : 5,
        "isActive" : true
    }
]

Response parameters

ParameterData TypeDescription
rewardConstraintIdIntegerA unique identifier for the reward constraint.
orgIdIntegerA unique identifier for the organization.
kpiStringThe Key Performance Indicator (KPI) on which the restriction is applied. Supported value: POINTS.
constraintLevelStringThe level at which restrictions are defined by the organization and applied. Only one combination of Constraint_Level and KPI is allowed with DAILY, WEEKLY, or MONTHLY frequency types.
frequencyTypeStringThe frequency at which the constraint is applied, e.g., "DAILY".
constraintLimitValueIntegerThe limit value for the constraint.
isActiveBooleanThe status indicating whether the constraint is active.
intervalValueIntegerThe interval at which the frequency is applied.
status.successBooleanIndicates if the status check was successful.
status.codeIntegerThe status code associated with the constraint check.
redemptionTypeStringThe type of InTouch reward. Supported values: INTOUCH_REWARD, VENDOR_INTOUCH_REWARD, VENDOR_ONLY_REWARD, CART_PROMOTION, MILES, VOUCHER, POINTS, CHARITY, CASH_BACK, CASH_WALLET, CARD_DISC, GAMES.

[
    {
        "rewardConstraintId": 7010,
        "orgId": 50672,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType": "MONTHLY",
        "constraintLimitValue": 100,
        "isActive": true,
        "status": {
            "success": true,
            "code": 0
        },
        "redemptionType": "NULL"
    }
]
[
    {
        "rewardConstraintId": 6984,
        "orgId": 50672,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 10,
        "isActive": true,
        "startDayOfTheWeek": "MONDAY",
        "status": {
            "success": true,
            "code": 0
        },
        "redemptionType": "CHARITY"
    },
    {
        "rewardConstraintId": 6985,
        "orgId": 50672,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 10,
        "isActive": true,
        "startDayOfTheWeek": "MONDAY",
        "status": {
            "success": true,
            "code": 0
        },
        "redemptionType": "GAMES"
    },
    {
        "rewardConstraintId": 4915,
        "orgId": 50672,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER",
        "frequencyType": "DAILY",
        "constraintLimitValue": 5,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": true,
            "code": 0,
        },
       "redemptionType": "VOUCHER"
    }
]
[
    {
        "rewardConstraintId": 4226,
        "orgId": 100606,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER",
        "frequencyType": "DAILY",
        "constraintLimitValue": 3,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": true,
            "code": 0
        }
    }
]
[
    {
        "rewardConstraintId": 4227,
        "orgId": 100606,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType": "DAILY",
        "constraintLimitValue": 3,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": true,
            "code": 0
        },
        "redemptionType": "INTOUCH_REWARD"
    }
]
[
    {
        "rewardConstraintId": 4228,
        "orgId": 100606,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_REDEMPTION_TYPE",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 10,
        "isActive": true,
        "startDayOfTheWeek": "TUESDAY",
        "status": {
            "success": true,
            "code": 0
        },
        "redemptionType": "MILES"
    },
    {
        "rewardConstraintId": 4226,
        "orgId": 100606,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER",
        "frequencyType": "DAILY",
        "constraintLimitValue": 5,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": false,
            "code": 12014,
            "message": "Constraint already exist, use update constraints api"
        }
    }
]
[
    {
        "rewardConstraintId": 2888,
        "orgId": 4000036,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_SUPPL_PROGRAM",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 10000,
        "isActive": true,
        "startDayOfTheWeek": "MONDAY",
        "status": {
            "success": true,
            "code": 0
        },
        "supplementaryProgramId": "27001187"
    }
]
[
    {
        "rewardConstraintId": 2887,
        "orgId": 4000036,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_SEGMENT",
        "frequencyType": "WEEKLY",
        "constraintLimitValue": 3000,
        "isActive": true,
        "startDayOfTheWeek": "MONDAY",
        "status": {
            "success": true,
            "code": 0
        },
        "segmentId": "6136",
        "partitionId": "2676"
    }
]
[
    {
        "rewardConstraintId": 11664,
        "orgId": 100458,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_LOYALTY_PROGRAM",
        "frequencyType": "DAILY",
        "constraintLimitValue": 5,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": true,
            "code": 0
        },
        "programId": "469"
    }
]
[
    {
        "rewardConstraintId": 11667,
        "orgId": 100458,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_LABEL",
        "frequencyType": "DAILY",
        "constraintLimitValue": 5,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": true,
            "code": 0
        },
        "label": "Fashion"
    }
]
[
    {
        "rewardConstraintId": 13059,
        "orgId": 100458,
        "kpi": "POINTS",
        "constraintLevel": "CUSTOMER_TIER",
        "frequencyType": "DAILY",
        "constraintLimitValue": 5,
        "isActive": true,
        "intervalValue": 1,
        "status": {
            "success": true,
            "code": 0
        },
        "tierId": "1"
    }
]

API-specific errors

Error codeDescription
12014Constraint already exist. Use the update points restriction API to update the existing constraint.
12015Constraint does not exist with the passed constraintId, create a new constraint.
12016Cannot pass rewardConstraintId in the create new constraint API.
12017Pass the rewardConstraintId in the update points constraint API.
12018Please make sure isActive flag is true for all the entries in the request body in create constraint call.
12020The limit of org level KPIs is reached. Please disable existing KPI constraints to add new constraints.
12022Multiple restrictions are passed. Only one combination of constraint level and KPI is allowed.
Language
Credentials
Basic
base64
:
URL
Click Try It! to start a request and see the response here!