Skip to main content

Notification schemas (1.0.0)

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

The notification indicating a campaign was created.

TotalResultSize
required
integer

The number of campaign notifications inside the Data array.

NotificationType
required
string
Value: "CampaignNotification"

The type of notification.

required
Array of objects

A notification regarding a campaign that was created.

Array
required
object

The current version of the campaign.

id
required
integer

Unique ID for this entity.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

userId
required
integer

The ID of the user associated with this entity.

name
required
string non-empty

A user-facing name for this campaign.

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

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

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

A list of tags for the campaign.

required
Array of objects

The set of budget limits for this campaign.

Array
action
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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

The features enabled in this campaign.

description
required
string

A detailed description of the campaign.

type
required
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.
frontendState
required
string
Enum: "expired" "scheduled" "running" "disabled" "staged" "archived"

The campaign state displayed in the Campaign Manager.

storesImported
required
boolean

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

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.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

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.

linkedStoreIntegrationIds
Array of strings

A list of store integration IDs that are linked to the campaign.

budgets
number

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.

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.

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.

required
object

The campaign position within the evaluation tree.

groupId
required
integer

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

groupName
required
string

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

position
required
integer

The position of the campaign in the campaign evaluation group it belongs to.

ruleset
string

The current ruleset.

Event
string
Value: "campaign_created"

The event that triggered this campaign notification.

Request samples

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

Campaign state changed Webhook

Request Body schema: application/json

The notification indicating the state of a campaign changed.

TotalResultSize
required
integer

The number of campaign notifications inside the Data array.

NotificationType
required
string
Value: "CampaignNotification"

The type of notification.

required
Array of objects

A notification regarding a campaign whose state changed.

Array
required
object

The campaign whose state changed.

id
required
integer

Unique ID for this entity.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

userId
required
integer

The ID of the user associated with this entity.

name
required
string non-empty

A user-facing name for this campaign.

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

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

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

A list of tags for the campaign.

required
Array of objects

The set of budget limits for this campaign.

Array
action
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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

The features enabled in this campaign.

description
required
string

A detailed description of the campaign.

type
required
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.
frontendState
required
string
Enum: "expired" "scheduled" "running" "disabled" "staged" "archived"

The campaign state displayed in the Campaign Manager.

storesImported
required
boolean

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

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.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

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.

linkedStoreIntegrationIds
Array of strings

A list of store integration IDs that are linked to the campaign.

budgets
number

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.

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.

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.

newState
required
string

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

oldState
required
string

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

ruleset
string

The current ruleset.

Event
string
Value: "campaign_state_changed"

The event that triggered this campaign notification.

Request samples

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

Campaign rules changed Webhook

Request Body schema: application/json

The notification indicating the rules of a campaign changed.

TotalResultSize
required
integer

The number of campaign notifications inside the Data array.

NotificationType
required
string
Value: "CampaignNotification"

The type of notification.

required
Array of objects

A notification regarding a campaign whose ruleset was changed.

Array
required
object

The current version of the campaign.

id
required
integer

Unique ID for this entity.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

userId
required
integer

The ID of the user associated with this entity.

name
required
string non-empty

A user-facing name for this campaign.

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

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

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

A list of tags for the campaign.

required
Array of objects

The set of budget limits for this campaign.

Array
action
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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

The features enabled in this campaign.

description
required
string

A detailed description of the campaign.

type
required
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.
frontendState
required
string
Enum: "expired" "scheduled" "running" "disabled" "staged" "archived"

The campaign state displayed in the Campaign Manager.

storesImported
required
boolean

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

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.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

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.

linkedStoreIntegrationIds
Array of strings

A list of store integration IDs that are linked to the campaign.

budgets
number

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.

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.

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.

ruleset
required
string

The current ruleset.

oldRuleset
string

The old ruleset, if the ruleset was changed.

Event
string
Value: "campaign_ruleset_changed"

The event that triggered this campaign notification.

Request samples

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

Campaign edited Webhook

Request Body schema: application/json

The notification indicating a campaign was edited.

TotalResultSize
required
integer

The number of campaign notifications inside the Data array.

NotificationType
required
string
Value: "CampaignNotification"

The type of notification.

required
Array of objects

A notification regarding a campaign that was edited.

Array
required
object

The current version of the campaign.

id
required
integer

Unique ID for this entity.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

userId
required
integer

The ID of the user associated with this entity.

name
required
string non-empty

A user-facing name for this campaign.

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

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

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

A list of tags for the campaign.

required
Array of objects

The set of budget limits for this campaign.

Array
action
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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

The features enabled in this campaign.

description
required
string

A detailed description of the campaign.

type
required
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.
frontendState
required
string
Enum: "expired" "scheduled" "running" "disabled" "staged" "archived"

The campaign state displayed in the Campaign Manager.

storesImported
required
boolean

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

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.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

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.

linkedStoreIntegrationIds
Array of strings

A list of store integration IDs that are linked to the campaign.

budgets
number

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.

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.

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.

required
object

The campaign before it was edited.

id
required
integer

Unique ID for this entity.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

userId
required
integer

The ID of the user associated with this entity.

name
required
string non-empty

A user-facing name for this campaign.

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

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

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

A list of tags for the campaign.

required
Array of objects

The set of budget limits for this campaign.

Array
action
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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

The features enabled in this campaign.

description
required
string

A detailed description of the campaign.

type
required
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.
frontendState
required
string
Enum: "expired" "scheduled" "running" "disabled" "staged" "archived"

The campaign state displayed in the Campaign Manager.

storesImported
required
boolean

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

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.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

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.

linkedStoreIntegrationIds
Array of strings

A list of store integration IDs that are linked to the campaign.

budgets
number

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.

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.

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.

ruleset
string

The current ruleset.

Event
string
Value: "campaign_edited"

The event that triggered this campaign notification.

Request samples

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

Campaign deleted Webhook

Request Body schema: application/json

The notification indicating a campaign was deleted.

TotalResultSize
required
integer

The number of campaign notifications inside the Data array.

NotificationType
required
string
Value: "CampaignNotification"

The type of notification.

required
Array of objects

A notification regarding a campaign that was deleted.

Array
required
object

The current version of the campaign.

id
required
integer

Unique ID for this entity.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

userId
required
integer

The ID of the user associated with this entity.

name
required
string non-empty

A user-facing name for this campaign.

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

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

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

A list of tags for the campaign.

required
Array of objects

The set of budget limits for this campaign.

Array
action
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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

The features enabled in this campaign.

description
required
string

A detailed description of the campaign.

type
required
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.
frontendState
required
string
Enum: "expired" "scheduled" "running" "disabled" "staged" "archived"

The campaign state displayed in the Campaign Manager.

storesImported
required
boolean

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

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.

activeRulesetId
integer

ID of Ruleset this campaign applies on customer session evaluation.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

object
couponPattern
required
string [ 3 .. 100 ] characters

The pattern used to generate coupon codes. The character # is a placeholder and is replaced by a random character from the validCharacters set.

validCharacters
required
Array of strings

List of characters used to generate the random parts of a code. Defaults to a list equivalent to the [A-Z, 0-9] regexp.

campaignGroups
Array of integers

The IDs of the campaign groups this campaign belongs to.

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.

linkedStoreIntegrationIds
Array of strings

A list of store integration IDs that are linked to the campaign.

budgets
number

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.

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.

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
required
string <date-time>

Time when the campaign was deleted.

Event
string
Value: "campaign_deleted"

The event that triggered this campaign notification.

Request samples

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

Campaign evaluation tree changed Webhook

Request Body schema: application/json

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.

TotalResultSize
required
integer

The number of campaign notifications inside the Data array.

NotificationType
required
string
Value: "CampaignEvaluationTreeChanged"

The type of notification.

required
Array of objects

Notification about an Application whose campaigns' evaluation tree changed.

Array
required
object

The new campaign evaluation tree.

id
required
integer

Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

required
object

The campaign evaluation group that was updated.

type
required
string
Value: "SET"

The node type.

name
required
string

The name of the campaign evaluation group.

operator
required
string
Enum: "ALL" "FIRST"

How the group operates on its elements.

required
Array of CampaignSetBranchNode (object) or CampaignSetLeafNode (object)

The child elements of the group.

Array
One of
object CampaignSetBranchNode Recursive
groupId
required
integer

The ID of the campaign evaluation group.

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

The evaluation mode of the campaign evaluation group.

description
string

A description of the campaign evaluation group.

version
required
integer >= 1

The version of the campaign evaluation tree.

updatedBy
string

The name of the user who last updated the campaign evaluation tree, if available.

applicationId
integer

The ID of the Application whose campaign evaluation tree changed.

object

The previous campaign evaluation tree.

id
required
integer

Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints.

created
required
string <date-time>

The exact moment this entity was created.

applicationId
required
integer

The ID of the Application that owns this entity.

required
object

The campaign evaluation group that was updated.

type
required
string
Value: "SET"

The node type.

name
required
string

The name of the campaign evaluation group.

operator
required
string
Enum: "ALL" "FIRST"

How the group operates on its elements.

required
Array of CampaignSetBranchNode (object) or CampaignSetLeafNode (object)

The child elements of the group.

Array
One of
object CampaignSetBranchNode Recursive
groupId
required
integer

The ID of the campaign evaluation group.

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

The evaluation mode of the campaign evaluation group.

description
string

A description of the campaign evaluation group.

version
required
integer >= 1

The version of the campaign evaluation tree.

updatedBy
string

The name of the user who last updated the campaign evaluation tree, if available.

event
string
Value: "campaign_evaluation_tree_changed"

The event that triggered this campaign notification.

Request samples

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

Coupon notifications

Represents the notifications about coupons.

Coupon created Webhook

Request Body schema: application/json

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

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

The notification source, that is, it indicates whether the coupons were changed via one of the following routes:

Operation
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The change (creation, update, or deletion) made to the coupons.

EmployeeName
required
string

The name of the employee who made the coupon-related changes.

Note: This can be blank when the notication source is the Rule Engine.

NotificationType
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The type of notification.

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
required
integer

Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints.

created
required
string <date-time>

The exact moment this entity was created.

campaignId
required
integer

The ID of the campaign that owns this entity.

value
required
string >= 4 characters

The coupon code.

usageCounter
required
integer

The number of times the coupon has been successfully redeemed.

usageLimit
required
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 .. 999999 ]

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> >= 0

Timestamp at which point the coupon becomes valid.

expiryDate
string <date-time> >= 0

Expiration date of the coupon. Coupon never expires if this is omitted, zero, or negative.

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
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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.

object

Custom attributes associated with this coupon.

property name*
additional property
any
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 who is allowed to redeem this coupon.

importId
integer

The ID of the import that created this coupon.

reservation
boolean
Default: true

Defines the type of reservation:

  • true: The reservation is a soft reservation. Any customer can use the coupon. This is done via the Create coupon reservation endpoint.
  • false: The reservation is a hard reservation. Only the associated customer (recipientIntegrationId) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given recipientIntegrationId, the Create coupons endpoint or Create coupons for multiple recipients endpoint.
batchId
string

The ID of the batch to which the coupon belongs.

isReservationMandatory
boolean
Default: true

Indicates whether the reservation effect actually created a new reservation.

totalResultSize
number

The number of changed coupons.

BatchID
string

The ID of the batch to which the coupon belongs.

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

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

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
required
string
Enum: "campaign_manager" "management_api" "rule_engine"

The notification source, that is, it indicates whether the coupons were changed via one of the following routes:

Operation
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The change (creation, update, or deletion) made to the coupons.

EmployeeName
required
string

The name of the employee who made the coupon-related changes.

Note: This can be blank when the notication source is the Rule Engine.

NotificationType
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The type of notification.

required
Array of objects

The array of coupons codes.

Array
id
required
integer

Unique ID for this entity. Not to be confused with the Integration ID, which is set by your integration layer and used in most endpoints.

created
required
string <date-time>

The exact moment this entity was created.

campaignId
required
integer

The ID of the campaign that owns this entity.

value
required
string >= 4 characters

The coupon code.

usageCounter
required
integer

The number of times the coupon has been successfully redeemed.

usageLimit
required
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 .. 999999 ]

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> >= 0

Timestamp at which point the coupon becomes valid.

expiryDate
string <date-time> >= 0

Expiration date of the coupon. Coupon never expires if this is omitted, zero, or negative.

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
required
string

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

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

The value to set for the limit.

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

The entity that this limit applies to.

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

The period on which the budget limit recurs.

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.

object

Custom attributes associated with this coupon.

property name*
additional property
any
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 who is allowed to redeem this coupon.

importId
integer

The ID of the import that created this coupon.

reservation
boolean
Default: true

Defines the type of reservation:

  • true: The reservation is a soft reservation. Any customer can use the coupon. This is done via the Create coupon reservation endpoint.
  • false: The reservation is a hard reservation. Only the associated customer (recipientIntegrationId) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given recipientIntegrationId, the Create coupons endpoint or Create coupons for multiple recipients endpoint.
batchId
string

The ID of the batch to which the coupon belongs.

isReservationMandatory
boolean
Default: true

Indicates whether the reservation effect actually created a new reservation.

totalResultSize
required
number

The number of changed coupons.

Request samples

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

Coupons created asynchronously Webhook

Request Body schema: application/json

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.

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

The notification source, that is, it indicates whether the coupons were changed via one of the following routes:

Operation
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The change (creation, update, or deletion) made to the coupons.

EmployeeName
required
string

The name of the employee who made the coupon-related changes.

Note: This can be blank when the notication source is the Rule Engine.

NotificationType
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The type of notification.

BatchID
required
string

The ID of the batch to which the coupon belongs.

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

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

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.

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

The notification source, that is, it indicates whether the coupons were changed via one of the following routes:

Operation
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The change (creation, update, or deletion) made to the coupons.

EmployeeName
required
string

The name of the employee who made the coupon-related changes.

Note: This can be blank when the notication source is the Rule Engine.

NotificationType
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The type of notification.

BatchID
required
string

The ID of the batch to which the coupon belongs.

Note: The Batch ID is generated when coupons are created. The Batch ID may be empty, for example, if all coupons in the campaign were updated.

ApplicationID
required
number >= 1

The ID of the Application to which the coupon belongs.

CampaignID
required
number >= 1

The ID of the campaign to which the coupon belongs.

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

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
required
string
Enum: "campaign_manager" "management_api" "rule_engine"

The notification source, that is, it indicates whether the coupons were changed via one of the following routes:

Operation
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The change (creation, update, or deletion) made to the coupons.

EmployeeName
required
string

The name of the employee who made the coupon-related changes.

Note: This can be blank when the notication source is the Rule Engine.

NotificationType
required
string
Enum: "CouponCreated" "CouponUpdated" "CouponDeleted" "AsyncCouponsCreated" "CouponsDeleted" "CouponsUpdated"

The type of notification.

BatchID
required
string

The ID of the batch to which the coupon belongs.

Note: The Batch ID is generated when coupons are created. The Batch ID may be empty, for example, if all coupons in the campaign were updated.

ApplicationID
required
number >= 1

The ID of the Application to which the coupon belongs.

CampaignID
required
number >= 1

The ID of the campaign to which the coupon belongs.

TotalResultSize
required
number >= 1

The number of deleted coupons.

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

The notification reminding users of expiring coupons.

TotalResultSize
required
number [ 1 .. 1000 ]

The number of expiring coupon notifications.

required
Array of objects <= 1000 characters

The array of expiring coupon notifications.

Array
CouponValue
required
string

The coupon code.

CreatedDate
required
string <date-time>

Timestamp at which point the coupon was created.

ValidFrom
required
string <date-time> >= 0

Timestamp at which point the coupon becomes valid.

ValidUntil
required
string <date-time> >= 0

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

CampaignId
required
number >= 1

The ID of the campaign to which the coupon belongs.

CustomerProfileId
required
string

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

UsageLimit
required
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
required
integer

The number of times the coupon has been successfully redeemed.

BatchId
required
string

The ID of the batch the coupon belongs to.

required
object

Custom attributes associated with this coupon.

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

The type of notification.

Request samples

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

Strikethrough pricing notifications

Represents the notifications about strikethrough pricing updates.

Strikethrough pricing updated Webhook

Request Body schema: application/json

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

applicationId
required
integer

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

currentBatch
required
integer

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

totalBatches
required
integer

The total number of batches for the notification.

required
object

Information about the event that triggered the strikethrough labeling.

id
required
integer

The ID of the event that triggered the strikethrough labeling.

type
required
string

The type of event that triggered the strikethrough labeling.

triggeredAt
required
string <date-time>

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

totalAffectedItems
required
integer

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

required
object

The arbitrary properties associated with this trigger type.

property name*
additional property
any
required
Array of objects

The items that had their price updated.

Array
id
required
integer

The ID of the event that triggered the strikethrough labeling.

catalogId
required
integer

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

sku
required
string

The unique SKU of the changed item.

version
required
integer >= 1

The version of the changed item.

price
required
number

The price of the changed item.

evaluatedAt
required
string <date-time>

The evaluation time of the changed item.

Array of objects

The list of effects generated by the triggered strikethrough campaigns.

Array
campaignId
required
integer

The ID of the campaign that effect belongs to.

rulesetId
required
integer

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

ruleIndex
required
integer

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

ruleName
required
string

The name of the rule that triggered this effect.

type
required
string

The type of this effect.

required
StrikethroughSetDiscountPerItemEffectProps (object) or StrikethroughCustomEffectPerItemEffectProps (object)

Arbitrary properties associated with this effect type.

One of
name
required
string

Effect name.

value
required
any

Discount value.

NotificationType
required
string
Value: "StrikethroughPrice"

The type of notification.

Request samples

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

Loyalty notifications

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

Expiring points Webhook

Request Body schema: application/json

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

TotalResultSize
required
number [ 1 .. 1000 ]

The number of expiring points notifications.

required
Array of objects <= 1000 characters

The array of expiring points.

Array
ExpiryDate
required
string <date>

The expiration date of loyalty points.

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

CustomerProfileID
required
string

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

AmountOfExpiringPoints
required
number

The amount of loyalty points that will be expired soon.

SubledgerID
required
string

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

NotificationType
required
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

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

ProfileIntegrationID
required
string

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

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

SubledgerID
required
string

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

Amount
required
number

The amount of added or deducted loyalty points.

Reason
required
string

The reason for the points addition or deduction.

TypeOfChange
required
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
required
string

The name of the employee who added or deducted points.

UserID
required
integer >= 1

The ID of the employee who added or deducted points.

Operation
required
string
Enum: "addition" "deduction"

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

StartDate
required
string <date-time>

The start date for loyalty points.

ExpiryDate
required
string <date-time>

The expiration date for loyalty points.

SessionIntegrationID
required
string

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

NotificationType
required
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

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

TotalResultSize
required
number [ 1 .. 1000 ]

The number of pending points notifications.

required
Array of objects <= 1000 characters

The array of pending points.

Array
LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

SubledgerID
required
string
Default: ""

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

CustomerProfileID
required
string

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

Points
required
number

The amount of pending loyalty points becoming active.

ActiveOn
required
string <date>

The date and time the loyalty points become active.

ExpireOn
required
string <date>

The date and time the loyalty points expire.

SessionIntegrationID
required
string

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

NotificationType
required
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

The notification informing users when a loyalty tier upgrade occurs.

TotalResultSize
required
number [ 1 .. 1000 ]

The number of tier upgrade notifications.

required
Array of objects <= 1000 characters

The array of tier upgrade notifications.

Array
CustomerProfileID
required
string

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

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

SubledgerID
required
string
Default: ""

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

CurrentTier
required
string

The name of the customer's current tier.

CurrentPoints
required
number

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

OldTier
required
string

The name of the customer's previous tier.

PointsRequiredToTheNextTier
required
number

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

NextTier
required
string

The name of the customer's next tier.

TierExpirationDate
required
string <date>

The exact date and time the tier expires.

TimestampOfTierChange
required
string <date>

The exact date and time the tier was changed.

NotificationType
required
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

The notification informing users when a loyalty tier downgrade occurs.

TotalResultSize
required
number [ 1 .. 1000 ]

The number of tier downgrade notifications.

required
Array of objects <= 1000 characters

The array of tier downgrade notifications.

Array
CustomerProfileID
required
string

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

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

SubledgerID
required
string
Default: ""

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

CurrentTier
required
string

The name of the customer's current tier.

CurrentPoints
required
number

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

OldTier
required
string

The name of the customer's previous tier.

TierExpirationDate
required
string <date>

The exact date and time the tier expires.

TimestampOfTierChange
required
string <date>

The exact date and time the tier was changed.

NotificationType
required
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

The notification reminding users of an upcoming loyalty tier downgrade.

TotalResultSize
required
number [ 1 .. 1000 ]

The number of upcoming tier downgrade notifications.

required
Array of objects <= 1000 characters

The array of upcoming tier downgrade notifications.

Array
CustomerProfileID
required
string

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

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

SubledgerID
required
string
Default: ""

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

CurrentTier
required
string

The name of the customer's current tier.

CurrentPoints
required
number

The number of points the customer will have at the time of tier downgrade.

TierExpirationDate
required
string <date>

The date and time the tier expires.

PointsRequiredToRemain
required
number

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

NextTier
required
string

The name of the customer's next tier.

NotificationType
required
string
Value: "TierWillDowngrade"

The type of notification.

Request samples

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

Loyalty card notifications

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

Expiring points Webhook

Request Body schema: application/json

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

TotalResultSize
required
number [ 1 .. 1000 ]

The number of expiring points notifications.

required
Array of objects <= 1000 characters

The array of expiring points.

Array
ExpiryDate
required
string <date>

The expiration date of loyalty points.

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

AmountOfExpiringPoints
required
number

The amount of loyalty points that will be expired soon.

SubledgerID
required
string

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

CardIdentifier
required
string

The alphanumeric identifier of the loyalty card.

UsersPerCardLimit
required
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
required
Array of strings

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

NotificationType
required
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

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

LoyaltyProgramID
required
integer >= 1

The ID of the loyalty program.

SubledgerID
required
string

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

CardIdentifier
required
string

Loyalty card identification number.

UsersPerCardLimit
required
integer

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

ProfileIntegrationIDs
required
Array of strings

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

Amount
required
number

The amount of added or deducted loyalty points.

Reason
required
string

The reason for the points addition or deduction.

TypeOfChange
required
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
required
string

The name of the employee who added or deducted points.

UserID
required
integer >= 1

The ID of the employee who added or deducted points.

Operation
required
string
Enum: "addition" "deduction"

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

StartDate
required
string <date-time>

The start date for loyalty points.

ExpiryDate
required
string <date-time>

The expiration date for loyalty points.

SessionIntegrationID
required
string

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

NotificationType
required
string
Enum: "LoyaltyCardPointsDeducted" "LoyaltyCardPointsAdded"

The type of notification.

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
}