Skip to main content
GET
/
management
/
v1
/
projects
/
{projectId}
/
stacking-rules
/
{stackingRulesId}
Get Stacking Rules
curl --request GET \
  --url https://{cluster}.voucherify.io/management/v1/projects/{projectId}/stacking-rules/{stackingRulesId} \
  --header 'X-Management-Id: <api-key>' \
  --header 'X-Management-Token: <api-key>'
{
  "id": "stk_0d6264108617006147",
  "exclusive_categories": [
    "cat_0d75bdfe4c9030a732",
    "cat_0d74559c3e9030da13",
    "cat_0d7455f93c1030da4a"
  ],
  "joint_categories": [
    "cat_0d507a4d6e8a1b7b97"
  ],
  "redeemables_limit": 29,
  "applicable_redeemables_limit": 28,
  "applicable_redeemables_per_category_limit": 27,
  "applicable_exclusive_redeemables_limit": 4,
  "applicable_exclusive_redeemables_per_category_limit": 3,
  "discount_calculation_mode": "DISCOUNTED_AMOUNT",
  "initial_amount_mode_categories": [
    "cat_0d75bdfe4c9030a732",
    "cat_0d74559c3e9030da13"
  ],
  "discounted_amount_mode_categories": [
    "cat_0d7455f93c1030da4a"
  ],
  "redeemables_application_mode": "PARTIAL",
  "redeemables_sorting_rule": "CATEGORY_HIERARCHY",
  "created_at": "2023-08-17T08:33:19.399Z",
  "updated_at": "2024-04-16T10:38:27.028Z"
}

Authorizations

X-Management-Id
string
header
required
X-Management-Token
string
header
required

Path Parameters

projectId
string
required

Provide the unique identifier of the project.

Example:

"proj_TrlkLiH4"

stackingRulesId
string
required

Provide the unique identifier of the stacking rules.

Example:

"stk_0d6264108617006147"

Response

Returns the stacking rules for the project.

Response body schema for GET /management/v1/projects/{projectId}/stacking-rules/{stackingRulesId}. Object representing the details of the stacking rules. Object representing basic stacking rule parameters.

id
string
required

The unique identifier of the stacking rules.

exclusive_categories
string[]
required

Lists the IDs of exclusive categories. A redeemable from a campaign with an exclusive category is the only redeemable to be redeemed when applied with redeemables from other campaigns unless these campaigns are exclusive or joint.

joint_categories
string[]
required

Lists the IDs of the joint categories. A campaign with a joint category is always applied regardless of the exclusivity of other campaigns.

redeemables_limit
integer
required

Defines how many redeemables can be sent in one request. Note: more redeemables means more processing time.

Required range: 1 <= x <= 30
applicable_redeemables_limit
integer
required

Defines how many redeemables can be applied in one request. The number must be less than or equal to redeemables_limit. For example, a user can select 30 discounts but only 5 will be applied to the order and the remaining will be SKIPPED according to the redeemables_sorting_rule.

Required range: 1 <= x <= 30
applicable_redeemables_per_category_limit
integer | null
required

Defines how many redeemables with the same category can be applied in one request. The number must be less than or equal to applicable_redeemables_limit. The ones above the limit will be SKIPPED according to the redeemables_sorting_rule.

Required range: 1 <= x <= 30
applicable_exclusive_redeemables_limit
integer
required

Defines how many redeemables with an assigned exclusive category can be applied in one request. The ones above the limit will be SKIPPED according to the redeemables_sorting_rule.

Required range: 1 <= x <= 5
applicable_exclusive_redeemables_per_category_limit
integer | null
required

Defines how many redeemables with an assigned exclusive category can be applied in one request. The ones above the limit will be SKIPPED according to the redeemables_sorting_rule. The number must be less than or equal to applicable_exclusive_redeemables_limit.

Required range: 1 <= x <= 30
discount_calculation_mode
enum<string>
required

Defines if the discounts are applied by taking into account the initial order amount or the discounted order amount.

Available options:
INITIAL_AMOUNT,
DISCOUNTED_AMOUNT
initial_amount_mode_categories
string[]
required

Lists the IDs of the categories that apply a discount based on the initial amount.

discounted_amount_mode_categories
string[]
required

Lists the IDs of the categories that apply a discount based on the discounted amount.

redeemables_application_mode
enum<string>
required

Defines the application mode for redeemables. "ALL" means that all redeemables must be validated for the redemption to be successful. "PARTIAL" means that only those redeemables that can be validated will be redeemed. The redeemables that fail validaton will be skipped.

Available options:
ALL,
PARTIAL
redeemables_sorting_rule
enum<string>
required

Defines redeemables sorting rule. CATEGORY_HIERARCHY means that redeemables are applied oaccording to the category priority. REQUESTED_ORDER means that redeemables are applied in the sequence provided in the request.

Available options:
CATEGORY_HIERARCHY,
REQUESTED_ORDER
redeemables_products_application_mode
enum<string>
required

Defines redeemables products application mode. STACK means that multiple discounts can be applied to a product. ONCE means that only one discount can be applied to the same product.

Available options:
STACK,
ONCE
redeemables_no_effect_rule
enum<string>
required

Defines redeemables no effect rule. REDEEM_ANYWAY means that the redeemable will be redeemed regardless of any restrictions or conditions in place. SKIP means that the redeemable will be processed only when an applicable effect is calculated.

Available options:
REDEEM_ANYWAY,
SKIP
no_effect_skip_categories
string[]
required

Lists category IDs. Redeemables with a given category are skipped even if the redeemables_no_effect_rule is set to REDEEM_ANYWAY. Category IDs can't overlap with the IDs in no_effect_redeem_anyway_categories.

no_effect_redeem_anyway_categories
string[]
required

Lists category IDs. Redeemables with a given category are redeemed anyway even if the redeemables_no_effect_rule is set to SKIP. Category IDs can't overlap with the IDs in no_effect_skip_categories.

redeemables_rollback_order_mode
enum<string>
required

Defines the rollback mode for the order. WITH_ORDER is a default setting. The redemption is rolled back together with the data about the order, including related discount values. WITHOUT_ORDER allows rolling the redemption back without affecting order data, including the applied discount values.

Available options:
WITH_ORDER,
WITHOUT_ORDER
created_at
string<date-time>
required

Timestamp representing the date and time when the stacking rules were created. The value for this parameter is shown in the ISO 8601 format.

Example:

"2024-01-02T08:31:46.562Z"

updated_at
string<date-time>

Timestamp representing the date and time when the stacking rules were updated. The value for this parameter is shown in the ISO 8601 format.

I