Skip to main content

Notification schemas

Download OpenAPI specification:Download

Use Application notifications and loyalty notifications to notify the system of your choice of certain changes that happened in Talon.One. Note: Required fields are not omitted if they are empty (have null value).

Campaign notifications

Represents the notifications about campaign-related changes.

Note: The value of the NotificationType property indicates the campaign change:

Campaign created Webhook

Request Body schema: application/json
required

The notification indicating a campaign was created.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of objects

A list of campaign notification data.

Array
Event
string

The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']

object

The campaign whose state changed.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

object

The current ruleset.

id
integer

The internal ID of this entity.

created
string <date-time>

The time this entity was created.

userId
integer

The ID of the user associated with this entity.

Array of objects

Set of rules to apply.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

Set of rules to apply for strikethrough.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

rbVersion
string

The version of the rulebuilder used to create this ruleset.

activate
boolean

Indicates whether this created ruleset should be activated for the campaign that owns it.

campaignId
integer

The ID of the campaign that owns this entity.

templateId
integer

The ID of the campaign template that owns this entity.

activatedAt
string <date-time>

Timestamp indicating when this Ruleset was activated.

object

The campaign position within the evaluation tree.

groupId
integer

The ID of the campaign evaluation group the campaign belongs to.

groupName
string

The name of the campaign evaluation group the campaign belongs to.

position
integer

The position of the campaign node in its parent group.

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Campaign state changed Webhook

Request Body schema: application/json
required

The notification indicating the state of a campaign changed.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of objects

A list of campaign notification data.

Array
Event
string

The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']

object

The campaign whose state changed.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

oldState
string

The campaign's old state. Can be one of the following: ['running', 'disabled', 'scheduled', 'expired', 'archived']

newState
string

The campaign's new state. Can be one of the following: ['running', 'disabled', 'scheduled', 'expired', 'archived']

object

The current ruleset.

id
integer

The internal ID of this entity.

created
string <date-time>

The time this entity was created.

userId
integer

The ID of the user associated with this entity.

Array of objects

Set of rules to apply.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

Set of rules to apply for strikethrough.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

rbVersion
string

The version of the rulebuilder used to create this ruleset.

activate
boolean

Indicates whether this created ruleset should be activated for the campaign that owns it.

campaignId
integer

The ID of the campaign that owns this entity.

templateId
integer

The ID of the campaign template that owns this entity.

activatedAt
string <date-time>

Timestamp indicating when this Ruleset was activated.

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Campaign rules changed Webhook

Request Body schema: application/json
required

The notification indicating the rules of a campaign changed.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of objects

A list of campaign notification data.

Array
Event
string

The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']

object

The campaign whose state changed.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

oldRuleset
string

The old ruleset, if the ruleset was changed.

ruleset
string

The current ruleset.

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Campaign edited Webhook

Request Body schema: application/json
required

The notification indicating a campaign was edited.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of objects

A list of campaign notification data.

Array
Event
string

The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']

object

The campaign whose state changed.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

object

The campaign before the change.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

object

The current ruleset.

id
integer

The internal ID of this entity.

created
string <date-time>

The time this entity was created.

userId
integer

The ID of the user associated with this entity.

Array of objects

Set of rules to apply.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

Set of rules to apply for strikethrough.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

rbVersion
string

The version of the rulebuilder used to create this ruleset.

activate
boolean

Indicates whether this created ruleset should be activated for the campaign that owns it.

campaignId
integer

The ID of the campaign that owns this entity.

templateId
integer

The ID of the campaign template that owns this entity.

activatedAt
string <date-time>

Timestamp indicating when this Ruleset was activated.

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Campaign collection edited Webhook

Request Body schema: application/json
required

The notification indicating the collection was edited.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of objects

A list of campaign notification data.

Array
Event
string

The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']

object

The current campaign.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

object

The current ruleset.

id
integer

The internal ID of this entity.

created
string <date-time>

The time this entity was created.

userId
integer

The ID of the user associated with this entity.

Array of objects

Set of rules to apply.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

Set of rules to apply for strikethrough.

Array
id
string <uuid>

A unique identifier for the rule.

parentId
string <uuid>

The ID of the rule that was copied to create this rule.

title
string

A short description of the rule.

description
string

A longer, more detailed description of the rule.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

condition
Array of any non-empty

A Talang expression that will be evaluated in the context of the given event.

effects
Array of any[ items ]

An array of effectful Talang expressions in arrays that will be evaluated when a rule matches.

Array of objects

An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array.

Array
name
string

A descriptive name for the value to be bound.

type
string

The kind of binding. Possible values are:

  • bundle
  • cartItemFilter
  • subledgerBalance
  • templateParameter
expression
Array of any

A Talang expression that will be evaluated and its result attached to the name of the binding.

valueType
string

Can be one of the following:

  • string
  • number
  • boolean
minValue
number

The minimum value allowed for this placeholder.

maxValue
number

The maximum value allowed for this placeholder.

attributeId
integer

Id of the attribute attached to the placeholder.

description
string

Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template.

rbVersion
string

The version of the rulebuilder used to create this ruleset.

activate
boolean

Indicates whether this created ruleset should be activated for the campaign that owns it.

campaignId
integer

The ID of the campaign that owns this entity.

templateId
integer

The ID of the campaign template that owns this entity.

activatedAt
string <date-time>

Timestamp indicating when this Ruleset was activated.

object

The collection that was edited.

id
integer

The internal ID of this entity.

created
string <date-time>

The time this entity was created.

accountId
integer

The ID of the account that owns this entity.

modified
string <date-time>

The time this entity was last modified.

description
string

A short description of the purpose of this collection.

subscribedApplicationsIds
Array of integers

A list of the IDs of the Applications where this collection is enabled.

name
string non-empty ^[^[:cntrl:]\s][^[:cntrl:]]*$

The name of this collection.

modifiedBy
integer

ID of the user who last updated this effect if available.

createdBy
integer

ID of the user who created this effect.

applicationId
integer

The ID of the Application that owns this entity.

campaignId
integer

The ID of the campaign that owns this entity.

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Campaign deleted Webhook

Request Body schema: application/json
required

The notification indicating a campaign was deleted.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of objects

A list of campaign notification data.

Array
Event
string

The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']

object

The campaign whose state changed.

id
integer

Unique ID for this entity.

created
string <date-time>

The exact moment this entity was created.

applicationId
integer

The ID of the Application that owns this entity.

userId
integer

The ID of the user associated with this entity.

name
string non-empty

A user-facing name for this campaign.

description
string

A detailed description of the campaign.

startTime
string <date-time>

Timestamp when the campaign will become active.

endTime
string <date-time>

Timestamp when the campaign will become inactive.

attributes
object

Arbitrary properties associated with this campaign.

state
string
Default: "enabled"
Enum: "enabled" "disabled" "archived"

A disabled or archived campaign is not evaluated for rules or coupons.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

tags
Array of strings <= 50 items [ items [ 1 .. 50 ] characters ]

A list of tags for the campaign.

features
Array of strings
Items Enum: "coupons" "referrals" "loyalty" "giveaways" "strikethrough" "achievements"

The features enabled in this campaign.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

object
validCharacters
Array of strings

List of characters used to generate the random parts of a code.

couponPattern
string [ 3 .. 100 ] characters ^[A-Za-z0-9_#-]*$

The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character # is a placeholder and is replaced by a random character from the validCharacters set.

Array of objects

The set of budget limits for this campaign.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

type
string
Default: "advanced"
Enum: "cartItem" "advanced"

The campaign type. Possible type values:

  • cartItem: Type of campaign that can apply effects only to cart items.
  • advanced: Type of campaign that can apply effects to customer sessions and cart items.
linkedStoreIds
Array of integers

A list of store IDs that you want to link to the campaign.

Note: Campaigns with linked store IDs will only be evaluated when there is a customer session update that references a linked store.

Array of objects

A list of all the budgets that are defined by this campaign and their usage.

Note: Budgets that are not defined do not appear in this list and their usage is not counted until they are defined.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

counter
number >= 0

The number of occurrences of the limited action in the context of the campaign.

couponRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of coupons redeemed in the campaign.

referralRedemptionCount
integer

This property is deprecated. The count should be available under budgets property. Number of referral codes redeemed in the campaign.

discountCount
number

This property is deprecated. The count should be available under budgets property. Total amount of discounts redeemed in the campaign.

discountEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times discounts were redeemed in this campaign.

couponCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of coupons created by rules in this campaign.

customEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of custom effects triggered by rules in this campaign.

referralCreationCount
integer

This property is deprecated. The count should be available under budgets property. Total number of referrals created by rules in this campaign.

addFreeItemEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of times the add free item effect can be triggered in this campaign.

awardedGiveawaysCount
integer

This property is deprecated. The count should be available under budgets property. Total number of giveaways awarded by rules in this campaign.

createdLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points created by rules in this campaign.

createdLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point creation effects triggered by rules in this campaign.

redeemedLoyaltyPointsCount
number

This property is deprecated. The count should be available under budgets property. Total number of loyalty points redeemed by rules in this campaign.

redeemedLoyaltyPointsEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of loyalty point redemption effects triggered by rules in this campaign.

callApiEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of webhooks triggered by rules in this campaign.

reservecouponEffectCount
integer

This property is deprecated. The count should be available under budgets property. Total number of reserve coupon effects triggered by rules in this campaign.

lastActivity
string <date-time>

Timestamp of the most recent event received by this campaign.

updated
string <date-time>

Timestamp of the most recent update to the campaign's property. Updates to external entities used in this campaign are not registered by this property, such as collection or coupon updates.

createdBy
string

Name of the user who created this campaign if available.

updatedBy
string

Name of the user who last updated this campaign if available.

templateId
integer

The ID of the Campaign Template this Campaign was created from.

frontendState
string
Enum: "expired" "scheduled" "running" "disabled" "archived" "staged"

The campaign state displayed in the Campaign Manager.

storesImported
boolean

Indicates whether the linked stores were imported via a CSV file.

valueMapsIds
Array of integers

A list of value map IDs for the campaign.

revisionFrontendState
string
Enum: "revised" "pending"

The campaign revision state displayed in the Campaign Manager.

activeRevisionId
integer

ID of the revision that was last activated on this campaign.

activeRevisionVersionId
integer

ID of the revision version that is active on the campaign.

version
integer

Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign.

currentRevisionId
integer

ID of the revision currently being modified for the campaign.

currentRevisionVersionId
integer

ID of the latest version applied on the current revision.

stageRevision
boolean
Default: false

Flag for determining whether we use current revision when sending requests with staging API key.

deletedAt
string <date-time>

Time when the campaign was deleted.

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Campaign evaluation tree changed Webhook

Request Body schema: application/json
required

The notification indicating the campaign evaluation tree of an Application changed.

The campaign evaluation tree changes, for example, when a campaign is created (including copying other campaigns) or deleted, or when a campaign evaluation group is modified. To learn more, see Managing campaign evaluation.

NotificationType
string

The type of the notification

TotalResultSize
integer

The total size of the result set.

Array of CampaignEvaluationTreeChangedNotification (object)

The array of changes.

Array
One of
applicationId
integer

The ID of the Application whose campaign evaluation tree changed.

object

The previous campaign evaluation tree.

applicationId
integer

The ID of the Application that owns this entity.

id
integer

The internal ID of this entity.

version
integer >= 1

Version of the campaign set.

object
type
string
Value: "SET"

Indicates the node type.

name
string

Name of the set.

operator
string
Enum: "ALL" "FIRST"

An indicator of how the set operates on its elements.

Array of CampaignSetBranchNode (object) or CampaignSetLeafNode (object)

Child elements of this set.

Array
One of
object CampaignSetBranchNode Recursive
groupId
integer

The ID of the campaign set.

locked
boolean

An indicator of whether the campaign set is locked for modification.

description
string

A description of the campaign set.

evaluationMode
string
Enum: "stackable" "listOrder" "lowestDiscount" "highestDiscount"

The mode by which campaigns in the campaign evaluation group are evaluated.

evaluationScope
string
Enum: "cartItem" "session"

The evaluation scope of the campaign evaluation group.

updatedBy
string

Name of the user who last updated this campaign set, if available.

object

The new campaign evaluation tree.

applicationId
integer

The ID of the Application that owns this entity.

id
integer

The internal ID of this entity.

version
integer >= 1

Version of the campaign set.

object
type
string
Value: "SET"

Indicates the node type.

name
string

Name of the set.

operator
string
Enum: "ALL" "FIRST"

An indicator of how the set operates on its elements.

Array of CampaignSetBranchNode (object) or CampaignSetLeafNode (object)

Child elements of this set.

Array
One of
object CampaignSetBranchNode Recursive
groupId
integer

The ID of the campaign set.

locked
boolean

An indicator of whether the campaign set is locked for modification.

description
string

A description of the campaign set.

evaluationMode
string
Enum: "stackable" "listOrder" "lowestDiscount" "highestDiscount"

The mode by which campaigns in the campaign evaluation group are evaluated.

evaluationScope
string
Enum: "cartItem" "session"

The evaluation scope of the campaign evaluation group.

updatedBy
string

Name of the user who last updated this campaign set, if available.

event
string

Event type. It can be one of the following: ['campaign_evaluation_tree_changed']

Request samples

Content type
application/json
{
  • "NotificationType": "CampaignNotification",
  • "TotalResultSize": 0,
  • "Data": [
    ]
}

Coupon notifications

Represents the notifications about coupons.

Coupon created Webhook

Request Body schema: application/json
required

The notification indicating that one of the following coupon-related changes occurred:

Array of objects

The array of coupons codes. If 1000 or fewer coupons are requested, all coupon data is sent. If 1001 or more coupons are requested, only BatchID is sent.

Array
id
integer

The internal ID of the coupon.

created
string <date-time>

The time the coupon was created.

campaignId
integer

The ID of the campaign that owns this entity.

value
string >= 4 characters

The coupon code.

usageLimit
integer [ 0 .. 999999 ]

The number of times the coupon code can be redeemed. 0 means unlimited redemptions but any campaign usage limits will still apply.

discountLimit
number [ 0 .. 1000000000000000 ]

The total discount value that the code can give. Typically used to represent a gift card value.

reservationLimit
integer [ 0 .. 999999 ]

The number of reservations that can be made with this coupon code.

startDate
string <date-time>

Timestamp at which point the coupon becomes valid.

expiryDate
string <date-time>

Expiration date of the coupon. Coupon never expires if this is omitted.

Array of objects

Limits configuration for a coupon. These limits will override the limits set from the campaign.

Note: Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

usageCounter
integer

The number of times the coupon has been successfully redeemed.

discountCounter
number

The amount of discounts given on rules redeeming this coupon. Only usable if a coupon discount budget was set for this coupon.

discountRemainder
number

The remaining discount this coupon can give.

reservationCounter
number

The number of times this coupon has been reserved.

attributes
object

Custom attributes associated with this coupon.

referralId
integer

The integration ID of the referring customer (if any) for whom this coupon was created as an effect.

recipientIntegrationId
string <= 1000 characters

The Integration ID of the customer that is allowed to redeem this coupon.

importId
integer

The ID of the Import which created this coupon.

reservation
boolean
Default: true

Defines the reservation type:

  • true: The coupon can be reserved for multiple customers.
  • false: The coupon can be reserved only for one customer. It is a personal code.
batchId
string

The id of the batch the coupon belongs to.

isReservationMandatory
boolean
Default: false

An indication of whether the code can be redeemed only if it has been reserved first.

implicitlyReserved
boolean

An indication of whether the coupon is implicitly reserved for all customers.

ApplicationId
integer <int64>

The ID of the application.

totalResultSize
integer
BatchID
string

The ID of the batch to which the coupon belongs.

Note: The Batch ID is generated when coupons are created.

TypeOfChange
string
Operation
string
EmployeeName
string
NotificationType
string

The type of the not

Request samples

Content type
application/json
Example
{
  • "TypeOfChange": "campaign_manager",
  • "Operation": "CouponCreated",
  • "EmployeeName": "Franziska Schneider",
  • "NotificationType": "CouponCreated",
  • "totalResultSize": 2,
  • "data": [
    ]
}

Coupon updated or deleted Webhook

Request Body schema: application/json
required

The notification indicating that one of the following coupon-related changes occurred:

  • Coupon updated (via the Campaign Manager or Update coupon endpoint).
  • Coupon deleted (via the Campaign Manager or Delete coupon endpoint).
  • Coupon updated (as a result of the updateAttribute API effect, triggered by the Rule Engine).
TypeOfChange
string

The type of change that occurred.

Operation
string

The operation performed.

EmployeeName
string

The name of the employee associated with the operation.

Array of objects

A list of extended coupon data.

Array
id
integer

The internal ID of the coupon.

created
string <date-time>

The time the coupon was created.

campaignId
integer

The ID of the campaign that owns this entity.

value
string >= 4 characters

The coupon code.

usageLimit
integer [ 0 .. 999999 ]

The number of times the coupon code can be redeemed. 0 means unlimited redemptions but any campaign usage limits will still apply.

discountLimit
number [ 0 .. 1000000000000000 ]

The total discount value that the code can give. Typically used to represent a gift card value.

reservationLimit
integer [ 0 .. 999999 ]

The number of reservations that can be made with this coupon code.

startDate
string <date-time>

Timestamp at which point the coupon becomes valid.

expiryDate
string <date-time>

Expiration date of the coupon. Coupon never expires if this is omitted.

Array of objects

Limits configuration for a coupon. These limits will override the limits set from the campaign.

Note: Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured.

Array
action
string

The limitable action to which this limit applies. For example:

  • setDiscount
  • setDiscountEffect
  • redeemCoupon
  • createCoupon
limit
number >= 0

The value to set for the limit.

period
string
Enum: "daily" "weekly" "monthly" "yearly"

The period on which the budget limit recurs.

entities
Array of strings
Items Enum: "Coupon" "Referral" "Profile" "Identifier" "Store" "Session"

The entity that this limit applies to.

usageCounter
integer

The number of times the coupon has been successfully redeemed.

discountCounter
number

The amount of discounts given on rules redeeming this coupon. Only usable if a coupon discount budget was set for this coupon.

discountRemainder
number

The remaining discount this coupon can give.

reservationCounter
number

The number of times this coupon has been reserved.

attributes
object

Custom attributes associated with this coupon.

referralId
integer

The integration ID of the referring customer (if any) for whom this coupon was created as an effect.

recipientIntegrationId
string <= 1000 characters

The Integration ID of the customer that is allowed to redeem this coupon.

importId
integer

The ID of the Import which created this coupon.

reservation
boolean
Default: true

Defines the reservation type:

  • true: The coupon can be reserved for multiple customers.
  • false: The coupon can be reserved only for one customer. It is a personal code.
batchId
string

The id of the batch the coupon belongs to.

isReservationMandatory
boolean
Default: false

An indication of whether the code can be redeemed only if it has been reserved first.

implicitlyReserved
boolean

An indication of whether the coupon is implicitly reserved for all customers.

ApplicationId
integer <int64>

The ID of the application.

totalResultSize
integer
NotificationType
string

The type of the notification

Request samples

Content type
application/json
{
  • "TypeOfChange": "string",
  • "Operation": "string",
  • "EmployeeName": "string",
  • "data": [
    ],
  • "totalResultSize": 1,
  • "NotificationType": "string"
}

Coupons created asynchronously Webhook

Request Body schema: application/json
required

The notification indicating that up to 5 million coupons were created asynchronously via the Create coupons asynchronously endpoint.

In this case, instead of individual notifications for specific coupon changes (such as creation, update, or deletion), a single notification about the completion of the batch processing of coupons with details about the batch is sent.

Tip: To retrieve information about the generated coupons, after receiving the notification, use the Export coupons endpoint along with the batchid, which indicates the batch to which the coupons belong.

BatchID
string

The ID of the batch to which the coupon belongs.

Note: The Batch ID is generated when coupons are created.

TypeOfChange
string
Operation
string
EmployeeName
string
NotificationType
string

The type of the notification

Request samples

Content type
application/json
{
  • "TypeOfChange": "campaign_manager",
  • "Operation": "AsyncCouponsCreated",
  • "EmployeeName": "Franziska Schneider",
  • "NotificationType": "AsyncCouponsCreated",
  • "BatchID": "nqylhnni"
}

Coupons updated Webhook

Request Body schema: application/json
required

The notification indicating that coupons were updated via the Update coupons endpoint.

Tip: To retrieve information about the generated coupons, after receiving the notification, use the Export coupons endpoint along with the batchid, which indicates the batch to which the coupons belong.

BatchID
string
ApplicationID
integer <int64>
CampaignID
integer <int64>
TypeOfChange
string
Operation
string
EmployeeName
string
NotificationType
string

The type of the notification

Request samples

Content type
application/json
{
  • "TypeOfChange": "campaign_manager",
  • "Operation": "CouponsUpdated",
  • "EmployeeName": "Franziska Schneider",
  • "NotificationType": "CouponsUpdated",
  • "BatchID": "nqylhnni",
  • "ApplicationID": 5,
  • "CampaignID": 3
}

Coupons deleted Webhook

Request Body schema: application/json
required

The notification indicating that coupons were deleted via the Delete coupons endpoint.

Tip: To retrieve information about the generated coupons, after receiving the notification, use the Export coupons endpoint along with the batchid, which indicates the batch to which the coupons belong.

TypeOfChange
string
Operation
string
EmployeeName
string
BatchID
string
ApplicationID
integer <int64>
CampaignID
integer <int64>
TotalResultSize
integer <int64>
NotificationType
string

The type of the notification

Request samples

Content type
application/json
{
  • "TypeOfChange": "campaign_manager",
  • "Operation": "CouponsDeleted",
  • "EmployeeName": "Franziska Schneider",
  • "NotificationType": "CouponsDeleted",
  • "BatchID": "nqylhnni",
  • "ApplicationID": 5,
  • "CampaignID": 3,
  • "TotalResultSize": 200
}

Expiring coupons Webhook

Request Body schema: application/json
required

The notification reminding users of expiring coupons.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of expiring coupon notifications.

Array
CouponValue
string

The coupon code.

CreatedDate
string <date-time>

Timestamp at which point the coupon was created.

ValidFrom
string <date-time> >= 0

Timestamp at which point the coupon becomes valid.

ValidUntil
string <date-time> >= 0

Timestamp at which point the coupon expires. Coupon never expires if this is omitted, zero, or negative.

CampaignId
integer >= 1

The ID of the campaign to which the coupon belongs.

CustomerProfileId
string

The Integration ID of the customer that is allowed to redeem this coupon.

UsageLimit
integer [ 0 .. 999999 ]

The number of times the coupon code can be redeemed. 0 means unlimited redemptions but any campaign usage limits will still apply.

UsageCounter
integer

The number of times the coupon has been successfully redeemed.

BatchId
string

The ID of the batch the coupon belongs to.

object

Custom attributes associated with this coupon.

property name*
additional property
any
NotificationType
string
Value: "CouponCodeExpiring"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "CouponCodeExpiring"
}

Loyalty card notifications

Represents the notifications about changes to loyalty points in card-based loyalty programs.

Expiring points Webhook

Request Body schema: application/json
required

The notification reminding users that their active loyalty points will expire soon.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of expiring points.

Array
ExpiryDate
string <date>

The expiration date of loyalty points.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

AmountOfExpiringPoints
number

The amount of loyalty points that will be expired soon.

SubledgerID
string

The ID of the subledger within the loyalty program where these points were added.

CardIdentifier
string

The alphanumeric identifier of the loyalty card.

UsersPerCardLimit
integer >= 0

The maximum number of customer profiles with which a card can be shared. This can be set to 0 for no limit.

Profiles
Array of strings

The integration IDs of the customer profiles linked to the card.

NotificationType
string
Value: "LoyaltyCardPointsExpiring"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "LoyaltyCardPointsExpiring"
}

Added or deducted points Webhook

Request Body schema: application/json
required

The notification informing users when loyalty points are added or deducted.

ProfileIntegrationIDs
Array of strings

The integration ID of the customer profile to whom points were added or deducted.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

SubledgerID
string

The ID of the subledger within the loyalty program where these points were added or deducted.

Amount
number

The amount of added or deducted loyalty points.

Reason
string

The reason for the points addition or deduction.

TypeOfChange
string
Enum: "campaign_manager" "rule_engine" "management_api"

The notification source, that is, it indicates whether the points were added or deducted via one of the following routes:

EmployeeName
string

The name of the employee who added or deducted points.

UserID
integer >= 1

The ID of the employee who added or deducted points.

Operation
string
Enum: "addition" "deduction"

The action (addition or deduction) made with loyalty points.

StartDate
string <date-time>

The start date for loyalty points.

ExpiryDate
string <date-time>

The expiration date for loyalty points.

SessionIntegrationID
string

The integration ID of the session through which the points were earned or lost.

NotificationType
string
Enum: "LoyaltyCardPointsDeducted" "LoyaltyCardPointsAdded"

The type of notification.

CardIdentifier
string

Loyalty card identification number.

UsersPerCardLimit
integer

The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit.

Request samples

Content type
application/json
{
  • "ProfileIntegrationIDs": [
    ],
  • "LoyaltyProgramID": 5,
  • "SubledgerID": "sub-123",
  • "Amount": 10.99,
  • "Reason": "Compensation",
  • "TypeOfChange": "campaign_manager",
  • "EmployeeName": "Franziska Schneider",
  • "UserID": 25,
  • "Operation": "addition",
  • "StartDate": "2023-01-24T14:15:22Z",
  • "ExpiryDate": "2024-01-24T14:15:22Z",
  • "SessionIntegrationID": "cc53e4fa-547f-4f5e-8333-76e05c381f67",
  • "NotificationType": "LoyaltyCardPointsDeducted",
  • "CardIdentifier": "123-456-789ATBC",
  • "UsersPerCardLimit": 10
}

Loyalty notifications

Represents the notifications about changes to loyalty points in profile-based loyalty programs.

Expiring points Webhook

Request Body schema: application/json
required

The notification reminding users that their active loyalty points will expire soon.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of expiring points.

Array
ExpiryDate
string <date>

The expiration date of loyalty points.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

CustomerProfileID
string

The integration ID of the customer profile that has expiring points.

AmountOfExpiringPoints
number

The amount of loyalty points that will be expired soon.

SubledgerID
string

The ID of the subledger within the loyalty program where these points were added.

NotificationType
string
Value: "LoyaltyPointsExpiring"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "LoyaltyPointsExpiring"
}

Added or deducted points Webhook

Request Body schema: application/json
required

The notification informing users when loyalty points are added or deducted.

ProfileIntegrationID
string

The integration ID of the customer profile to whom points were added or deducted.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

SubledgerID
string

The ID of the subledger within the loyalty program where these points were added.

Amount
number

The amount of added or deducted loyalty points.

Reason
string

The reason for the points addition or deduction.

TypeOfChange
string
Enum: "campaign_manager" "rule_engine" "management_api"

The notification source, that is, it indicates whether the points were added or deducted via one of the following routes:

EmployeeName
string

The name of the employee who added or deducted points.

UserID
integer >= 1

The ID of the employee who added or deducted points.

Operation
string
Enum: "addition" "deduction"

The action (addition or deduction) made with loyalty points.

StartDate
string <date-time>

The start date for loyalty points.

ExpiryDate
string <date-time>

The expiration date for loyalty points.

SessionIntegrationID
string

The integration ID of the session through which the points were earned or lost.

NotificationType
string
Enum: "LoyaltyPointsDeducted" "LoyaltyPointsAdded"

The type of notification.

Request samples

Content type
application/json
{
  • "ProfileIntegrationID": "URNGV8294NV",
  • "LoyaltyProgramID": 5,
  • "SubledgerID": "sub-123",
  • "Amount": 10.99,
  • "Reason": "Compensation",
  • "TypeOfChange": "campaign_manager",
  • "EmployeeName": "Franziska Schneider",
  • "UserID": 25,
  • "Operation": "addition",
  • "StartDate": "2023-01-24T14:15:22Z",
  • "ExpiryDate": "2024-01-24T14:15:22Z",
  • "SessionIntegrationID": "cc53e4fa-547f-4f5e-8333-76e05c381f67",
  • "NotificationType": "LoyaltyPointsDeducted"
}

Pending points Webhook

Request Body schema: application/json
required

The notification informing users that their pending points will become active soon.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of pending points.

Array
LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

SubledgerID
string
Default: ""

The ID of the subledger, when applicable. If this field is empty, the main ledger is used.

CustomerProfileID
string

The integration ID of the customer profile whose loyalty points are becoming active.

Points
number

The amount of pending loyalty points becoming active.

ActiveOn
string <date-time>

The date and time the loyalty points become active.

ExpireOn
string <date-time>

The date and time the loyalty points expire.

SessionIntegrationID
string

The integration ID of the session through which the points were earned.

NotificationType
string
Value: "LoyaltyPointsPendingToActive"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "LoyaltyPointsPendingToActive"
}

Tier upgrade Webhook

Request Body schema: application/json
required

The notification informing users when a loyalty tier upgrade occurs.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of tier upgrade notifications.

Array
CustomerProfileID
string

The integration ID of the customer profile whose tier was upgraded.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

SubledgerID
string
Default: ""

The ID of the subledger, when applicable. If this field is empty, the main ledger is used.

CurrentTier
string

The name of the customer's current tier.

CurrentPoints
number

The number of points the customer had at the time of tier upgrade.

OldTier
string

The name of the customer's previous tier.

PointsRequiredToTheNextTier
number

The number of points needed for a customer to reach the next tier.

NextTier
string

The name of the customer's next tier.

TierExpirationDate
string <date-time>

The exact date and time the tier expires.

TimestampOfTierChange
string <date-time>

The exact date and time the tier was changed.

NotificationType
string
Value: "TierUpgrade"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "TierUpgrade"
}

Tier downgrade Webhook

Request Body schema: application/json
required

The notification informing users when a loyalty tier downgrade occurs.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of tier downgrade notifications.

Array
CustomerProfileID
string

The integration ID of the customer profile whose tier was downgraded.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

SubledgerID
string
Default: ""

The ID of the subledger, when applicable. If this field is empty, the main ledger is used.

CurrentTier
string

The name of the customer's current tier.

CurrentPoints
number

The number of points the customer had at the time of tier downgrade.

OldTier
string

The name of the customer's previous tier.

TierExpirationDate
string <date-time>

The exact date and time the tier expires.

TimestampOfTierChange
string <date-time>

The exact date and time the tier was changed.

NotificationType
string
Value: "TierDowngrade"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "TierDowngrade"
}

Upcoming tier downgrade Webhook

Request Body schema: application/json
required

The notification reminding users of an upcoming loyalty tier downgrade.

TotalResultSize
integer
Array of objects <= 1000 characters

The array of upcoming tier downgrade notifications.

Array
CustomerProfileID
string

The integration ID of the customer profile whose tier was downgraded.

LoyaltyProgramID
integer >= 1

The ID of the loyalty program.

SubledgerID
string
Default: ""

The ID of the subledger, when applicable. If this field is empty, the main ledger is used.

CurrentTier
string

The name of the customer's current tier.

CurrentPoints
number

The number of points the customer will have after the tier downgrade.

PointsRequiredToRemain
number

The number of points needed for a customer to remain on the same tier.

NextTier
string

The name of the customer's next tier.

TierExpirationDate
string <date-time>

The date and time the tier expires.

NotificationType
string
Value: "TierWillDowngrade"

The type of notification.

Request samples

Content type
application/json
{
  • "TotalResultSize": 1,
  • "Data": [
    ],
  • "NotificationType": "TierWillDowngrade"
}

Strikethrough pricing notifications

Represents the notifications about strikethrough pricing updates.

Strikethrough pricing updated Webhook

Request Body schema: application/json
required

The notification listing the changes in the pricing of your cart item catalog.

version
string
Value: "v2"

The version of the strikethrough pricing notification.

validFrom
string <date-time>

Timestamp at which the strikethrough pricing update becomes valid. Set for scheduled strikethrough pricing updates (version: v2) only.

applicationId
integer

The ID of the Application to which the catalog items labels belongs.

currentBatch
integer

The batch number of the notification. Notifications might be sent in different batches.

totalBatches
integer

The total number of batches for the notification.

object

Information about the event that triggered the strikethrough labeling.

id
integer

The ID of the event that triggered the strikethrough labeling.

type
string

The type of event that triggered the strikethrough labeling.

triggeredAt
string <date-time>

The creation time of the event that triggered the strikethrough labeling.

totalAffectedItems
integer <date-time>

The total number of items affected by the event that triggered the strikethrough labeling.

payload
object

The arbitrary properties associated with this trigger type.

Array of objects
Array
id
integer

The ID of the event that triggered the strikethrough labeling.

catalogId
integer

The ID of the catalog that the changed item belongs to.

sku
string

The unique SKU of the changed item.

version
integer >= 1

The version of the changed item.

price
number

The price of the changed item.

object

A map of keys and values representing the price types and related price adjustment details for this cart item. The keys correspond to the priceType names.

additional property
object
price
number <float>

The value of this price type.

adjustmentReferenceId
string <uuid>

The reference identifier of the selected price adjustment for this SKU.

adjustmentEffectiveFrom
string <date-time>

The date and time from which the price adjustment is effective.

adjustmentEffectiveUntil
string <date-time>

The date and time until which the price adjustment is effective.

evaluatedAt
string <date-time>

The evaluation time of the changed item.

Array of objects
Array
campaignId
integer

The ID of the campaign that effect belongs to.

rulesetId
integer

The ID of the ruleset containing the rule that triggered this effect.

ruleIndex
integer

The position of the rule that triggered this effect within the ruleset.

ruleName
string

The name of the rule that triggered this effect.

type
string

The type of this effect.

object or object
One of
name
string

effect name.

value
any

discount value.

startTime
string <date-time>

The start of the time frame where the effect is active in UTC.

endTime
string <date-time>

The end of the time frame where the effect is active in UTC.

selectedPriceType
string

The selected price type for this cart item (e.g. the price for members only).

selectedPrice
number

The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied.

adjustmentReferenceId
string

The reference identifier of the selected price adjustment for this cart item.

Array of LabelTargetNone (object) or LabelTargetAudience (object)

A list of entities (e.g. audiences) targeted by this effect.

Array
One of
type
string
Value: "NONE"
NotificationType
string

The type of the notification

Request samples

Content type
application/json
Example
{
  • "applicationId": 322,
  • "currentBatch": 1,
  • "totalBatches": 10,
  • "trigger": {
    },
  • "changedItems": [
    ],
  • "NotificationType": "StrikethroughPrice"
}