curl --request POST \
--url https://{cluster}.voucherify.io/client/v1/qualifications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Client-Application-Id: <api-key>' \
--header 'X-Client-Token: <api-key>' \
--data '
{
"customer": {
"id": "<string>",
"source_id": "<string>",
"name": "<string>",
"description": "<string>",
"email": "<string>",
"phone": "<string>",
"birthday": "2023-12-25",
"birthdate": "2023-12-25",
"address": {
"city": "<string>",
"state": "<string>",
"line_1": "<string>",
"line_2": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"metadata": {}
},
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items": [
{
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"initial_amount": 123,
"price": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {}
}
],
"metadata": {}
},
"tracking_id": "<string>",
"scenario": "ALL",
"options": {
"limit": 49,
"starting_after": "2021-09-08T13:52:18.227Z",
"filters": {
"junction": "and",
"category_id": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"campaign_id": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"campaign_type": {
"conditions": {
"$is": [
"PROMOTION"
],
"$is_not": [
"PROMOTION"
],
"$in": [
"PROMOTION"
],
"$not_in": [
"PROMOTION"
]
}
},
"resource_id": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"resource_type": {
"conditions": {
"$is": [
"campaign"
],
"$is_not": [
"campaign"
],
"$in": [
"campaign"
],
"$not_in": [
"campaign"
]
}
},
"voucher_type": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"code": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"holder_role": {
"conditions": {
"$is": [
"OWNER"
],
"$is_not": [
"OWNER"
],
"$in": [
"OWNER"
],
"$not_in": [
"OWNER"
]
}
}
},
"expand": [
"redeemable"
],
"sorting_rule": "BEST_DEAL"
},
"session": {
"type": "LOCK"
},
"metadata": {}
}
'{
"redeemables": {
"object": "list",
"data_ref": "data",
"data": [
{
"id": "<string>",
"object": "campaign",
"created_at": "2022-03-09T11:19:04.819Z",
"result": {
"discount": {
"type": "AMOUNT",
"amount_off": 123,
"amount_off_formula": "<string>",
"aggregated_amount_limit": 123,
"effect": "APPLY_TO_ORDER",
"is_dynamic": true
},
"bundle": {
"quantity": 50,
"limit": 50,
"identified": [
{
"id": "<string>",
"object": "product",
"item_index": 1,
"item_quantity": 123
}
],
"missing": [
{
"id": "<string>",
"object": "product",
"item_quantity": 123
}
]
},
"gift": {
"balance": 123,
"credits": 123,
"locked_credits": 123
},
"loyalty_card": {
"points": 7000,
"balance": 6970,
"exchange_ratio": 123,
"points_ratio": 123,
"transfers": [
{
"code": "<string>",
"points": 123,
"source_id": "<string>",
"reason": "<string>"
}
]
},
"error": {
"code": 123,
"message": "<string>",
"key": "<string>",
"details": "<string>",
"request_id": "v-0a885062c80375740f",
"resource_id": "rf_0c5d710a87c8a31f86",
"resource_type": "voucher",
"error": {
"message": "<string>"
}
}
},
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items_discount_amount": 123,
"total_discount_amount": 123,
"total_amount": 123,
"applied_discount_amount": 123,
"items_applied_discount_amount": 123,
"total_applied_discount_amount": 123,
"metadata": {},
"object": "order",
"created_at": "2021-12-22T10:13:06.487Z",
"updated_at": "2021-12-22T10:14:45.316Z",
"customer_id": "cust_7iUa6ICKyU6gH40dBU25kQU1",
"referrer_id": "cust_nM4jqPiaXUvQdVSA6vTRUnix",
"customer": {
"id": "<string>",
"object": "customer"
},
"referrer": {
"id": "<string>",
"object": "customer"
},
"redemptions": {},
"items": [
{
"object": "order_item",
"id": "<string>",
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"applied_discount_amount": 123,
"applied_discount_quantity": 123,
"applied_quantity": 123,
"applied_quantity_amount": 123,
"initial_amount": 123,
"price": 123,
"subtotal_amount": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {},
"application_details": [
{
"source_index": 1,
"source_applied_quantity": -2,
"source_applied_quantity_amount": -1,
"target_index": 123,
"target_applied_quantity": 123,
"target_applied_quantity_amount": 123,
"target_applied_discount_amount": 123
}
]
}
]
},
"validation_rule_id": "<string>",
"applicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"inapplicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"metadata": {},
"categories": [
{
"id": "<string>",
"name": "<string>",
"hierarchy": 1,
"object": "category",
"created_at": "2022-07-14T10:45:13.156Z",
"updated_at": "2022-08-16T10:52:08.094Z",
"stacking_rules_type": "JOINT"
}
],
"banner": "Order Paid - You will get 100 points",
"name": "promotion_tier_get_points",
"campaign_name": "PromotionCampaign",
"campaign_id": "camp_Mow7u4gSxagLlZ2oDQ01ZS5N",
"validation_rules_assignments": {
"object": "list",
"data_ref": "data",
"data": [
{
"id": "asgm_LnY1g7UNFA9KyDrD",
"rule_id": "val_3gPNA6SnH4ae",
"related_object_id": "camp_CZOnEGiZfwIKWmSjhIoIT7Ol",
"related_object_type": "campaign",
"object": "validation_rules_assignment",
"validation_status": "PARTIALLY_VALID",
"validation_omitted_rules": [
"1"
]
}
],
"total": 1
},
"redeemables": [
{
"id": "<string>",
"object": "campaign",
"created_at": "2022-03-09T11:19:04.819Z",
"result": {
"discount": {
"type": "AMOUNT",
"amount_off": 123,
"amount_off_formula": "<string>",
"aggregated_amount_limit": 123,
"effect": "APPLY_TO_ORDER",
"is_dynamic": true
},
"bundle": {
"quantity": 50,
"limit": 50,
"identified": [
{
"id": "<string>",
"object": "product",
"item_index": 1,
"item_quantity": 123
}
],
"missing": [
{
"id": "<string>",
"object": "product",
"item_quantity": 123
}
]
},
"gift": {
"balance": 123,
"credits": 123,
"locked_credits": 123
},
"loyalty_card": {
"points": 7000,
"balance": 6970,
"exchange_ratio": 123,
"points_ratio": 123,
"transfers": [
{
"code": "<string>",
"points": 123,
"source_id": "<string>",
"reason": "<string>"
}
]
},
"error": {
"code": 123,
"message": "<string>",
"key": "<string>",
"details": "<string>",
"request_id": "v-0a885062c80375740f",
"resource_id": "rf_0c5d710a87c8a31f86",
"resource_type": "voucher",
"error": {
"message": "<string>"
}
}
},
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items_discount_amount": 123,
"total_discount_amount": 123,
"total_amount": 123,
"applied_discount_amount": 123,
"items_applied_discount_amount": 123,
"total_applied_discount_amount": 123,
"metadata": {},
"object": "order",
"created_at": "2021-12-22T10:13:06.487Z",
"updated_at": "2021-12-22T10:14:45.316Z",
"customer_id": "cust_7iUa6ICKyU6gH40dBU25kQU1",
"referrer_id": "cust_nM4jqPiaXUvQdVSA6vTRUnix",
"customer": {
"id": "<string>",
"object": "customer"
},
"referrer": {
"id": "<string>",
"object": "customer"
},
"redemptions": {},
"items": [
{
"object": "order_item",
"id": "<string>",
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"applied_discount_amount": 123,
"applied_discount_quantity": 123,
"applied_quantity": 123,
"applied_quantity_amount": 123,
"initial_amount": 123,
"price": 123,
"subtotal_amount": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {},
"application_details": [
{
"source_index": 1,
"source_applied_quantity": -2,
"source_applied_quantity_amount": -1,
"target_index": 123,
"target_applied_quantity": 123,
"target_applied_quantity_amount": 123,
"target_applied_discount_amount": 123
}
]
}
]
},
"validation_rule_id": "<string>",
"applicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"inapplicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"metadata": {},
"categories": [
{
"id": "<string>",
"name": "<string>",
"hierarchy": 1,
"object": "category",
"created_at": "2022-07-14T10:45:13.156Z",
"updated_at": "2022-08-16T10:52:08.094Z",
"stacking_rules_type": "JOINT"
}
],
"banner": "Order Paid - You will get 100 points",
"name": "promotion_tier_get_points",
"campaign_name": "PromotionCampaign",
"campaign_id": "camp_Mow7u4gSxagLlZ2oDQ01ZS5N",
"validation_rules_assignments": {
"object": "list",
"data_ref": "data",
"data": [
{
"id": "asgm_LnY1g7UNFA9KyDrD",
"rule_id": "val_3gPNA6SnH4ae",
"related_object_id": "camp_CZOnEGiZfwIKWmSjhIoIT7Ol",
"related_object_type": "campaign",
"object": "validation_rules_assignment",
"validation_status": "PARTIALLY_VALID",
"validation_omitted_rules": [
"1"
]
}
],
"total": 1
}
}
]
}
],
"total": 5,
"has_more": true,
"more_starting_after": "2023-10-31T12:13:16.374Z"
},
"tracking_id": "<string>",
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items_discount_amount": 123,
"total_discount_amount": 123,
"total_amount": 123,
"applied_discount_amount": 123,
"items_applied_discount_amount": 123,
"total_applied_discount_amount": 123,
"metadata": {},
"object": "order",
"created_at": "2021-12-22T10:13:06.487Z",
"updated_at": "2021-12-22T10:14:45.316Z",
"customer_id": "cust_7iUa6ICKyU6gH40dBU25kQU1",
"referrer_id": "cust_nM4jqPiaXUvQdVSA6vTRUnix",
"customer": {
"id": "<string>",
"object": "customer"
},
"referrer": {
"id": "<string>",
"object": "customer"
},
"redemptions": {},
"items": [
{
"object": "order_item",
"id": "<string>",
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"applied_discount_amount": 123,
"applied_discount_quantity": 123,
"applied_quantity": 123,
"applied_quantity_amount": 123,
"initial_amount": 123,
"price": 123,
"subtotal_amount": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {},
"application_details": [
{
"source_index": 1,
"source_applied_quantity": -2,
"source_applied_quantity_amount": -1,
"target_index": 123,
"target_applied_quantity": 123,
"target_applied_quantity_amount": 123,
"target_applied_discount_amount": 123
}
]
}
]
},
"stacking_rules": {
"redeemables_limit": 30,
"applicable_redeemables_limit": 5,
"applicable_redeemables_per_category_limit": 1,
"applicable_redeemables_category_limits": {},
"applicable_exclusive_redeemables_limit": 1,
"exclusive_categories": [
"<string>"
],
"joint_categories": [
"<string>"
],
"redeemables_application_mode": "ALL",
"redeemables_sorting_rule": "REQUESTED_ORDER",
"redeemables_products_application_mode": "STACK",
"redeemables_no_effect_rule": "REDEEM_ANYWAY",
"no_effect_skip_categories": [
"<string>"
],
"no_effect_redeem_anyway_categories": [
"<string>"
],
"redeemables_rollback_order_mode": "WITH_ORDER",
"applicable_exclusive_redeemables_per_category_limit": 1
}
}Generate a list of redeemables that are applicable in the context of the customer and order.
The new qualifications method is an improved version of Campaign Qualifications, Voucher Qualifications API requests. The new qualification method introduces the following improvements:
๐ Scenario Guide
Read our dedicated guide to learn about some use cases this endpoint can cover here.
The Voucherify Qualifications API request will return to you all of the redeemables available for the customer in batches of up to 50 redeemables per page. To get the next batch of redeemables, you need to use the starting_after cursor.
To process of paging the redeemables works in the following manner:
starting_after parameter.has_more. If the parameterโs value is set to true, then more redeemables are available.created_at parameter of the last returned redeemable. The value of this parameter will be used as a cursor to retrieve the next page of redeemables.starting_after parameter set to the value taken from the created_at parameter from the last returned redeemable.has_more parameter is set to true, apply steps 3-5 to get the next page of redeemables.curl --request POST \
--url https://{cluster}.voucherify.io/client/v1/qualifications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Client-Application-Id: <api-key>' \
--header 'X-Client-Token: <api-key>' \
--data '
{
"customer": {
"id": "<string>",
"source_id": "<string>",
"name": "<string>",
"description": "<string>",
"email": "<string>",
"phone": "<string>",
"birthday": "2023-12-25",
"birthdate": "2023-12-25",
"address": {
"city": "<string>",
"state": "<string>",
"line_1": "<string>",
"line_2": "<string>",
"country": "<string>",
"postal_code": "<string>"
},
"metadata": {}
},
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items": [
{
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"initial_amount": 123,
"price": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {}
}
],
"metadata": {}
},
"tracking_id": "<string>",
"scenario": "ALL",
"options": {
"limit": 49,
"starting_after": "2021-09-08T13:52:18.227Z",
"filters": {
"junction": "and",
"category_id": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"campaign_id": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"campaign_type": {
"conditions": {
"$is": [
"PROMOTION"
],
"$is_not": [
"PROMOTION"
],
"$in": [
"PROMOTION"
],
"$not_in": [
"PROMOTION"
]
}
},
"resource_id": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"resource_type": {
"conditions": {
"$is": [
"campaign"
],
"$is_not": [
"campaign"
],
"$in": [
"campaign"
],
"$not_in": [
"campaign"
]
}
},
"voucher_type": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"code": {
"conditions": {
"$is": [
"<string>"
],
"$is_not": [
"<string>"
],
"$has_value": [
"<string>"
],
"$is_unknown": [
"<string>"
],
"$in": [
"<string>"
],
"$not_in": [
"<string>"
]
}
},
"holder_role": {
"conditions": {
"$is": [
"OWNER"
],
"$is_not": [
"OWNER"
],
"$in": [
"OWNER"
],
"$not_in": [
"OWNER"
]
}
}
},
"expand": [
"redeemable"
],
"sorting_rule": "BEST_DEAL"
},
"session": {
"type": "LOCK"
},
"metadata": {}
}
'{
"redeemables": {
"object": "list",
"data_ref": "data",
"data": [
{
"id": "<string>",
"object": "campaign",
"created_at": "2022-03-09T11:19:04.819Z",
"result": {
"discount": {
"type": "AMOUNT",
"amount_off": 123,
"amount_off_formula": "<string>",
"aggregated_amount_limit": 123,
"effect": "APPLY_TO_ORDER",
"is_dynamic": true
},
"bundle": {
"quantity": 50,
"limit": 50,
"identified": [
{
"id": "<string>",
"object": "product",
"item_index": 1,
"item_quantity": 123
}
],
"missing": [
{
"id": "<string>",
"object": "product",
"item_quantity": 123
}
]
},
"gift": {
"balance": 123,
"credits": 123,
"locked_credits": 123
},
"loyalty_card": {
"points": 7000,
"balance": 6970,
"exchange_ratio": 123,
"points_ratio": 123,
"transfers": [
{
"code": "<string>",
"points": 123,
"source_id": "<string>",
"reason": "<string>"
}
]
},
"error": {
"code": 123,
"message": "<string>",
"key": "<string>",
"details": "<string>",
"request_id": "v-0a885062c80375740f",
"resource_id": "rf_0c5d710a87c8a31f86",
"resource_type": "voucher",
"error": {
"message": "<string>"
}
}
},
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items_discount_amount": 123,
"total_discount_amount": 123,
"total_amount": 123,
"applied_discount_amount": 123,
"items_applied_discount_amount": 123,
"total_applied_discount_amount": 123,
"metadata": {},
"object": "order",
"created_at": "2021-12-22T10:13:06.487Z",
"updated_at": "2021-12-22T10:14:45.316Z",
"customer_id": "cust_7iUa6ICKyU6gH40dBU25kQU1",
"referrer_id": "cust_nM4jqPiaXUvQdVSA6vTRUnix",
"customer": {
"id": "<string>",
"object": "customer"
},
"referrer": {
"id": "<string>",
"object": "customer"
},
"redemptions": {},
"items": [
{
"object": "order_item",
"id": "<string>",
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"applied_discount_amount": 123,
"applied_discount_quantity": 123,
"applied_quantity": 123,
"applied_quantity_amount": 123,
"initial_amount": 123,
"price": 123,
"subtotal_amount": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {},
"application_details": [
{
"source_index": 1,
"source_applied_quantity": -2,
"source_applied_quantity_amount": -1,
"target_index": 123,
"target_applied_quantity": 123,
"target_applied_quantity_amount": 123,
"target_applied_discount_amount": 123
}
]
}
]
},
"validation_rule_id": "<string>",
"applicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"inapplicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"metadata": {},
"categories": [
{
"id": "<string>",
"name": "<string>",
"hierarchy": 1,
"object": "category",
"created_at": "2022-07-14T10:45:13.156Z",
"updated_at": "2022-08-16T10:52:08.094Z",
"stacking_rules_type": "JOINT"
}
],
"banner": "Order Paid - You will get 100 points",
"name": "promotion_tier_get_points",
"campaign_name": "PromotionCampaign",
"campaign_id": "camp_Mow7u4gSxagLlZ2oDQ01ZS5N",
"validation_rules_assignments": {
"object": "list",
"data_ref": "data",
"data": [
{
"id": "asgm_LnY1g7UNFA9KyDrD",
"rule_id": "val_3gPNA6SnH4ae",
"related_object_id": "camp_CZOnEGiZfwIKWmSjhIoIT7Ol",
"related_object_type": "campaign",
"object": "validation_rules_assignment",
"validation_status": "PARTIALLY_VALID",
"validation_omitted_rules": [
"1"
]
}
],
"total": 1
},
"redeemables": [
{
"id": "<string>",
"object": "campaign",
"created_at": "2022-03-09T11:19:04.819Z",
"result": {
"discount": {
"type": "AMOUNT",
"amount_off": 123,
"amount_off_formula": "<string>",
"aggregated_amount_limit": 123,
"effect": "APPLY_TO_ORDER",
"is_dynamic": true
},
"bundle": {
"quantity": 50,
"limit": 50,
"identified": [
{
"id": "<string>",
"object": "product",
"item_index": 1,
"item_quantity": 123
}
],
"missing": [
{
"id": "<string>",
"object": "product",
"item_quantity": 123
}
]
},
"gift": {
"balance": 123,
"credits": 123,
"locked_credits": 123
},
"loyalty_card": {
"points": 7000,
"balance": 6970,
"exchange_ratio": 123,
"points_ratio": 123,
"transfers": [
{
"code": "<string>",
"points": 123,
"source_id": "<string>",
"reason": "<string>"
}
]
},
"error": {
"code": 123,
"message": "<string>",
"key": "<string>",
"details": "<string>",
"request_id": "v-0a885062c80375740f",
"resource_id": "rf_0c5d710a87c8a31f86",
"resource_type": "voucher",
"error": {
"message": "<string>"
}
}
},
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items_discount_amount": 123,
"total_discount_amount": 123,
"total_amount": 123,
"applied_discount_amount": 123,
"items_applied_discount_amount": 123,
"total_applied_discount_amount": 123,
"metadata": {},
"object": "order",
"created_at": "2021-12-22T10:13:06.487Z",
"updated_at": "2021-12-22T10:14:45.316Z",
"customer_id": "cust_7iUa6ICKyU6gH40dBU25kQU1",
"referrer_id": "cust_nM4jqPiaXUvQdVSA6vTRUnix",
"customer": {
"id": "<string>",
"object": "customer"
},
"referrer": {
"id": "<string>",
"object": "customer"
},
"redemptions": {},
"items": [
{
"object": "order_item",
"id": "<string>",
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"applied_discount_amount": 123,
"applied_discount_quantity": 123,
"applied_quantity": 123,
"applied_quantity_amount": 123,
"initial_amount": 123,
"price": 123,
"subtotal_amount": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {},
"application_details": [
{
"source_index": 1,
"source_applied_quantity": -2,
"source_applied_quantity_amount": -1,
"target_index": 123,
"target_applied_quantity": 123,
"target_applied_quantity_amount": 123,
"target_applied_discount_amount": 123
}
]
}
]
},
"validation_rule_id": "<string>",
"applicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"inapplicable_to": {
"data": [
{
"object": "product",
"id": "<string>",
"effect": "APPLY_TO_EVERY",
"source_id": "<string>",
"product_id": "<string>",
"product_source_id": "<string>",
"price": 123,
"price_formula": 123,
"quantity_limit": 123,
"aggregated_quantity_limit": 123,
"amount_limit": 123,
"aggregated_amount_limit": 123,
"order_item_indices": [
123
],
"order_item_units": [
{
"index": 1,
"units": [
123
],
"units_limit_exceeded": true
}
],
"repeat": 123,
"skip_initially": 123,
"target": "ITEM"
}
],
"total": 1,
"object": "list",
"data_ref": "data"
},
"metadata": {},
"categories": [
{
"id": "<string>",
"name": "<string>",
"hierarchy": 1,
"object": "category",
"created_at": "2022-07-14T10:45:13.156Z",
"updated_at": "2022-08-16T10:52:08.094Z",
"stacking_rules_type": "JOINT"
}
],
"banner": "Order Paid - You will get 100 points",
"name": "promotion_tier_get_points",
"campaign_name": "PromotionCampaign",
"campaign_id": "camp_Mow7u4gSxagLlZ2oDQ01ZS5N",
"validation_rules_assignments": {
"object": "list",
"data_ref": "data",
"data": [
{
"id": "asgm_LnY1g7UNFA9KyDrD",
"rule_id": "val_3gPNA6SnH4ae",
"related_object_id": "camp_CZOnEGiZfwIKWmSjhIoIT7Ol",
"related_object_type": "campaign",
"object": "validation_rules_assignment",
"validation_status": "PARTIALLY_VALID",
"validation_omitted_rules": [
"1"
]
}
],
"total": 1
}
}
]
}
],
"total": 5,
"has_more": true,
"more_starting_after": "2023-10-31T12:13:16.374Z"
},
"tracking_id": "<string>",
"order": {
"id": "<string>",
"source_id": "<string>",
"status": "CREATED",
"amount": 123,
"initial_amount": 123,
"discount_amount": 123,
"items_discount_amount": 123,
"total_discount_amount": 123,
"total_amount": 123,
"applied_discount_amount": 123,
"items_applied_discount_amount": 123,
"total_applied_discount_amount": 123,
"metadata": {},
"object": "order",
"created_at": "2021-12-22T10:13:06.487Z",
"updated_at": "2021-12-22T10:14:45.316Z",
"customer_id": "cust_7iUa6ICKyU6gH40dBU25kQU1",
"referrer_id": "cust_nM4jqPiaXUvQdVSA6vTRUnix",
"customer": {
"id": "<string>",
"object": "customer"
},
"referrer": {
"id": "<string>",
"object": "customer"
},
"redemptions": {},
"items": [
{
"object": "order_item",
"id": "<string>",
"sku_id": "<string>",
"product_id": "<string>",
"related_object": "product",
"source_id": "<string>",
"quantity": 123,
"discount_quantity": 123,
"initial_quantity": 123,
"amount": 123,
"discount_amount": 123,
"applied_discount_amount": 123,
"applied_discount_quantity": 123,
"applied_quantity": 123,
"applied_quantity_amount": 123,
"initial_amount": 123,
"price": 123,
"subtotal_amount": 123,
"product": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"name": "<string>",
"metadata": {},
"price": 123
},
"sku": {
"id": "<string>",
"source_id": "<string>",
"override": true,
"sku": "<string>",
"price": 123,
"metadata": {}
},
"metadata": {},
"application_details": [
{
"source_index": 1,
"source_applied_quantity": -2,
"source_applied_quantity_amount": -1,
"target_index": 123,
"target_applied_quantity": 123,
"target_applied_quantity_amount": 123,
"target_applied_discount_amount": 123
}
]
}
]
},
"stacking_rules": {
"redeemables_limit": 30,
"applicable_redeemables_limit": 5,
"applicable_redeemables_per_category_limit": 1,
"applicable_redeemables_category_limits": {},
"applicable_exclusive_redeemables_limit": 1,
"exclusive_categories": [
"<string>"
],
"joint_categories": [
"<string>"
],
"redeemables_application_mode": "ALL",
"redeemables_sorting_rule": "REQUESTED_ORDER",
"redeemables_products_application_mode": "STACK",
"redeemables_no_effect_rule": "REDEEM_ANYWAY",
"no_effect_skip_categories": [
"<string>"
],
"no_effect_redeem_anyway_categories": [
"<string>"
],
"redeemables_rollback_order_mode": "WITH_ORDER",
"applicable_exclusive_redeemables_per_category_limit": 1
}
}The access token received from the authorization server in the OAuth 2.0 flow.
Define order and customer context.
Request body schema for POST v1/qualifications.
Customer's information.
Show child attributes
The ID of an existing customer.
A unique identifier of the customer who validates a voucher. It can be a customer ID or email from a CRM system, database, or a third-party service. If you also pass a customer ID (unique ID assigned by Voucherify), the source ID will be ignored.
Customer's first and last name.
An arbitrary string that you can attach to a customer object.
Customer's email address.
Customer's phone number. This parameter is mandatory when you try to send out codes to customers via an SMS channel.
Deprecated. Customer's birthdate; format YYYY-MM-DD.
Customer's birthdate; format YYYY-MM-DD.
Customer's address.
A set of custom key/value pairs that you can attach to a customer. The metadata object stores all custom attributes assigned to the customer. It can be useful for storing additional information about the customer in a structured format. This metadata can be used for validating whether the customer qualifies for a discount or it can be used in building customer segments.
Order information.
Show child attributes
Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request.
Unique source ID of an existing order that will be linked to the redemption of this request.
The order status.
CREATED, PAID, CANCELED, FULFILLED A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
Sum of all order-level discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Array of items applied to the order. It can include up to 500 items.
Show child attributes
Unique identifier of the SKU. It is assigned by Voucherify.
Unique identifier of the product. It is assigned by Voucherify.
Used along with the source_id property, can be set to either sku or product.
product, sku The merchant's product/SKU ID (if it is different from the Voucherify product/SKU ID). It is useful in the integration between multiple systems. It can be an ID from an eCommerce site, a database, or a third-party service.
The quantity of the particular item in the cart.
Number of dicounted items.
A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity.
The total amount of the order item (price * quantity).
Sum of all order-item-level discounts applied to the order.
A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
An object containing details of the related product.
Show child attributes
A unique identifier that represents the product and is assigned by Voucherify.
The merchant's product ID (if it is different than Voucherify's product ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system. Override works only for endpoints that create an order in the database.
Product name.
A set of custom key/value pairs that you can attach to a product. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
Product price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
An object containing details of the related SKU.
Show child attributes
A unique identifier that represents the SKU and is assigned by Voucherify.
The merchant's SKU ID (if it is different than Voucherify's SKU ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
The SKU name.
SKU price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
A set of custom key/value pairs that you can attach to an order item. It can be useful for storing additional information about the order item in a structured format. It can be used to create product collections.
A set of custom key/value pairs that you can attach to an order item. It can be useful for storing additional information about the order item in a structured format. It can be used to define business validation rules.
A set of custom key/value pairs that you can attach to an order. It can be useful for storing additional information about the order in a structured format. It can be used to define business validation rules or discount formulas.
Is correspondent to Customer's source_id
Defines the scenario Voucherify should consider during the qualification process.
ALL - Scenario that returns all redeemables available for the customer in one API request. This scenario is used by default when no value is selected.CUSTOMER_WALLET - returns vouchers applicable to the customer's cart based on the vouchers assigned to the customer's profile.AUDIENCE_ONLY - returns all vouchers, promotion tiers, and campaigns available to the customer. Voucherify validates the rules based on the customer profile only.PRODUCTS - returns all promotions available for the products (when a discount is defined to be applied to the item or when the item is required in the validation rule).PRODUCTS_DISCOUNT - returns all promotions available for products when a discount is defined as applicable to specific item(s).PROMOTION_STACKS - returns the applicable promotion stacks.PRODUCTS_BY_CUSTOMER - returns all promotions available for a customer for the products (when a discount is defined to be applied to the item or when the item is required in the validation rule).PRODUCTS_DISCOUNT_BY_CUSTOMER - returns all promotions available for a customer for products when a discount is defined as applicable to specific item(s).ALL, CUSTOMER_WALLET, AUDIENCE_ONLY, PRODUCTS, PRODUCTS_DISCOUNT, PROMOTION_STACKS, PRODUCTS_BY_CUSTOMER, PRODUCTS_DISCOUNT_BY_CUSTOMER Configure parameters returned in the response.
Show child attributes
The maximum number of redeemables to be returned in the API request. The actual number of returned redeemables will be determined by the API. The default value is set to 5
x <= 50Cursor used for paging.
"2021-09-08T13:52:18.227Z"
A set of filters to return only a specific category or type of redeemable.
Show child attributes
Logical Operator Between Filters. Filter by conditions set on the junction parameter indicating how the conditions should be accounted for in the query. An AND is an all-inclusive logical operator, meaning the AND operator displays a record if ALL the conditions separated by AND are TRUE, while an OR operator displays a record if ANY of the conditions separated by OR is TRUE.
and, or Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
Returns both campaigns and their vouchers or promotion tiers. Use other filters, e.g. resource_type, to narrow down the results.
Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
PROMOTION, GIFT_VOUCHERS, REFERRAL_PROGRAM, DISCOUNT_COUPONS, LOYALTY_PROGRAM PROMOTION, GIFT_VOUCHERS, REFERRAL_PROGRAM, DISCOUNT_COUPONS, LOYALTY_PROGRAM PROMOTION, GIFT_VOUCHERS, REFERRAL_PROGRAM, DISCOUNT_COUPONS, LOYALTY_PROGRAM PROMOTION, GIFT_VOUCHERS, REFERRAL_PROGRAM, DISCOUNT_COUPONS, LOYALTY_PROGRAM Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
Show child attributes
Data filters used to narrow down the data records to be returned in the result.
campaign refers to campaigns;voucher refers to generic (standalone) vouchers or published vouchers;promotion_tier refers to promotion tiers.Show child attributes
Types of usable resources.
campaign, voucher, promotion_tier Types of usable resources.
campaign, voucher, promotion_tier Types of usable resources.
campaign, voucher, promotion_tier Types of usable resources.
campaign, voucher, promotion_tier Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
Show child attributes
Data filters used to narrow down the data records to be returned in the result.
Show child attributes
Will return records only for the first value in the array.
OWNER, REFERRER, REFEREE Will return records only for the first value in the array.
OWNER, REFERRER, REFEREE Will return records for the values in the array.
OWNER, REFERRER, REFEREE Will return records for the values in the array.
OWNER, REFERRER, REFEREE The expand array lets you configure the parameters included in the response. Depending on the strings included in the array, the response will contain different details.
| Expand Option | Response Body |
|---|---|
["redeemable"] | Returns the redeemables': - metadata - redeemable name, - campaign name, - campaign ID |
["category"] | - Returns an expanded categories object, showing details about the category. |
["validation_rules"] | - Returns an expanded validation_rules object, showing details about the validation rules. |
redeemable, category, validation_rules Is used to determine the order in which data is displayed in the result array.
DEFAULT - Sorting descending by created_atBEST_DEAL - Sorting descending by total_applied_discount_amountLEAST_DEAL - Sorting ascending by total_applied_discount_amountBEST_DEAL, LEAST_DEAL, DEFAULT A set of key/value pairs that you can send in the request body to check against redeemables requiring redemption metadata validation rules to be satisfied. The validation runs against rules that are defined through the Create Validation Rules endpoint or via the Dashboard; in the Advanced Rule Builder โ Advanced โ Redemption metadata satisfy or Basic Builder โ Attributes match โ REDEMPTION METADATA. Read more.
Returns a qualifications object.
Response body schema for POST v1/qualifications.
List of redeemables for examine qualification.
Show child attributes
The type of the object represented by JSON. Default is list.
list Identifies the name of the attribute that contains the array of qualified redeemables.
data Array of qualified redeemables.
Show child attributes
ID of the redeemable. For a voucher, it's its code value.
Object type of the redeemable.
campaign, promotion_tier, promotion_stack, voucher Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
"2022-03-09T11:19:04.819Z"
Information about redeemable result.
Show child attributes
Contains information about discount.
Show child attributes
Defines the type of the voucher.
AMOUNT Amount taken off the subtotal of a price. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 discount is written as 1000.
Formula used to dynamically calculate the discount.
Maximum discount amount per order.
Defines how the discount is applied to the customer's order.
APPLY_TO_ORDER, APPLY_TO_ITEMS, APPLY_TO_ITEMS_PROPORTIONALLY, APPLY_TO_ITEMS_PROPORTIONALLY_BY_QUANTITY, APPLY_TO_ITEMS_BY_QUANTITY Flag indicating whether the discount was calculated using a formula.
Determines how the bundle conditions are met by the customer's order items. The items in the order meet the bundle condition in the following way: SKU, then product, then collection.
Show child attributes
Determines how many bundles are qualified. If there are missing bundle products, the value is 0. If the bundle is qualified, the value is 1. The maximum number of identified bundles can equal the number set in limit. Also defines the multiplier of the discount for AMOUNT, PERCENT, and UNIT discount types. To inform end-customers that more products can be added to meet additional bundles, compare this parameter with limit.
0 <= x <= 100Determines the maximum number of identified bundles. This also defines the maximum multiplier of the bundle discount.
1 <= x <= 100Determines products from the customer's order items that meet bundle conditions. SKUs meet the conditions for their product that is used in the bundle. Returns only the products and their quantity that meet the bundle.
Show child attributes
Unique identifier of the product or SKU that meets the bundle condition. This is an ID assigned by Voucherify.
Determines the type of the object that meets the bundle condition.
product, sku Number assigned to the order line item in accordance with the order sent in the request. It starts with 0 for the first order line item in the request.
x >= 0Quantity of items that meet the bundle conditions. If the quantity in the order is higher than the quantity required by the bundle, this returns only the number that meets the bundle. For example, if the bundle requires 5 coffees, but the order includes 10 coffees, item_quantity returns 5.
Determines products, SKUs, or collections from the bundle that are missing in the customer's order items. Determines also the missing quantity. For collections, this means that order items do not include a sufficient number of items that belong to the collection. Not returned when all required bundle items are in the order.
Show child attributes
Unique identifier of the collection, product, or SKU that is missing in the customer's order items. This is an ID assigned by Voucherify.
Determines the type of the object that is missing in the customer's order items.
product, products_collection, sku Quantity of items that are missing in the order items to meet the bundle conditions.
Contains current gift card balance information.
Show child attributes
Available funds. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
The number of credits that the user wants to use from the gift card to fulfil the order. The value of credits cannot be higher than the current balance on the gift card. If the user gives more points than he has on the gift card, the application will return an error code in response. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
The number of credits that are locked under a validation session. This is returned if the qualification request includes session.type: LOCK parameter in the body. The value is multiplied by 100 to represent 2 decimal places. For example 10000 for $100.00. Returns 0 if there aren't any active validation sessions for the gift card.
Loyalty Card object response
Show child attributes
Total number of points added to the loyalty card over its lifespan.
7000
Points available for reward redemption. This is calculated as follows: balance = points - expired_points - subtracted_points - redemption.redeemed_points.
6970
The cash equivalent of the points defined in the points_ratio property.
The number of loyalty points that will map to the predefined cash amount defined by the exchange_ratio property.
Show child attributes
Unique loyalty card code from which the user wants to transfer loyalty points (source).
The number of loyalty points that the user wants to transfer to another loyalty card. The number of points cannot be higher than the current balance on the loyalty card (source).
The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service.
Reason for the transfer.
Error in result
Show child attributes
Error's HTTP status code.
A human-readable message providing a short description of the error.
Short string describing the kind of error which occurred.
A human-readable message providing more details about the error.
This ID is useful when troubleshooting and/or finding the root cause of an error response by our support team.
"v-0a885062c80375740f"
Unique resource ID that can be used in another endpoint to get more details.
"rf_0c5d710a87c8a31f86"
The resource type.
"voucher"
Order information.
Show child attributes
Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request.
Unique source ID of an existing order that will be linked to the redemption of this request.
The order status.
CREATED, PAID, CANCELED, FULFILLED This is the sum of the order items' amounts. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
This is the sum of the order items' amounts before any discount or other effect (e.g. add missing units) is applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all order-level discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
sum(items, i => i.applied_discount_amount)
Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
total_applied_discount_amount = applied_discount_amount + items_applied_discount_amount
A set of custom key/value pairs that you can attach to an order. It can be useful for storing additional information about the order in a structured format. It can be used to define business validation rules or discount formulas.
The type of the object represented by JSON.
order Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
"2021-12-22T10:13:06.487Z"
Timestamp representing the date and time when the order was last updated in ISO 8601 format.
"2021-12-22T10:14:45.316Z"
Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
"cust_7iUa6ICKyU6gH40dBU25kQU1"
Unique referrer ID.
"cust_nM4jqPiaXUvQdVSA6vTRUnix"
Show child attributes
Show child attributes
Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
"2022-09-02T17:06:56.649Z"
Unique ID of the redemption rollback.
"rr_0c63c84eb78ee0a6c0"
Timestamp representing the date and time when the redemption rollback was created. The value is shown in the ISO 8601 format.
"2023-01-31T14:18:37.150Z"
The source of the incentive.
Unique ID of the parent redemption.
"r_0ba186c4824e4881e1"
Represent's the campaign ID of the voucher if the redemption was based on a voucher that was part of bulk codes generated within a campaign. In case of a promotion tier, this represents the campaign ID of the promotion tier's parent campaign.
Contains a list of unique IDs of child redemptions, which belong to the stacked incentives.
Lists the rollback redemption IDs of the particular child redemptions.
Array of items applied to the order. It can include up to 500 items.
Show child attributes
The type of the object represented by JSON.
order_item Unique identifier of the order line item.
Unique identifier of the SKU. It is assigned by Voucherify.
Unique identifier of the product. It is assigned by Voucherify.
Used along with the source_id property, can be set to either sku or product.
product, sku The merchant's product/SKU ID (if it is different from the Voucherify product/SKU ID). It is useful in the integration between multiple systems. It can be an ID from an eCommerce site, a database, or a third-party service.
The quantity of the particular item in the cart.
Number of dicounted items.
A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity.
The total amount of the order item (price * quantity).
Sum of all order-item-level discounts applied to the order.
This field shows the order-level discount applied.
Number of the discounted items applied in the transaction.
Quantity of items changed by the application of a new quantity items. It can be positive when an item is added or negative if an item is replaced.
Amount for the items changed by the application of a new quantity items. It can be positive when an item is added or negative if an item is replaced.
A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
Final order item amount after the applied item-level discount. If there are no item-level discounts applied, this item is equal to the amount.
subtotal_amount=amount-applied_discount_amount
An object containing details of the related product.
Show child attributes
A unique identifier that represents the product and is assigned by Voucherify.
The merchant's product ID (if it is different than Voucherify's product ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
Product name.
A set of custom key/value pairs that you can attach to a product. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
Product price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
An object containing details of the related SKU.
Show child attributes
A unique identifier that represents the SKU and is assigned by Voucherify.
The merchant's SKU ID (if it is different than Voucherify's SKU ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
The SKU name.
SKU price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
A set of custom key/value pairs that you can attach to an SKU. It can be useful for storing additional information about the SKU in a structured format. It can be used to create product collections.
A set of custom key/value pairs that you can attach to an item object. It can be useful for storing additional information about the item in a structured format. It can be used to define business validation rules or discount formulas.
Array containing details about the items that are replaced and the items that are replacements for discounts with the REPLACE_ITEMS effect.
Show child attributes
Index number of the source item that is replaced. The enumeration starts from 0, which represents the first item in the request, e.g., if the replaced item is passed as the second in the request, source_index equals 3.
x >= 0Number of source units that are replaced.
x <= -1Amount equal to the price of the units that are replaced. Determines the change of the amount of the source item quantity.
x <= 0Index number of the target item that is a replacement of the source item. The enumeration continues the values for the order items, e.g. if there are three items in the request, target_index equals 3, as enumeration starts from 0.
Number of added target units that are replacements.
Amount equal to the price of the units that are replacements. Determines the change in the amount of the target item quantity.
Discount amount applied to the target item with regard to the replacement. Equals the target_applied_quantity_amount minus source_applied_quantity_amount.
A unique validation rule identifier assigned by the Voucherify API. The validation rule is verified before points are added to the balance.
Contains list of items that qualify in the scope of the discount. These are definitions of included products, SKUs, and product collections. These can be discounted.
Show child attributes
Contains array of items to which the discount can apply.
Show child attributes
This object stores information about the resource to which the discount is applicable.
product, sku, products_collection Unique product collection, product, or SKU identifier assigned by Voucherify.
Defines how the discount is applied to the customer's order.
APPLY_TO_EVERY, APPLY_TO_CHEAPEST, APPLY_FROM_CHEAPEST, APPLY_TO_MOST_EXPENSIVE, APPLY_FROM_MOST_EXPENSIVE The source identifier from your inventory system.
Parent product's unique ID assigned by Voucherify.
Parent product's source ID from your inventory system.
New fixed price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 price is written as 1000. In case of the fixed price being calculated by the formula, i.e. the price_formula parameter is present in the fixed price definition, this value becomes the fallback value. Such that in a case where the formula cannot be calculated due to missing metadata, for example, this value will be used as the fixed price.
Formula used to dynamically calculate the discounted price of an item.
The maximum number of units allowed to be discounted per order line item.
The maximum number of units allowed to be discounted combined across all matched order line items.
Upper limit allowed to be applied as a discount per order line item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount is written as 600.
Maximum discount amount per order. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount on the entire order is written as 600. This value is definable for the following discount effects:
APPLY_TO_ITEMS (each item subtotal is discounted equally)APPLY_TO_ITEMS_BY_QUANTITY (each unit of matched products has the same discount value)Lists which order lines are (not) covered by the discount. The order in the array is determined by the sequence of applied discounts, while the numbers correspond to the order lines sent in the order object in the request. The first order line is assigned 0, the second order line is assigned 1, and so on.
Lists which units within order lines are covered by the discount. The order line items are listed according to sequence of applied discounts while the index corresponds to the order line sent in the order object in the request.
Show child attributes
Number assigned to the order line item in accordance with the order sent in the request.
x >= 0Numbers of units in the order line covered by the discount; e.g. 2, 5, 8 for 10 units with the setting "skip_initially": 1, "repeat": 3. The counting of units starts from 1. The maximum quantity of all handled units is 1000. If the quantity of all order items exceeds 1000, this array is not returned, but units_limit_exceeded: true. However, the discount is calculated properly for all relevant units.
Returned as true only when the sum total of quantity of all order items exceeds 1000.
Determines the recurrence of the discount, e.g. "repeat": 3 means that the discount is applied to every third item.
Determines how many items are skipped before the discount is applied.
Determines to which kinds of objects the discount is applicable. ITEM includes products and SKUs. UNIT means particular units within an order line.
ITEM, UNIT Total number of objects defining included products, SKUs, or product collections.
x >= 0The type of the object represented by JSON.
list The type of the object represented by JSON.
data Contains list of items that do not qualify in the scope of the discount. These are definitions of excluded products, SKUs, and product collections. These CANNOT be discounted.
Show child attributes
Contains array of items to which the discount cannot apply.
Show child attributes
This object stores information about the resource to which the discount is applicable.
product, sku, products_collection Unique product collection, product, or SKU identifier assigned by Voucherify.
Defines how the discount is applied to the customer's order.
APPLY_TO_EVERY, APPLY_TO_CHEAPEST, APPLY_FROM_CHEAPEST, APPLY_TO_MOST_EXPENSIVE, APPLY_FROM_MOST_EXPENSIVE The source identifier from your inventory system.
Parent product's unique ID assigned by Voucherify.
Parent product's source ID from your inventory system.
New fixed price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 price is written as 1000. In case of the fixed price being calculated by the formula, i.e. the price_formula parameter is present in the fixed price definition, this value becomes the fallback value. Such that in a case where the formula cannot be calculated due to missing metadata, for example, this value will be used as the fixed price.
Formula used to dynamically calculate the discounted price of an item.
The maximum number of units allowed to be discounted per order line item.
The maximum number of units allowed to be discounted combined across all matched order line items.
Upper limit allowed to be applied as a discount per order line item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount is written as 600.
Maximum discount amount per order. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount on the entire order is written as 600. This value is definable for the following discount effects:
APPLY_TO_ITEMS (each item subtotal is discounted equally)APPLY_TO_ITEMS_BY_QUANTITY (each unit of matched products has the same discount value)Lists which order lines are (not) covered by the discount. The order in the array is determined by the sequence of applied discounts, while the numbers correspond to the order lines sent in the order object in the request. The first order line is assigned 0, the second order line is assigned 1, and so on.
Lists which units within order lines are covered by the discount. The order line items are listed according to sequence of applied discounts while the index corresponds to the order line sent in the order object in the request.
Show child attributes
Number assigned to the order line item in accordance with the order sent in the request.
x >= 0Numbers of units in the order line covered by the discount; e.g. 2, 5, 8 for 10 units with the setting "skip_initially": 1, "repeat": 3. The counting of units starts from 1. The maximum quantity of all handled units is 1000. If the quantity of all order items exceeds 1000, this array is not returned, but units_limit_exceeded: true. However, the discount is calculated properly for all relevant units.
Returned as true only when the sum total of quantity of all order items exceeds 1000.
Determines the recurrence of the discount, e.g. "repeat": 3 means that the discount is applied to every third item.
Determines how many items are skipped before the discount is applied.
Determines to which kinds of objects the discount is applicable. ITEM includes products and SKUs. UNIT means particular units within an order line.
ITEM, UNIT Total number of objects defining included products, SKUs, or product collections.
x >= 0The type of the object represented by JSON.
list The type of the object represented by JSON.
data The metadata object stores all custom attributes assigned to the product. A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format.
List of category information.
Show child attributes
Unique category ID assigned by Voucherify.
Category name.
Category hierarchy. Categories with lower hierarchy are processed before categories with higher hierarchy value.
x >= 0The type of the object represented by the JSON. This object stores information about the category.
category Timestamp representing the date and time when the category was created. The value is shown in the ISO 8601 format.
"2022-07-14T10:45:13.156Z"
Timestamp representing the date and time when the category was updated. The value is shown in the ISO 8601 format.
"2022-08-16T10:52:08.094Z"
The type of the stacking rule eligibility.
JOINT, EXCLUSIVE Name of the earning rule. This is displayed as a header for the earning rule in the Dashboard.
"Order Paid - You will get 100 points"
Name of the redeemable.
"promotion_tier_get_points"
Name of the campaign associated to the redeemable. This field is available only if object is not campaign
"PromotionCampaign"
Id of the campaign associated to the redeemable. This field is available only if object is not campaign
"camp_Mow7u4gSxagLlZ2oDQ01ZS5N"
List of Validation Rules Assignments
Show child attributes
The type of the object represented by JSON. This object stores information about validation rules assignments.
list Identifies the name of the attribute that contains the array of validation rules assignments.
data Contains array of validation rules assignments.
Show child attributes
The unique identifier for a assignment
The unique identifier for a rule
The unique identifier for a related object
The type of related object
The type of the object represented by JSON.
validation_rules_assignment Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
"2022-03-09T11:19:04.819Z"
Timestamp representing the date and time when the object was last updated in ISO 8601 format.
"2022-03-09T11:19:04.819Z"
The validation status of the assignment
VALID, PARTIALLY_VALID, INVALID The list of omitted rules
Total number of validation rules assignments.
x >= 0Show child attributes
ID of the redeemable. For a voucher, it's its code value.
Object type of the redeemable.
campaign, promotion_tier, promotion_stack, voucher Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
"2022-03-09T11:19:04.819Z"
Information about redeemable result.
Show child attributes
Contains information about discount.
Show child attributes
Defines the type of the voucher.
AMOUNT Amount taken off the subtotal of a price. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 discount is written as 1000.
Formula used to dynamically calculate the discount.
Maximum discount amount per order.
Defines how the discount is applied to the customer's order.
APPLY_TO_ORDER, APPLY_TO_ITEMS, APPLY_TO_ITEMS_PROPORTIONALLY, APPLY_TO_ITEMS_PROPORTIONALLY_BY_QUANTITY, APPLY_TO_ITEMS_BY_QUANTITY Flag indicating whether the discount was calculated using a formula.
Determines how the bundle conditions are met by the customer's order items. The items in the order meet the bundle condition in the following way: SKU, then product, then collection.
Show child attributes
Determines how many bundles are qualified. If there are missing bundle products, the value is 0. If the bundle is qualified, the value is 1. The maximum number of identified bundles can equal the number set in limit. Also defines the multiplier of the discount for AMOUNT, PERCENT, and UNIT discount types. To inform end-customers that more products can be added to meet additional bundles, compare this parameter with limit.
0 <= x <= 100Determines the maximum number of identified bundles. This also defines the maximum multiplier of the bundle discount.
1 <= x <= 100Determines products from the customer's order items that meet bundle conditions. SKUs meet the conditions for their product that is used in the bundle. Returns only the products and their quantity that meet the bundle.
Show child attributes
Unique identifier of the product or SKU that meets the bundle condition. This is an ID assigned by Voucherify.
Determines the type of the object that meets the bundle condition.
product, sku Number assigned to the order line item in accordance with the order sent in the request. It starts with 0 for the first order line item in the request.
x >= 0Quantity of items that meet the bundle conditions. If the quantity in the order is higher than the quantity required by the bundle, this returns only the number that meets the bundle. For example, if the bundle requires 5 coffees, but the order includes 10 coffees, item_quantity returns 5.
Determines products, SKUs, or collections from the bundle that are missing in the customer's order items. Determines also the missing quantity. For collections, this means that order items do not include a sufficient number of items that belong to the collection. Not returned when all required bundle items are in the order.
Show child attributes
Unique identifier of the collection, product, or SKU that is missing in the customer's order items. This is an ID assigned by Voucherify.
Determines the type of the object that is missing in the customer's order items.
product, products_collection, sku Quantity of items that are missing in the order items to meet the bundle conditions.
Contains current gift card balance information.
Show child attributes
Available funds. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
The number of credits that the user wants to use from the gift card to fulfil the order. The value of credits cannot be higher than the current balance on the gift card. If the user gives more points than he has on the gift card, the application will return an error code in response. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
The number of credits that are locked under a validation session. This is returned if the qualification request includes session.type: LOCK parameter in the body. The value is multiplied by 100 to represent 2 decimal places. For example 10000 for $100.00. Returns 0 if there aren't any active validation sessions for the gift card.
Loyalty Card object response
Show child attributes
Total number of points added to the loyalty card over its lifespan.
7000
Points available for reward redemption. This is calculated as follows: balance = points - expired_points - subtracted_points - redemption.redeemed_points.
6970
The cash equivalent of the points defined in the points_ratio property.
The number of loyalty points that will map to the predefined cash amount defined by the exchange_ratio property.
Show child attributes
Unique loyalty card code from which the user wants to transfer loyalty points (source).
The number of loyalty points that the user wants to transfer to another loyalty card. The number of points cannot be higher than the current balance on the loyalty card (source).
The merchant's transaction ID if it is different from the Voucherify transaction ID. It is really useful in case of an integration between multiple systems. It can be a transaction ID from a CRM system, database or 3rd-party service.
Reason for the transfer.
Error in result
Show child attributes
Error's HTTP status code.
A human-readable message providing a short description of the error.
Short string describing the kind of error which occurred.
A human-readable message providing more details about the error.
This ID is useful when troubleshooting and/or finding the root cause of an error response by our support team.
"v-0a885062c80375740f"
Unique resource ID that can be used in another endpoint to get more details.
"rf_0c5d710a87c8a31f86"
The resource type.
"voucher"
Order information.
Show child attributes
Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request.
Unique source ID of an existing order that will be linked to the redemption of this request.
The order status.
CREATED, PAID, CANCELED, FULFILLED This is the sum of the order items' amounts. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
This is the sum of the order items' amounts before any discount or other effect (e.g. add missing units) is applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all order-level discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
sum(items, i => i.applied_discount_amount)
Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
total_applied_discount_amount = applied_discount_amount + items_applied_discount_amount
A set of custom key/value pairs that you can attach to an order. It can be useful for storing additional information about the order in a structured format. It can be used to define business validation rules or discount formulas.
The type of the object represented by JSON.
order Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
"2021-12-22T10:13:06.487Z"
Timestamp representing the date and time when the order was last updated in ISO 8601 format.
"2021-12-22T10:14:45.316Z"
Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
"cust_7iUa6ICKyU6gH40dBU25kQU1"
Unique referrer ID.
"cust_nM4jqPiaXUvQdVSA6vTRUnix"
Show child attributes
Show child attributes
Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
"2022-09-02T17:06:56.649Z"
Unique ID of the redemption rollback.
"rr_0c63c84eb78ee0a6c0"
Timestamp representing the date and time when the redemption rollback was created. The value is shown in the ISO 8601 format.
"2023-01-31T14:18:37.150Z"
The source of the incentive.
Unique ID of the parent redemption.
"r_0ba186c4824e4881e1"
Represent's the campaign ID of the voucher if the redemption was based on a voucher that was part of bulk codes generated within a campaign. In case of a promotion tier, this represents the campaign ID of the promotion tier's parent campaign.
Contains a list of unique IDs of child redemptions, which belong to the stacked incentives.
Lists the rollback redemption IDs of the particular child redemptions.
Array of items applied to the order. It can include up to 500 items.
Show child attributes
The type of the object represented by JSON.
order_item Unique identifier of the order line item.
Unique identifier of the SKU. It is assigned by Voucherify.
Unique identifier of the product. It is assigned by Voucherify.
Used along with the source_id property, can be set to either sku or product.
product, sku The merchant's product/SKU ID (if it is different from the Voucherify product/SKU ID). It is useful in the integration between multiple systems. It can be an ID from an eCommerce site, a database, or a third-party service.
The quantity of the particular item in the cart.
Number of dicounted items.
A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity.
The total amount of the order item (price * quantity).
Sum of all order-item-level discounts applied to the order.
This field shows the order-level discount applied.
Number of the discounted items applied in the transaction.
Quantity of items changed by the application of a new quantity items. It can be positive when an item is added or negative if an item is replaced.
Amount for the items changed by the application of a new quantity items. It can be positive when an item is added or negative if an item is replaced.
A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
Final order item amount after the applied item-level discount. If there are no item-level discounts applied, this item is equal to the amount.
subtotal_amount=amount-applied_discount_amount
An object containing details of the related product.
Show child attributes
A unique identifier that represents the product and is assigned by Voucherify.
The merchant's product ID (if it is different than Voucherify's product ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
Product name.
A set of custom key/value pairs that you can attach to a product. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
Product price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
An object containing details of the related SKU.
Show child attributes
A unique identifier that represents the SKU and is assigned by Voucherify.
The merchant's SKU ID (if it is different than Voucherify's SKU ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
The SKU name.
SKU price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
A set of custom key/value pairs that you can attach to an SKU. It can be useful for storing additional information about the SKU in a structured format. It can be used to create product collections.
A set of custom key/value pairs that you can attach to an item object. It can be useful for storing additional information about the item in a structured format. It can be used to define business validation rules or discount formulas.
Array containing details about the items that are replaced and the items that are replacements for discounts with the REPLACE_ITEMS effect.
Show child attributes
Index number of the source item that is replaced. The enumeration starts from 0, which represents the first item in the request, e.g., if the replaced item is passed as the second in the request, source_index equals 3.
x >= 0Number of source units that are replaced.
x <= -1Amount equal to the price of the units that are replaced. Determines the change of the amount of the source item quantity.
x <= 0Index number of the target item that is a replacement of the source item. The enumeration continues the values for the order items, e.g. if there are three items in the request, target_index equals 3, as enumeration starts from 0.
Number of added target units that are replacements.
Amount equal to the price of the units that are replacements. Determines the change in the amount of the target item quantity.
Discount amount applied to the target item with regard to the replacement. Equals the target_applied_quantity_amount minus source_applied_quantity_amount.
A unique validation rule identifier assigned by the Voucherify API. The validation rule is verified before points are added to the balance.
Contains list of items that qualify in the scope of the discount. These are definitions of included products, SKUs, and product collections. These can be discounted.
Show child attributes
Contains array of items to which the discount can apply.
Show child attributes
This object stores information about the resource to which the discount is applicable.
product, sku, products_collection Unique product collection, product, or SKU identifier assigned by Voucherify.
Defines how the discount is applied to the customer's order.
APPLY_TO_EVERY, APPLY_TO_CHEAPEST, APPLY_FROM_CHEAPEST, APPLY_TO_MOST_EXPENSIVE, APPLY_FROM_MOST_EXPENSIVE The source identifier from your inventory system.
Parent product's unique ID assigned by Voucherify.
Parent product's source ID from your inventory system.
New fixed price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 price is written as 1000. In case of the fixed price being calculated by the formula, i.e. the price_formula parameter is present in the fixed price definition, this value becomes the fallback value. Such that in a case where the formula cannot be calculated due to missing metadata, for example, this value will be used as the fixed price.
Formula used to dynamically calculate the discounted price of an item.
The maximum number of units allowed to be discounted per order line item.
The maximum number of units allowed to be discounted combined across all matched order line items.
Upper limit allowed to be applied as a discount per order line item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount is written as 600.
Maximum discount amount per order. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount on the entire order is written as 600. This value is definable for the following discount effects:
APPLY_TO_ITEMS (each item subtotal is discounted equally)APPLY_TO_ITEMS_BY_QUANTITY (each unit of matched products has the same discount value)Lists which order lines are (not) covered by the discount. The order in the array is determined by the sequence of applied discounts, while the numbers correspond to the order lines sent in the order object in the request. The first order line is assigned 0, the second order line is assigned 1, and so on.
Lists which units within order lines are covered by the discount. The order line items are listed according to sequence of applied discounts while the index corresponds to the order line sent in the order object in the request.
Show child attributes
Number assigned to the order line item in accordance with the order sent in the request.
x >= 0Numbers of units in the order line covered by the discount; e.g. 2, 5, 8 for 10 units with the setting "skip_initially": 1, "repeat": 3. The counting of units starts from 1. The maximum quantity of all handled units is 1000. If the quantity of all order items exceeds 1000, this array is not returned, but units_limit_exceeded: true. However, the discount is calculated properly for all relevant units.
Returned as true only when the sum total of quantity of all order items exceeds 1000.
Determines the recurrence of the discount, e.g. "repeat": 3 means that the discount is applied to every third item.
Determines how many items are skipped before the discount is applied.
Determines to which kinds of objects the discount is applicable. ITEM includes products and SKUs. UNIT means particular units within an order line.
ITEM, UNIT Total number of objects defining included products, SKUs, or product collections.
x >= 0The type of the object represented by JSON.
list The type of the object represented by JSON.
data Contains list of items that do not qualify in the scope of the discount. These are definitions of excluded products, SKUs, and product collections. These CANNOT be discounted.
Show child attributes
Contains array of items to which the discount cannot apply.
Show child attributes
This object stores information about the resource to which the discount is applicable.
product, sku, products_collection Unique product collection, product, or SKU identifier assigned by Voucherify.
Defines how the discount is applied to the customer's order.
APPLY_TO_EVERY, APPLY_TO_CHEAPEST, APPLY_FROM_CHEAPEST, APPLY_TO_MOST_EXPENSIVE, APPLY_FROM_MOST_EXPENSIVE The source identifier from your inventory system.
Parent product's unique ID assigned by Voucherify.
Parent product's source ID from your inventory system.
New fixed price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 price is written as 1000. In case of the fixed price being calculated by the formula, i.e. the price_formula parameter is present in the fixed price definition, this value becomes the fallback value. Such that in a case where the formula cannot be calculated due to missing metadata, for example, this value will be used as the fixed price.
Formula used to dynamically calculate the discounted price of an item.
The maximum number of units allowed to be discounted per order line item.
The maximum number of units allowed to be discounted combined across all matched order line items.
Upper limit allowed to be applied as a discount per order line item. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount is written as 600.
Maximum discount amount per order. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount on the entire order is written as 600. This value is definable for the following discount effects:
APPLY_TO_ITEMS (each item subtotal is discounted equally)APPLY_TO_ITEMS_BY_QUANTITY (each unit of matched products has the same discount value)Lists which order lines are (not) covered by the discount. The order in the array is determined by the sequence of applied discounts, while the numbers correspond to the order lines sent in the order object in the request. The first order line is assigned 0, the second order line is assigned 1, and so on.
Lists which units within order lines are covered by the discount. The order line items are listed according to sequence of applied discounts while the index corresponds to the order line sent in the order object in the request.
Show child attributes
Number assigned to the order line item in accordance with the order sent in the request.
x >= 0Numbers of units in the order line covered by the discount; e.g. 2, 5, 8 for 10 units with the setting "skip_initially": 1, "repeat": 3. The counting of units starts from 1. The maximum quantity of all handled units is 1000. If the quantity of all order items exceeds 1000, this array is not returned, but units_limit_exceeded: true. However, the discount is calculated properly for all relevant units.
Returned as true only when the sum total of quantity of all order items exceeds 1000.
Determines the recurrence of the discount, e.g. "repeat": 3 means that the discount is applied to every third item.
Determines how many items are skipped before the discount is applied.
Determines to which kinds of objects the discount is applicable. ITEM includes products and SKUs. UNIT means particular units within an order line.
ITEM, UNIT Total number of objects defining included products, SKUs, or product collections.
x >= 0The type of the object represented by JSON.
list The type of the object represented by JSON.
data The metadata object stores all custom attributes assigned to the product. A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format.
List of category information.
Show child attributes
Unique category ID assigned by Voucherify.
Category name.
Category hierarchy. Categories with lower hierarchy are processed before categories with higher hierarchy value.
x >= 0The type of the object represented by the JSON. This object stores information about the category.
category Timestamp representing the date and time when the category was created. The value is shown in the ISO 8601 format.
"2022-07-14T10:45:13.156Z"
Timestamp representing the date and time when the category was updated. The value is shown in the ISO 8601 format.
"2022-08-16T10:52:08.094Z"
The type of the stacking rule eligibility.
JOINT, EXCLUSIVE Name of the earning rule. This is displayed as a header for the earning rule in the Dashboard.
"Order Paid - You will get 100 points"
Name of the redeemable.
"promotion_tier_get_points"
Name of the campaign associated to the redeemable. This field is available only if object is not campaign
"PromotionCampaign"
Id of the campaign associated to the redeemable. This field is available only if object is not campaign
"camp_Mow7u4gSxagLlZ2oDQ01ZS5N"
List of Validation Rules Assignments
Show child attributes
The type of the object represented by JSON. This object stores information about validation rules assignments.
list Identifies the name of the attribute that contains the array of validation rules assignments.
data Contains array of validation rules assignments.
Show child attributes
The unique identifier for a assignment
The unique identifier for a rule
The unique identifier for a related object
The type of related object
The type of the object represented by JSON.
validation_rules_assignment Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.
"2022-03-09T11:19:04.819Z"
Timestamp representing the date and time when the object was last updated in ISO 8601 format.
"2022-03-09T11:19:04.819Z"
The validation status of the assignment
VALID, PARTIALLY_VALID, INVALID The list of omitted rules
Total number of validation rules assignments.
x >= 0The number of redeemables returned in the API request.
5
As results are always limited, the has_more flag indicates if there are more records for given parameters. This lets you know if you can run another request (with different options) to get more records returned in the results.
Timestamp representing the date and time to use in starting_after cursor to get more redeemables.
"2023-10-31T12:13:16.374Z"
This identifier is generated during voucher qualification based on your internal id (e.g., email, database ID). This is a hashed customer source ID.
Order information.
Show child attributes
Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request.
Unique source ID of an existing order that will be linked to the redemption of this request.
The order status.
CREATED, PAID, CANCELED, FULFILLED This is the sum of the order items' amounts. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
This is the sum of the order items' amounts before any discount or other effect (e.g. add missing units) is applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all order-level discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all order-level AND all product-specific discounts applied to the order. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Order amount after undoing all the discounts through the rollback redemption. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
This field shows the order-level discount applied. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
Sum of all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
sum(items, i => i.applied_discount_amount)
Sum of all order-level AND all product-specific discounts applied in a particular request. It is expressed as an integer in the smallest currency unit (e.g. 100 cents for $1.00).
total_applied_discount_amount = applied_discount_amount + items_applied_discount_amount
A set of custom key/value pairs that you can attach to an order. It can be useful for storing additional information about the order in a structured format. It can be used to define business validation rules or discount formulas.
The type of the object represented by JSON.
order Timestamp representing the date and time when the order was created. The value is shown in the ISO 8601 format.
"2021-12-22T10:13:06.487Z"
Timestamp representing the date and time when the order was last updated in ISO 8601 format.
"2021-12-22T10:14:45.316Z"
Unique customer identifier of the customer making the purchase. The ID is assigned by Voucherify.
"cust_7iUa6ICKyU6gH40dBU25kQU1"
Unique referrer ID.
"cust_nM4jqPiaXUvQdVSA6vTRUnix"
Show child attributes
Show child attributes
Timestamp representing the date and time when the redemption was created. The value is shown in the ISO 8601 format.
"2022-09-02T17:06:56.649Z"
Unique ID of the redemption rollback.
"rr_0c63c84eb78ee0a6c0"
Timestamp representing the date and time when the redemption rollback was created. The value is shown in the ISO 8601 format.
"2023-01-31T14:18:37.150Z"
The source of the incentive.
Unique ID of the parent redemption.
"r_0ba186c4824e4881e1"
Represent's the campaign ID of the voucher if the redemption was based on a voucher that was part of bulk codes generated within a campaign. In case of a promotion tier, this represents the campaign ID of the promotion tier's parent campaign.
Contains a list of unique IDs of child redemptions, which belong to the stacked incentives.
Lists the rollback redemption IDs of the particular child redemptions.
Array of items applied to the order. It can include up to 500 items.
Show child attributes
The type of the object represented by JSON.
order_item Unique identifier of the order line item.
Unique identifier of the SKU. It is assigned by Voucherify.
Unique identifier of the product. It is assigned by Voucherify.
Used along with the source_id property, can be set to either sku or product.
product, sku The merchant's product/SKU ID (if it is different from the Voucherify product/SKU ID). It is useful in the integration between multiple systems. It can be an ID from an eCommerce site, a database, or a third-party service.
The quantity of the particular item in the cart.
Number of dicounted items.
A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity.
The total amount of the order item (price * quantity).
Sum of all order-item-level discounts applied to the order.
This field shows the order-level discount applied.
Number of the discounted items applied in the transaction.
Quantity of items changed by the application of a new quantity items. It can be positive when an item is added or negative if an item is replaced.
Amount for the items changed by the application of a new quantity items. It can be positive when an item is added or negative if an item is replaced.
A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts.
Unit price of an item. The value is multiplied by 100 to represent 2 decimal places. For example 10000 cents for $100.00.
Final order item amount after the applied item-level discount. If there are no item-level discounts applied, this item is equal to the amount.
subtotal_amount=amount-applied_discount_amount
An object containing details of the related product.
Show child attributes
A unique identifier that represents the product and is assigned by Voucherify.
The merchant's product ID (if it is different than Voucherify's product ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
Product name.
A set of custom key/value pairs that you can attach to a product. It can be useful for storing additional information about the product in a structured format. It can be used to create product collections.
Product price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
An object containing details of the related SKU.
Show child attributes
A unique identifier that represents the SKU and is assigned by Voucherify.
The merchant's SKU ID (if it is different than Voucherify's SKU ID). It is really useful in case of integration between multiple systems. It can be an ID from an eCommerce site, a database or a 3rd party service.
The override set to true is used to store the product information in the system. If the product does not exist, it will be created with a source_id; if it does exist, the provided values for the name, price, and metadata will replace those already stored in the system.
The SKU name.
SKU price. A positive integer in the smallest currency unit (e.g. 100 cents for $1.00).
A set of custom key/value pairs that you can attach to an SKU. It can be useful for storing additional information about the SKU in a structured format. It can be used to create product collections.
A set of custom key/value pairs that you can attach to an item object. It can be useful for storing additional information about the item in a structured format. It can be used to define business validation rules or discount formulas.
Array containing details about the items that are replaced and the items that are replacements for discounts with the REPLACE_ITEMS effect.
Show child attributes
Index number of the source item that is replaced. The enumeration starts from 0, which represents the first item in the request, e.g., if the replaced item is passed as the second in the request, source_index equals 3.
x >= 0Number of source units that are replaced.
x <= -1Amount equal to the price of the units that are replaced. Determines the change of the amount of the source item quantity.
x <= 0Index number of the target item that is a replacement of the source item. The enumeration continues the values for the order items, e.g. if there are three items in the request, target_index equals 3, as enumeration starts from 0.
Number of added target units that are replacements.
Amount equal to the price of the units that are replacements. Determines the change in the amount of the target item quantity.
Discount amount applied to the target item with regard to the replacement. Equals the target_applied_quantity_amount minus source_applied_quantity_amount.
Defines stacking rules for redeemables. Read more in the Stacking Rule Documentation.
Show child attributes
Defines how many redeemables can be sent in one request. Note: more redeemables means more processing time.
1 <= x <= 30Defines 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.
1 <= x <= 30Defines 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.
1 <= x <= 30Lists categories by category IDs (keys) and defines their limits (values) of applicable redeemables that belong to campaigns with that category.
Show child attributes
Limit of applicable redeemables per category.
1 <= x <= 10Defines 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.
1 <= x <= 5Lists 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.
Lists the IDs of the joint categories. A campaign with a joint category is always applied regardless of the exclusivity of other campaigns.
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.
ALL, PARTIAL 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.
CATEGORY_HIERARCHY, REQUESTED_ORDER 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.
STACK, ONCE 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.
REDEEM_ANYWAY, SKIP 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.
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.
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.
WITH_ORDER, WITHOUT_ORDER Defines how many redeemables with an exclusive category per category in stacking rules can be applied in one request. The ones above the limit will be SKIPPED according to the redeemables_sorting_rule.
1 <= x <= 5Was this page helpful?