Campaign Object

Campaign

All of:

  1. Campaign Base
  2. Campaign Additional Data

    AttributesDescription
    promotionSee: Promotion Tiers
    validation_rules_assignmentsSee: Validation Rules Assignments List

Campaign Base

AttributesDescription
id
string

Unique campaign ID, assigned by Voucherify.

Example:

camp_f7fBbQxUuTN7dI7tGOo5XMDA

name
string

Campaign name.

description
string

An optional field to keep any extra textual information about the campaign such as a campaign description and details.

campaign_type
string

Type of campaign.

Available values: LOYALTY_PROGRAM, GIFT_VOUCHERS, DISCOUNT_COUPONS, PROMOTION, REFERRAL_PROGRAM
type
string

Defines whether the campaign can be updated with new vouchers after campaign creation or if the campaign consists of standalone vouchers.

  • AUTO_UPDATE: the campaign is dynamic, i.e. vouchers will generate based on set criteria
  • STATIC: vouchers need to be manually published
  • STANDALONE: campaign for single vouchers
Available values: AUTO_UPDATE, STATIC, STANDALONE
voucherSee: Campaign Voucher
auto_join
boolean

Indicates whether customers will be able to auto-join a loyalty campaign if any earning rule is fulfilled.

join_once
boolean

If this value is set to true, customers will be able to join the campaign only once. It is always false for standalone voucher campaigns and it cannot be changed in them.

use_voucher_metadata_schema
boolean

Flag indicating whether the campaign is to use the voucher's metadata schema instead of the campaign metadata schema.

validity_timeframeSee: Validity Timeframe
validity_day_of_weekSee: Validity Day Of Week
validity_hoursSee: Validity Hours
activity_duration_after_publishing
string

Defines the amount of time the vouchers will be active after publishing. The value is shown in the ISO 8601 format. For example, a voucher with the value of P24D will be valid for a duration of 24 days.

vouchers_count
integer

Total number of unique vouchers in campaign.

start_date
string

Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive before this date.

Example:

2022-09-20T00:00:00.000Z

expiration_date
string

Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive after this date.

Example:

2022-09-30T00:00:00.000Z

active
boolean

A flag to toggle the campaign on or off. You can disable a campaign even though it's within the active period defined by the start_date and expiration_date.

  • true indicates an active campaign
  • false indicates an inactive campaign
metadata
object

The metadata object stores all custom attributes assigned to the campaign. A set of key/value pairs that you can attach to a campaign object. It can be useful for storing additional information about the campaign in a structured format.

created_at
string

Timestamp representing the date and time when the campaign was created. The value is shown in the ISO 8601 format.

Example:

2021-12-01T08:00:50.038Z

updated_at
string

Timestamp representing the date and time when the campaign was last updated in ISO 8601 format.

Example:

2022-09-20T09:18:19.623Z

category
string

Unique category name.

creation_status
string

Indicates the status of the campaign creation.

Available values: DONE, IN_PROGRESS, FAILED, DRAFT, MODIFYING
vouchers_generation_status
string

Indicates the status of the campaign's voucher generation.

Available values: DONE, IN_PROGRESS, FAILED, DRAFT, MODIFYING
readonly
boolean

Indicates whether the campaign can be only read by a restricted user in the Areas and Stores enterprise feature. It is returned only to restricted users; this field is not returned for users with other roles.

protected
boolean

Indicates whether the resource can be deleted.

category_id
string, null

Unique category ID that this campaign belongs to.

Example:

cat_0b688929a2476386a7

categories
array

Contains details about the category.

Array of Category
object
string

The type of the object represented by JSON. This object stores information about the campaign.

referral_programSee: Referral Program
loyalty_tiers_expirationSee: Loyalty Tiers Expiration
access_settings_assignmentsSee: Access Settings Campaign Assignments List

Promotion Tiers

AttributesDescription
object
string

The type of the object represented by JSON. This object stores information about promotion tiers in a dictionary.

data_ref
string

Identifies the name of the attribute that contains the array of promotion tier objects.

tiers
array

Contains array of promotion tier objects.

Array of Promotion Tier
total
integer

Total number of promotion tiers.

has_more
boolean

As query results are always limited (by the limit parameter), the has_more flag indicates if there are more records for given filter parameters. This lets you know if you can run another request to get more records returned in the results.

Validation Rules Assignments List

AttributesDescription
object
string

The type of the object represented by JSON. This object stores information about validation rules assignments.

Available values: list
data_ref
string

Identifies the name of the attribute that contains the array of validation rules assignments.

Available values: data
data
array

Contains array of validation rules assignments.

Array of Business Validation Rule Assignment
total
integer

Total number of validation rules assignments.

Campaign Voucher

AttributesDescription
type
string

Type of voucher.

discount

Defines the voucher discount type and details.

Discount
gift

Defines the voucher gift details.

Gift
loyalty_card

Defines the voucher loyalty card details.

Campaign Loyalty Card
redemption
object

Defines the redemption limits on vouchers.

AttributesDescription
quantity
integer, null

How many times a voucher can be redeemed. A null value means unlimited.

code_configCode Config
is_referral_code
boolean

Flag indicating whether this voucher is a referral code; true for campaign type REFERRAL_PROGRAM.

start_date
string

Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive before this date.

Example:

2022-09-20T00:00:00.000Z

expiration_date
string

Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive after this date.

Example:

2022-09-30T00:00:00.000Z

validity_timeframeSee: Validity Timeframe
validity_day_of_weekSee: Validity Day Of Week
validity_hoursSee: Validity Hours

Validity Timeframe

AttributesDescription
duration
string

Defines the amount of time an earning rule will be active in ISO 8601 format. For example, an earning rule with a duration of PT1H will be valid for a duration of one hour.

Example:

PT1H

interval
string

Defines the intervening time between two time points in ISO 8601 format, expressed as a duration. For example, an earning rule with an interval of P2D will be valid every other day.

Example:

P2D

Validity Day Of Week

Integer array corresponding to the particular days of the week in which the voucher is valid.

  • 0 Sunday
  • 1 Monday
  • 2 Tuesday
  • 3 Wednesday
  • 4 Thursday
  • 5 Friday
  • 6 Saturday

Validity Hours

AttributesDescription
daily
array

Defines the reccuring period(s) when the resource is active. The periods should not overlap.

Array of:
AttributesDescription
start_time
string

Defines the starting hour of validity in the HH:mm format. The resource is inactive before this time.

Example:

12:00

days_of_week
array

Integer array corresponding to the particular days of the week in which the resource is valid.

  • 0 Sunday
  • 1 Monday
  • 2 Tuesday
  • 3 Wednesday
  • 4 Thursday
  • 5 Friday
  • 6 Saturday
expiration_time
string

Defines the ending hour of validity in the HH:mm format. The resource is inactive after this time.

Example:

14:00

Category

AttributesDescription
id
string

Unique category ID assigned by Voucherify.

name
string

Category name.

hierarchy
integer

Category hierarchy. Categories with lower hierarchy are processed before categories with higher hierarchy value.

object
string

The type of the object represented by the JSON. This object stores information about the category.

Available values: category
created_at
string

Timestamp representing the date and time when the category was created. The value is shown in the ISO 8601 format.

Example:

2022-07-14T10:45:13.156Z

updated_at
string

Timestamp representing the date and time when the category was updated. The value is shown in the ISO 8601 format.

Example:

2022-08-16T10:52:08.094Z

Referral Program

AttributesDescription
conversion_event_type
string

Define how a referral is triggered.

Available values: redemption, custom_event
custom_event
object

Contains details about the custom event.

AttributesDescription
id
string

Unique custom event ID.

Example:

ms_Ll9enAm2BCN0M1s4VxWobLFM

name
string

Custom event name.

referee_reward
object

Defines the referee reward.

AttributesDescription
related_object_parent
object

Details of the resource from which the reward originates.

AttributesDescription
id
string

Unique ID of the reward source.

Example:

camp_kdxp3vf1clQ9CFs1jpqv3tZe

name
string

Name of the reward source.

object
string

Type of resource represented by the source of the reward.

Available values: CAMPAIGN
type
string

Type of reward.

Available values: LOYALTY_CARD, GIFT_VOUCHER
amount
string

Define the number of points to add to a loyalty card or credits to the balance on a gift card. In case of the gift card, the value is multiplied by 100 to precisely represent 2 decimal places. For example, $100 amount is written as 10000.

Loyalty Tiers Expiration

AttributesDescription
qualification_type
string

Tier qualification.

BALANCE: Points balance is based on the customer's current points balance. Customers qualify for the tier if their points balance is in the points range of the tier.
POINTS_IN_PERIOD: A customer qualifies for the tier only if the sum of the accumulated points in a defined time interval reaches the tier threshold.

Available values: BALANCE, POINTS_IN_PERIOD
qualification_period
string

Customers can qualify for the tier if they collected enough points in a given time period. So, in addition to the customer having to reach a points range, they also need to have collected the points within a set time period.

PeriodDefinition
Calendar MonthPoints collected in one calendar month
January, February, March, etc.
Calendar QuarterPoints collected in the quarter
- January - March
- April - June
- July - September
- October - December
Calendar Half-yearPoints collected in the half-year
- January - June
- July - December
Calendar YearPoints collected in one calendar year
January - December
Available values: MONTH, QUARTER, HALF_YEAR, YEAR
start_date
object

Defines the conditions for the start date of the tier.

AttributesDescription
type
string

What triggers the tier to be valid for a customer.
IMMEDIATE: After reaching the minimum required points.
NEXT_PERIOD: When the next qualification period starts.

Available values: IMMEDIATE, NEXT_PERIOD
expiration_date
object

Defines the conditions for the expiration date of a tier.

AttributesDescription
type
string

What triggers the tier to expire for a customer.
END_OF_PERIOD: Expire tier at the end of the period.
END_OF_NEXT_PERIOD: Expire tier at the end of the next period.
BALANCE_DROP: Tier expires when the points balance drops below the required range of the tier.
CUSTOM: Tier expires after a certain time period passes following the instance the points balance drops below the required range of the tier.

Available values: END_OF_PERIOD, END_OF_NEXT_PERIOD, BALANCE_DROP, CUSTOM
extend
string

Extend the expiration by adding extra months or days in ISO 8601 format. The tier will remain active even though it reaches its expiration time period. For example, a tier with a duration of P3M will be valid for an additional duration of 3 months and a tier with a duration of P1D will be valid for an additional duration of 1 day.

rounding

Defines the rounding mechanism for tier expiration.

Access Settings Campaign Assignments List

AttributesDescription
object
string

The type of the object represented by JSON. Default is list. This object stores information about campaign assignments to areas and stores

Available values: list
data_ref
string

Identifies the name of the attribute that contains the array of campaign assignments.

Available values: data
data
array

Contains an array of campaign assignments.

Array of Areas and Stores Campain Assignment
total
integer

Total number of areas and stores to which the campaign is assigned.

Promotion Tier

AttributesDescription
id
string

Unique promotion tier ID.

Example:

promo_63fYCt81Aw0h7lzyRkrGZh9p

created_at
string

Timestamp representing the date and time when the promotion tier was created. The value is shown in the ISO 8601 format.

Example:

2021-12-15T11:34:01.333Z

updated_at
string

Timestamp representing the date and time when the promotion tier was updated. The value is shown in the ISO 8601 format.

Example:

2022-02-09T09:20:05.603Z

name
string

Name of the promotion tier.

banner
string

Text to be displayed to your customers on your website.

action
object

Contains details about the discount applied by the promotion tier.

AttributesDescription
discountSee: Discount
metadata
object

The metadata object stores all custom attributes assigned to the promotion tier. A set of key/value pairs that you can attach to a promotion tier object. It can be useful for storing additional information about the promotion tier in a structured format.

hierarchy
integer

The promotions hierarchy defines the order in which the discounts from different tiers will be applied to a customer's order. If a customer qualifies for discounts from more than one tier, discounts will be applied in the order defined in the hierarchy.

promotion_id
string

Promotion unique ID.

campaign
object

Contains details about promotion tier's parent campaign.

AttributesDescription
id
string

Unique campaign ID.

start_date
string

Activation timestamp defines when the campaign starts to be active in ISO 8601 format. Campaign is inactive before this date.

Example:

2022-09-22T00:00:00.000Z

expiration_date
string

Expiration timestamp defines when the campaign expires in ISO 8601 format. Campaign is inactive after this date.

Example:

2022-09-30T00:00:00.000Z

validity_timeframeSee: Validity Timeframe
validity_day_of_weekSee: Validity Day Of Week
validity_hoursSee: Validity Hours
active
boolean

A flag indicating whether the campaign is active or not active. A campaign can be disabled even though it's within the active period defined by the start_date and expiration_date using the Disable Campaign endpoint.

  • true indicates an active campaign
  • false indicates an inactive campaign
category_id
string

Unique category ID that this campaign belongs to.

Example:

cat_0b688929a2476386a6

object
string

The type of the object represented by the campaign object. This object stores information about the campaign.

campaign_id
string

Promotion tier's parent campaign's unique ID.

active
boolean

A flag to toggle the promotion tier on or off. You can disable a promotion tier even though it's within the active period defined by the start_date and expiration_date.

  • true indicates an active promotion tier
  • false indicates an inactive promotion tier
start_date
string

Activation timestamp defines when the promotion tier starts to be active in ISO 8601 format. Promotion tier is inactive before this date.

Example:

2022-09-23T00:00:00.000Z

expiration_date
string

Activation timestamp defines when the promotion tier expires in ISO 8601 format. Promotion tier is inactive after this date.

Example:

2022-09-26T00:00:00.000Z

validity_timeframeSee: Validity Timeframe
validity_day_of_weekSee: Validity Day Of Week
validity_hoursSee: Validity Hours
summary
object

Contains statistics about promotion tier redemptions and orders.

AttributesDescription
redemptions
object

Contains statistics about promotion tier redemptions.

AttributesDescription
total_redeemed
integer

Number of times the promotion tier was redeemed.

orders
object

Contains statistics about orders related to the promotion tier.

AttributesDescription
total_amount
integer

Sum of order totals.

total_discount_amount
integer

Sum of total discount applied using the promotion tier.

object
string

The type of the object represented by JSON. This object stores information about the promotion tier.

validation_rule_assignmentsSee: Validation Rule Assignments List
category_id
string

Promotion tier category ID.

Example:

cat_0c9da30e7116ba6bba

categories
array
Array of Category

Business Validation Rule Assignment

AttributesDescription
id
string

The unique identifier for a assignment

rule_id
string

The unique identifier for a rule

related_object_id
string

The unique identifier for a related object

related_object_type
string

The type of related object

created_at
string

Timestamp representing the date and time when the object was created. The value is shown in the ISO 8601 format.

Example:

2022-03-09T11:19:04.819Z

updated_at
string

Timestamp representing the date and time when the object was last updated in ISO 8601 format.

Example:

2022-03-09T11:19:04.819Z

object
string

The type of the object represented by JSON.

Available values: validation_rules_assignment
validation_status
string

The validation status of the assignment

Available values: VALID, PARTIALLY_VALID, INVALID
validation_omitted_rules
array

The list of omitted rules

Discount

Contains information about discount.

One of:

Amount, Unit, Unit Multiple, Percent, Fixed

Gift

AttributesDescription
amount
number

Total gift card income over the lifetime of the card. Value is multiplied by 100 to precisely represent 2 decimal places. For example, $100 amount is written as 10000.

balance
number

Available funds. Value is multiplied by 100 to precisely represent 2 decimal places. For example, $100 amount is written as 10000.

effect
string

Defines how the credits are applied to the customer's order.

Available values: APPLY_TO_ORDER, APPLY_TO_ITEMS

Campaign Loyalty Card

AttributesDescription
points
integer

The initial number of points to assign to the loyalty card. This is the current loyalty card score i.e. the number of loyalty points on the card.

expiration_rules
object
AttributesDescription
period_type
string

Type of period

Available values: MONTH
period_value
integer

Value of the period

rounding_type
string

Type of rounding

Available values: END_OF_MONTH, END_OF_QUARTER, END_OF_HALF_YEAR, END_OF_YEAR, PARTICULAR_MONTH
rounding_value
integer

Value of rounding

Code Config

AttributesDescription
length
number

Number of characters in a generated code (excluding prefix and postfix).

charset
string

Characters that can appear in the code.

Examples:

  • Alphanumeric: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Alphabetic: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Alphabetic Lowercase: abcdefghijklmnopqrstuvwxyz
  • Alphabetic Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Numbers: 0123456789
  • Custom: a custom character set
prefix
string

A text appended before the code.

postfix
string

A text appended after the code.

pattern
string

A pattern for codes where hashes (#) will be replaced with random characters. Overrides length.

initial_count
integer

Internal value, does not change anything if provided.

Areas and Stores Campain Assignment

AttributesDescription
id
string

Unique identifier of the campaign assignment.

Example:

arsca_0ef5ee192117ae2416

area_id
string

Unique identifier of the area to which the campaign is assigned.

Example:

ar_0ea6cd7b781b8f857f

area_store_id
string

Unique identifier of the store to which the campaign is assigned.

Example:

ars_0ec347e2016bed85f4

created_at
string

Date and time when the assignment was made. The value is shown in the ISO 8601 format.

Example:

2024-06-25T19:04:16.260Z

object
string

The type of the object represented by JSON. This object stores information about the campaign assignment to areas or stores.

Available values: area_store_campaign_assignment

Validation Rule Assignments List

AttributesDescription
object
string

The type of the object represented by JSON. This object stores information about validation rule assignments.

data_ref
string

Identifies the name of the JSON property that contains the array of validation rule assignments.

data
array

A dictionary that contains an array of validation rule assignments.

Array of Validation Rule Assignment
total
integer

Total number of validation rule assignments.

Amount

AttributesDescription
type
string

Defines the type of the voucher.

Available values: AMOUNT
amount_off
number

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.

amount_off_formula
string
aggregated_amount_limit
integer

Maximum discount amount per order.

effect

Defines how the discount is applied to the customer's order.

Discount Amount Vouchers Effect Types
is_dynamic
boolean

Flag indicating whether the discount was calculated using a formula.

Unit

AttributesDescription
type
string

Discount type.

Available values: UNIT
unit_off
integer

Number of units to be granted a full value discount.

unit_off_formula
string

Formula used to calculate the number of units.

effect

Defines how the unit is added to the customer's order.

Discount Unit Vouchers Effect Types
unit_type
string

The product deemed as free, chosen from product inventory (e.g. time, items).

product

Contains information about the product.

Simple Product Discount Unit
skuSee: Simple Sku Discount Unit
is_dynamic
boolean

Flag indicating whether the discount was calculated using a formula.

Unit Multiple

AttributesDescription
type
string

Discount type.

Available values: UNIT
effect
string

Defines how the discount is applied to the customer's order.

Available values: ADD_MANY_ITEMS
units
array
Array of One Unit

Percent

AttributesDescription
type
string

Defines the type of the voucher.

Available values: PERCENT
percent_off
number

The percent discount that the customer will receive.

percent_off_formula
string
amount_limit
number

Upper limit allowed to be applied as a discount. Value is multiplied by 100 to precisely represent 2 decimal places. For example, a $6 maximum discount is written as 600.

aggregated_amount_limit
integer

Maximum discount amount per order.

effect

Defines how the discount is applied to the customer's order.

Discount Percent Vouchers Effect Types
is_dynamic
boolean

Flag indicating whether the discount was calculated using a formula.

Fixed

AttributesDescription
type
string

Defines the type of the voucher.

Available values: FIXED
fixed_amount
number

Sets a fixed value for an order total or the item price. The value is multiplied by 100 to precisely represent 2 decimal places. For example, a $10 discount is written as 1000. If the fixed amount is calculated by the formula, i.e. the fixed_amount_formula parameter is present in the fixed amount definition, this value becomes the fallback value. As a result, if the formula cannot be calculated due to missing metadata, for example, this value will be used as the fixed value.

fixed_amount_formula
string
effect

Defines how the discount is applied to the customer's order.

Discount Fixed Vouchers Effect Types
is_dynamic
boolean

Flag indicating whether the discount was calculated using a formula.

Validation Rule Assignment

AttributesDescription
id
string

Validation rule assignment ID.

Example:

asgm_74F7QZoYbUoljwQO

rule_id
string

Validation rule ID.

Example:

val_4j7DCRm2IS59

related_object_id
string

The resource ID to which the validation rule was assigned.

Example:

v_JtWunK6jUo7X2qOFj0SyRHq4p9tgENlT

related_object_type
string

The type of resource to which the validation rule was assigned.

Available values: voucher, campaign, earning_rule, reward_assignment, promotion_tier, distribution
created_at
string

Timestamp representing the date and time when the validation rule assignment was created. The value is shown in the ISO 8601 format.

Example:

2022-02-17T08:18:15.085Z

object
string

The type of the object represented by the ID.

Available values: validation_rules_assignment

Discount Amount Vouchers Effect Types

Available values: APPLY_TO_ORDER, APPLY_TO_ITEMS, APPLY_TO_ITEMS_PROPORTIONALLY, APPLY_TO_ITEMS_PROPORTIONALLY_BY_QUANTITY, APPLY_TO_ITEMS_BY_QUANTITY

Discount Unit Vouchers Effect Types

Available values: ADD_MISSING_ITEMS, ADD_NEW_ITEMS, ADD_MANY_ITEMS

Simple Product Discount Unit

AttributesDescription
id
string

Unique product ID, assigned by Voucherify.

source_id
string

Product's source ID.

name
string

Product name.

Simple Sku Discount Unit

AttributesDescription
id
string

Unique SKU ID, assigned by Voucherify.

source_id
string

Product variant's source ID.

name
string

Sku name

One Unit

AttributesDescription
unit_off
number

Number of units to be granted a full value discount.

unit_off_formula
string

Formula used to calculate the number of units.

effect
string

Defines how the unit is added to the customer's order.

Available values: ADD_NEW_ITEMS, ADD_MISSING_ITEMS
unit_type
string

The product deemed as free, chosen from product inventory (e.g. time, items).

product

Contains information about the product.

Simple Product Discount Unit
sku

Contains information about the sku.

Simple Sku Discount Unit

Discount Percent Vouchers Effect Types

Available values: APPLY_TO_ORDER, APPLY_TO_ITEMS

Discount Fixed Vouchers Effect Types

Available values: APPLY_TO_ORDER, APPLY_TO_ITEMS