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.

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.

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.

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.

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.

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.

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.

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.

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",
  • "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.

totalResultSize
required
number

The number of changed coupons.

Request samples

Content type
application/json
{
  • "TypeOfChange": "campaign_manager",
  • "Operation": "CouponCreated",
  • "NotificationType": "CouponCreated",
  • "EmployeeName": "Franziska Schneider",
  • "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",
  • "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",
  • "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",
  • "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.

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.

required
Array of objects

The items that had their price updated.

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.

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.

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.

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.

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.

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.

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
}