openapi: 3.1.0 info: title: Notification schemas version: '' description: | Use [Application notifications](/docs/product/applications/application-notifications/overview) and [loyalty notifications](/docs/product/loyalty-programs/loyalty-notifications/overview) 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). servers: - url: 'https://yourbaseurl.talon.one' security: [] tags: - name: Campaign notifications description: | Represents the [notifications](/docs/product/applications/application-notifications/overview) about campaign-related changes. **Note:** The value of the `NotificationType` property indicates the campaign change: - `CampaignNotification` signifies one of the following events: - [Campaign created](#tag/Campaign-notifications/operation/campaignCreatedNotification) - [Campaign state changed](#tag/Campaign-notifications/operation/campaignStateChangedNotification) - [Campaign rules changed](#tag/Campaign-notifications/operation/campaignRulesetChangedNotification) - [Campaign edited](#tag/Campaign-notifications/operation/campaignEditedNotification) - [Campaign collection edited](#tag/Campaign-notifications/operation/campaignCollectionEditedNotification) - [Campaign deleted](#tag/Campaign-notifications/operation/campaignDeletedNotification) - `CampaignEvaluationTreeChanged` signifies [Campaign evaluation tree changed](#tag/Campaign-notifications/operation/campaignEvaluationTreeChangedNotification). - name: Coupon notifications description: | Represents the [notifications](/docs/product/applications/application-notifications/overview) about coupons. - name: Loyalty card notifications description: 'Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview) about changes to loyalty points in card-based loyalty programs.' - name: Loyalty notifications description: | Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview) about changes to loyalty points in profile-based loyalty programs. - name: Strikethrough pricing notifications description: | Represents the [notifications](/docs/product/applications/application-notifications/overview) about strikethrough pricing updates. paths: {} webhooks: campaign_created: post: operationId: campaignCreatedNotification summary: Campaign created tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) indicating a campaign was created.' content: application/json: schema: $ref: '#/components/schemas/CampaignCreatedNotification' example: NotificationType: CampaignNotification TotalResultSize: 0 Data: - Event: campaign_state_changed campaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false ruleset: id: 6 created: '2020-06-10T09:05:27.993483Z' userId: 388 rules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 strikethroughRules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 bindings: [] rbVersion: v2 activate: true campaignId: 320 templateId: 3 activatedAt: '2019-08-24T14:15:22Z' evaluationPosition: groupId: 2 groupName: Summer campaigns position: 2 required: true campaign_state_changed: post: operationId: campaignStateChangedNotification summary: Campaign state changed tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) indicating the state of a campaign changed.' content: application/json: schema: $ref: '#/components/schemas/CampaignStateChangedNotification' example: NotificationType: CampaignNotification TotalResultSize: 0 Data: - Event: campaign_state_changed campaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false oldState: disabled newState: running ruleset: id: 6 created: '2020-06-10T09:05:27.993483Z' userId: 388 rules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 strikethroughRules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 bindings: [] rbVersion: v2 activate: true campaignId: 320 templateId: 3 activatedAt: '2019-08-24T14:15:22Z' required: true campaign_ruleset_changed: post: operationId: campaignRulesetChangedNotification summary: Campaign rules changed tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) indicating the rules of a campaign changed.' content: application/json: schema: $ref: '#/components/schemas/CampaignRulesetChangedNotification' example: NotificationType: CampaignNotification TotalResultSize: 0 Data: - Event: campaign_state_changed campaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false oldRuleset: id: 6 created: '2020-06-10T09:05:27.993483Z' userId: 388 rules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 strikethroughRules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 bindings: [] rbVersion: v2 activate: true campaignId: 320 templateId: 3 activatedAt: '2019-08-24T14:15:22Z' ruleset: id: 6 created: '2020-06-10T09:05:27.993483Z' userId: 388 rules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 strikethroughRules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 bindings: [] rbVersion: v2 activate: true campaignId: 320 templateId: 3 activatedAt: '2019-08-24T14:15:22Z' required: true campaign_edited: post: operationId: campaignEditedNotification summary: Campaign edited tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) indicating a campaign was edited.' content: application/json: schema: $ref: '#/components/schemas/CampaignEditedNotification' example: NotificationType: CampaignNotification TotalResultSize: 0 Data: - Event: campaign_state_changed campaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false oldCampaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false ruleset: id: 6 created: '2020-06-10T09:05:27.993483Z' userId: 388 rules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 strikethroughRules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 bindings: [] rbVersion: v2 activate: true campaignId: 320 templateId: 3 activatedAt: '2019-08-24T14:15:22Z' required: true campaign_collection_edited: post: operationId: campaignCollectionEditedNotification summary: Campaign collection edited tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) indicating the collection was edited.' content: application/json: schema: $ref: '#/components/schemas/CampaignCollectionEditedNotification' example: NotificationType: CampaignNotification TotalResultSize: 0 Data: - Event: campaign_state_changed campaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false ruleset: id: 6 created: '2020-06-10T09:05:27.993483Z' userId: 388 rules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 strikethroughRules: - id: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: Give discount via coupon description: Creates a discount when a coupon is valid bindings: - name: my property type: templateParameter expression: - string1 - string2 valueType: string minValue: 0 maxValue: 19.9 attributeId: 100 description: This is a template parameter of type `number`. condition: - and - - couponValid effects: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 bindings: [] rbVersion: v2 activate: true campaignId: 320 templateId: 3 activatedAt: '2019-08-24T14:15:22Z' collection: id: 6 created: '2020-06-10T09:05:27.993483Z' accountId: 3886 modified: '2021-09-12T10:12:42Z' description: My collection of SKUs subscribedApplicationsIds: - 1 - 2 - 3 name: My collection modifiedBy: 48 createdBy: 134 applicationId: 1 campaignId: 7 required: true campaign_deleted: post: operationId: campaignDeletedNotification summary: Campaign deleted tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) indicating a campaign was deleted.' content: application/json: schema: $ref: '#/components/schemas/CampaignDeletedNotification' example: NotificationType: CampaignNotification TotalResultSize: 0 Data: - Event: campaign_state_changed campaign: id: 4 created: '2020-06-10T09:05:27.993483Z' applicationId: 322 userId: 388 name: Summer promotions description: Campaign for all summer 2021 promotions startTime: '2021-07-20T22:00:00Z' endTime: '2021-09-22T22:00:00Z' attributes: {} state: enabled activeRulesetId: 6 tags: - summer features: - coupons - referrals couponSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### referralSettings: validCharacters: - A - B - C couponPattern: SUMMER-####-#### limits: - action: createCoupon limit: 1000 period: yearly entities: - Coupon campaignGroups: - 1 - 3 type: advanced linkedStoreIds: - 1 - 2 - 3 budgets: - action: createCoupon limit: 1000 counter: 42 couponRedemptionCount: 163 referralRedemptionCount: 3 discountCount: 288 discountEffectCount: 343 couponCreationCount: 16 customEffectCount: 0 referralCreationCount: 8 addFreeItemEffectCount: 0 awardedGiveawaysCount: 9 createdLoyaltyPointsCount: 9 createdLoyaltyPointsEffectCount: 2 redeemedLoyaltyPointsCount: 8 redeemedLoyaltyPointsEffectCount: 9 callApiEffectCount: 0 reservecouponEffectCount: 9 lastActivity: '2022-11-10T23:00:00Z' updated: '2022-10-97T35:00:00Z' createdBy: John Doe updatedBy: Jane Doe templateId: 3 frontendState: running storesImported: true valueMapsIds: - 100 - 215 revisionFrontendState: revised activeRevisionId: 6 activeRevisionVersionId: 6 version: 6 currentRevisionId: 6 currentRevisionVersionId: 6 stageRevision: false deletedAt: '2022-11-10T23:00:00Z' required: true campaign_evaluation_tree_changed: post: operationId: campaignEvaluationTreeChangedNotification summary: Campaign evaluation tree changed tags: - Campaign notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: | The [notification](/docs/product/applications/application-notifications/overview) 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](/docs/product/applications/managing-campaign-evaluation). content: application/json: schema: $ref: '#/components/schemas/CampaignEvaluationTreeChangedMessage' example: NotificationType: CampaignNotification TotalResultSize: 0 data: - event: string applicationId: 78 oldEvaluationTree: applicationId: 322 id: 6 version: 3 set: type: SET name: name operator: ALL elements: - type: type groupId: 0 locked: true description: string evaluationMode: stackable evaluationScope: cartItem updatedBy: Jane Doe evaluationTree: applicationId: 322 id: 6 version: 3 set: type: SET name: name operator: ALL elements: - type: type groupId: 0 locked: true description: string evaluationMode: stackable evaluationScope: cartItem updatedBy: Jane Doe required: true strikethrough_notification: post: operationId: strikethroughLabelingNotification summary: Strikethrough pricing updated tags: - Strikethrough pricing notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) listing the changes in the pricing of your [cart item catalog](/docs/product/account/dev-tools/managing-cart-item-catalogs).' content: application/json: schema: $ref: '#/components/schemas/StrikethroughLabelingNotification' examples: StrikethroughNotification: value: applicationId: 322 currentBatch: 1 totalBatches: 10 trigger: id: 1 type: CATALOG_SYNC triggeredAt: '2020-06-10T09:05:27.993483Z' totalAffectedItems: 1500 payload: catalogId: 2 catalogVersion: 10 changedItems: - id: 1 catalogId": 10 sku: SKU1241028 version: 6 price: 100 evaluatedAt: '2020-06-10T09:05:27.993483Z' effects: - campaignId: 3 rulesetId: 11 ruleIndex: 2 ruleName: Add 2 points type: setDiscountPerItem props: name: 1EuroOff value: 1 NotificationType: StrikethroughPrice sentAt: '2020-06-10T09:05:29.123483Z' ScheduledStrikethroughNotification: value: version: v2 validFrom: '2021-07-20T22:00:00Z' applicationId: 322 currentBatch: 1 totalBatches: 10 trigger: id: 1 type: CATALOG_SYNC triggeredAt: '2020-06-10T09:05:27.993483Z' totalAffectedItems: 1500 payload: catalogId: 2 catalogVersion: 10 changedItems: - id: 1 catalogId": 10 sku: SKU1241028 version: 6 price: 100 evaluatedAt: '2020-06-10T09:05:27.993483Z' effects: - campaignId: 3 startTime: '2021-07-20T22:00:00Z' endTime: '2021-10-01T02:00:00Z' rulesetId: 11 ruleIndex: 2 ruleName: Add 2 points type: setDiscountPerItem props: name: 1EuroOff value: 1 NotificationType: StrikethroughPrice sentAt: '2020-06-10T09:05:29.123483Z' ScheduledMemberStrikethroughNotification: value: version: v2 validFrom: '2021-07-20T22:00:00Z' applicationId: 322 currentBatch: 1 totalBatches: 10 trigger: id: 1 type: CATALOG_SYNC triggeredAt: '2020-06-10T09:05:27.993483Z' totalAffectedItems: 1500 payload: catalogId: 2 catalogVersion: 10 changedItems: - id: 1 catalogId": 10 sku: SKU1241028 version: 6 price: 100 evaluatedAt: '2020-06-10T09:05:27.993483Z' effects: - campaignId: 3 startTime: '2021-07-20T22:00:00Z' endTime: '2021-10-01T02:00:00Z' rulesetId: 11 ruleIndex: 2 ruleName: Add 2 points type: setDiscountPerItem props: name: 10% off members only value: 9 NotificationType: StrikethroughPrice sentAt: '2020-06-10T09:05:29.123483Z' required: true coupon_creation: post: operationId: createCouponData summary: Coupon created tags: - Coupon notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: |- The [notification](/docs/product/applications/application-notifications/overview) indicating that one of the following coupon-related changes occurred: - Coupon created (via the Campaign Manager or [Create coupons](/management-api#tag/Coupons/operation/createCoupons) endpoint). - Coupon created for multiple recipients (via the [Create coupons for multiple recipients](/management-api#tag/Coupons/operation/createCouponsForMultipleRecipients) endpoint). - Coupon created (as a result of the [couponCreated](/docs/dev/integration-api/api-effects#couponcreated) API effect, triggered by the Rule Engine). content: application/json: schema: $ref: '#/components/schemas/CreateCouponData' examples: LessThan1000Coupons: value: TypeOfChange: campaign_manager Operation: CouponCreated EmployeeName: Franziska Schneider NotificationType: CouponCreated totalResultSize: 2 data: - id: 1 created: '2023-01-31T15:19:25.18417+01:00' campaignId: 1 value: 73KXKKFP usageLimit: 1 reservationLimit: 0 usageCounter: 0 attributes: {} reservation: true batchId: nqylhnni - id: 2 created: '2023-01-31T15:19:25.18417+01:00' campaignId: 1 value: BH3CXXLW usageLimit: 1 reservationLimit: 0 usageCounter: 0 attributes: {} reservation: true batchId: nqylhnni MoreThan1000Coupons: value: TypeOfChange: campaign_manager Operation: CouponCreated EmployeeName: Franziska Schneider NotificationType: CouponCreated BatchID: nqylhnni required: true coupon_update_delete: post: operationId: couponsData summary: Coupon updated or deleted tags: - Coupon notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: |- The [notification](/docs/product/applications/application-notifications/overview) indicating that one of the following coupon-related changes occurred: - Coupon updated (via the Campaign Manager or [Update coupon](/management-api#tag/Coupons/operation/updateCoupon) endpoint). - Coupon deleted (via the Campaign Manager or [Delete coupon](/management-api#tag/Coupons/operation/deleteCoupon) endpoint). - Coupon updated (as a result of the [updateAttribute](/docs/dev/integration-api/api-effects#updateattribute) API effect, triggered by the Rule Engine). content: application/json: schema: $ref: '#/components/schemas/CouponsNotificationData' example: TypeOfChange: campaign_manager Operation: CouponsUpdated EmployeeName: Franziska Schneider NotificationType: CouponsUpdated BatchID: nqylhnni ApplicationID: 5 CampaignID: 3 required: true creation_coupons_asynchronous: post: operationId: asyncCouponsData summary: Coupons created asynchronously tags: - Coupon notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: |- The [notification](/docs/product/applications/application-notifications/overview) indicating that up to 5 million coupons were created asynchronously via the [Create coupons asynchronously](/management-api#tag/Coupons/operation/createCouponsAsync) 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](/management-api#tag/Coupons/operation/exportCoupons) endpoint along with the `batchid`, which indicates the batch to which the coupons belong. content: application/json: schema: $ref: '#/components/schemas/AsyncCouponsData' example: TypeOfChange: campaign_manager Operation: AsyncCouponsCreated EmployeeName: Franziska Schneider NotificationType: AsyncCouponsCreated BatchID: nqylhnni required: true update_coupons: post: operationId: updateCouponsData summary: Coupons updated tags: - Coupon notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: |- The [notification](/docs/product/applications/application-notifications/overview) indicating that coupons were updated via the [Update coupons](/management-api#tag/Coupons/operation/updateCouponBatch) endpoint. **Tip:** To retrieve information about the generated coupons, after receiving the notification, use the [Export coupons](/management-api#tag/Coupons/operation/exportCoupons) endpoint along with the `batchid`, which indicates the batch to which the coupons belong. content: application/json: schema: $ref: '#/components/schemas/UpdateCouponsData' example: TypeOfChange: campaign_manager Operation: CouponsUpdated EmployeeName: Franziska Schneider NotificationType: CouponsUpdated BatchID: nqylhnni ApplicationID: 5 CampaignID: 3 required: true delete_coupons: post: operationId: deleteCouponsData summary: Coupons deleted tags: - Coupon notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: |- The [notification](/docs/product/applications/application-notifications/overview) indicating that coupons were deleted via the [Delete coupons](/management-api#tag/Coupons/operation/deleteCoupons) endpoint. **Tip:** To retrieve information about the generated coupons, after receiving the notification, use the [Export coupons](/management-api#tag/Coupons/operation/exportCoupons) endpoint along with the `batchid`, which indicates the batch to which the coupons belong. content: application/json: schema: $ref: '#/components/schemas/DeleteCouponsData' example: TypeOfChange: campaign_manager Operation: CouponsDeleted EmployeeName: Franziska Schneider NotificationType: CouponsDeleted BatchID: nqylhnni ApplicationID: 5 CampaignID: 3 TotalResultSize: 200 required: true expiring_loyalty_points_notification: post: operationId: expiringPointsNotification summary: Expiring points tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) reminding users that their active loyalty points will expire soon.' content: application/json: schema: $ref: '#/components/schemas/ExpiringPointsNotification' example: TotalResultSize: 1 Data: - ExpiryDate: '2019-08-24' LoyaltyProgramID: 5 CustomerProfileID: URNGV8294NV AmountOfExpiringPoints: 10.99 SubledgerID: sub-123 NotificationType: LoyaltyPointsExpiring required: true expiring_loyalty_card_points_notification: post: operationId: expiringCardPointsNotification summary: Expiring card points tags: - Loyalty card notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) reminding users that their active loyalty points will expire soon.' content: application/json: schema: $ref: '#/components/schemas/ExpiringCardPointsNotification' example: TotalResultSize: 1 Data: - ExpiryDate: '2019-08-24' LoyaltyProgramID: 5 AmountOfExpiringPoints: 10.99 SubledgerID: sub-123 CardIdentifier: summer-loyalty-card-0543 UsersPerCardLimit: 5 Profiles: - URNGV8294NV NotificationType: LoyaltyCardPointsExpiring required: true added_deducted_loyalty_points_notification: post: operationId: addedDeductedPointsNotification summary: Added or deducted points tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users when loyalty points are added or deducted.' content: application/json: schema: $ref: '#/components/schemas/AddedDeductedPointsNotification' example: 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 required: true added_deducted_loyalty_points_balances_notification: post: operationId: addedDeductedPointsBalancesNotification summary: Added or deducted points with current balance tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users when loyalty points are added or deducted, including the current balance of points.' content: application/json: schema: $ref: '#/components/schemas/AddedDeductedPointsBalancesNotification' example: ProfileIntegrationID: URNGV8294NV LoyaltyProgramID: 5 SubledgerID: sub-123 TypeOfChange: campaign_manager EmployeeName: Franziska Schneider UserID: 25 SessionIntegrationID: cc53e4fa-547f-4f5e-8333-76e05c381f67 NotificationType: LoyaltyAddedDeductedPointsBalances CurrentPoints: 10.99 Actions: - Amount: 10.99 Reason: Compensation Operation: addition StartDate: '2023-01-24T14:15:22Z' ExpiryDate: '2024-01-24T14:15:22Z' required: true pending_active_points_notification: post: operationId: pendingActivePointsNotification summary: Pending points tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users that their pending points will become active soon.' content: application/json: schema: $ref: '#/components/schemas/PendingActivePointsNotification' example: TotalResultSize: 1 Data: - LoyaltyProgramID: 5 SubledgerID: SL001 CustomerProfileID: URNGV8294NV Points: 10.99 ActiveOn: '2023-08-20T12:22:00+02:00' ExpireOn: '2023-09-01T12:23:00+02:00' SessionIntegrationID: cc53e4fa-547f-4f5e-8333-76e05c381f67 NotificationType: LoyaltyPointsPendingToActive required: true tier_upgrade_notification: post: operationId: tierUpgradeNotification summary: Tier upgrade tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users when a loyalty tier upgrade occurs.' content: application/json: schema: $ref: '#/components/schemas/TierUpgradeNotification' example: TotalResultSize: 1 Data: - CustomerProfileID: URNGV8294NV LoyaltyProgramID: 5 SubledgerID: SL001 CurrentTier: Silver CurrentPoints: 120.55 OldTier: Bronze PointsRequiredToTheNextTier: 23.51 NextTier: Gold TierExpirationDate: '2023-12-01T12:23:00+02:00' TimestampOfTierChange: '2023-10-26T12:23:00+02:00' NotificationType: TierUpgrade required: true tier_downgrade_notification: post: operationId: tierDowngradeNotification summary: Tier downgrade tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users when a loyalty tier downgrade occurs.' content: application/json: schema: $ref: '#/components/schemas/TierDowngradeNotification' example: TotalResultSize: 1 Data: - CustomerProfileID: URNGV8294NV LoyaltyProgramID: 5 SubledgerID: SL001 CurrentTier: Silver CurrentPoints: 120.55 OldTier: Gold TierExpirationDate: '2023-12-01T12:23:00+02:00' TimestampOfTierChange: '2023-10-26T12:23:00+02:00' NotificationType: TierDowngrade required: true tier_will_downgrade_notification: post: operationId: tierWillDowngradeNotification summary: Upcoming tier downgrade tags: - Loyalty notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) reminding users of an upcoming loyalty tier downgrade.' content: application/json: schema: $ref: '#/components/schemas/TierWillDowngradeNotification' example: TotalResultSize: 1 Data: - CustomerProfileID: URNGV8294NV LoyaltyProgramID: 5 SubledgerID: SL001 CurrentTier: Silver CurrentPoints: 120.55 PointsRequiredToRemain: 23.51 NextTier: Bronze TierExpirationDate: '2023-12-01T12:23:00+02:00' NotificationType: TierWillDowngrade required: true expiring_coupons_notification: post: operationId: expiringCouponsNotification summary: Expiring coupons tags: - Coupon notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/applications/application-notifications/overview) reminding users of expiring coupons.' content: application/json: schema: $ref: '#/components/schemas/ExpiringCouponsNotification' example: TotalResultSize: 1 Data: - CouponValue: XMAS-20-2021 CreatedDate: '2024-07-24T14:15:22Z' ValidFrom: '2024-10-24T14:15:22Z' ValidUntil: '2024-12-24T14:15:22Z' CampaignId: 3 CustomerProfileId: URNGV8294NV UsageLimit: 100 UsageCounter: 10 BatchId: 32535-43255 Attributes: {} NotificationType: CouponCodeExpiring required: true card_added_deducted_loyalty_points_notification: post: operationId: cardAddedDeductedPointsNotification summary: Added or deducted card points tags: - Loyalty card notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users when loyalty points are added or deducted.' content: application/json: schema: $ref: '#/components/schemas/CardAddedDeductedPointsNotification' example: ProfileIntegrationIDs: - yJSObdNNtOetCHWHPFuz - test-user-4zoj1c 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 required: true card_added_deducted_loyalty_points_balances_notification: post: operationId: cardAddedDeductedPointsBalancesNotification summary: Added or deducted card points with current balance tags: - Loyalty card notifications parameters: - $ref: '#/components/parameters/x-uuid' requestBody: description: 'The [notification](/docs/product/loyalty-programs/loyalty-notifications/overview) informing users when loyalty points are added or deducted from a card, including the current balance of points.' content: application/json: schema: $ref: '#/components/schemas/CardAddedDeductedPointsBalancesNotification' example: LoyaltyProgramID: 5 SubledgerID: sub-123 CardIdentifier: 123-456-789ATBC UsersPerCardLimit: 10 ProfileIntegrationIDs: - yJSObdNNtOetCHWHPFuz - test-user-4zoj1c TypeOfChange: campaign_manager EmployeeName: Franziska Schneider UserID: 25 SessionIntegrationID: cc53e4fa-547f-4f5e-8333-76e05c381f67 NotificationType: LoyaltyCardAddedDeductedPointsBalances CurrentPoints: 10.99 Actions: - Amount: 10.99 Reason: Compensation Operation: addition StartDate: '2023-01-24T14:15:22Z' ExpiryDate: '2024-01-24T14:15:22Z' required: true components: securitySchemes: {} schemas: ApplicationNotification: type: object properties: event: description: | Event type. It can be one of the following: ['campaign_evaluation_tree_changed'] type: string oneOf: - $ref: '#/components/schemas/CampaignEvaluationTreeChangedNotification' StrikethroughLabelingNotification: type: object description: The strikethrough labels notification for an application. properties: version: type: string description: The version of the strikethrough pricing notification. enum: - v2 validFrom: type: string format: date-time description: | Timestamp at which the strikethrough pricing update becomes valid. Set for **scheduled** strikethrough pricing updates (version: v2) only. example: '2021-07-20T22:00:00Z' applicationId: type: integer description: The ID of the Application to which the catalog items labels belongs. example: 322 currentBatch: type: integer description: The batch number of the notification. Notifications might be sent in different batches. example: 1 totalBatches: type: integer description: The total number of batches for the notification. example: 10 trigger: $ref: '#/components/schemas/StrikethroughTrigger' type: object changedItems: type: array items: $ref: '#/components/schemas/StrikethroughChangedItem' NotificationType: type: string description: The type of notification. enum: - StrikethroughPrice sentAt: type: string description: Timestamp at which the notification was sent. format: date-time Entity: type: object properties: id: type: integer description: The internal ID of this entity. example: 6 created: type: string format: date-time description: The time this entity was created. example: '2020-06-10T09:05:27.993483Z' ApplicationEntity: type: object properties: applicationId: type: integer description: The ID of the Application that owns this entity. example: 322 PriceDetail: type: object properties: price: type: number format: float description: The value of this price type. example: 90 adjustmentContextId: type: string description: The context identifier of the selected price adjustment. example: summer25 adjustmentReferenceId: type: string format: uuid description: The reference identifier of the selected price adjustment for this SKU. example: 68851723-e6fa-488f-ace9-112581e6c19b adjustmentEffectiveFrom: type: string format: date-time description: The date and time from which the price adjustment is effective. example: '2025-05-25T00:00:00Z' adjustmentEffectiveUntil: type: string format: date-time description: The date and time until which the price adjustment is effective. example: '2025-05-30T00:00:00Z' CouponEntity: type: object properties: id: type: integer description: The internal ID of the coupon. example: 6 created: type: string format: date-time description: The time the coupon was created. example: '2020-06-10T09:05:27.993483Z' CampaignEntity: type: object properties: campaignId: type: integer title: Campaign ID description: The ID of the campaign that owns this entity. example: 211 CouponValue: type: object properties: value: type: string title: Coupon Code description: The coupon code. minLength: 4 example: XMAS-20-2021 CouponConstraints: type: object properties: usageLimit: type: integer minimum: 0 maximum: 999999 example: 100 description: | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. discountLimit: type: number minimum: 0 maximum: 1000000000000000 example: 30 description: | The total discount value that the code can give. Typically used to represent a gift card value. reservationLimit: type: integer minimum: 0 maximum: 999999 example: 45 description: | The number of reservations that can be made with this coupon code. startDate: type: string format: date-time example: '2020-01-24T14:15:22Z' description: Timestamp at which point the coupon becomes valid. expiryDate: type: string format: date-time example: '2023-08-24T14:15:22Z' description: Expiration date of the coupon. Coupon never expires if this is omitted. LimitConfig: type: object properties: action: type: string description: | The limitable action to which this limit applies. For example: - `setDiscount` - `setDiscountEffect` - `redeemCoupon` - `createCoupon` example: createCoupon limit: type: number minimum: 0 example: 1000 description: The value to set for the limit. period: description: The period on which the budget limit recurs. type: string enum: - daily - weekly - monthly - yearly example: yearly entities: type: array description: The entity that this limit applies to. example: - Coupon items: type: string enum: - Coupon - Referral - Profile - Identifier - Store - Session CouponLimitConfigs: type: object properties: limits: type: array description: | 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. items: $ref: '#/components/schemas/LimitConfig' Coupon: allOf: - $ref: '#/components/schemas/CouponEntity' - $ref: '#/components/schemas/CampaignEntity' - $ref: '#/components/schemas/CouponValue' - $ref: '#/components/schemas/CouponConstraints' - $ref: '#/components/schemas/CouponLimitConfigs' - type: object properties: usageCounter: type: integer title: Total coupon redemptions example: 10 description: The number of times the coupon has been successfully redeemed. discountCounter: type: number title: Discounts Given description: The amount of discounts given on rules redeeming this coupon. Only usable if a coupon discount budget was set for this coupon. example: 10 discountRemainder: type: number title: Coupon Discount Remainder description: The remaining discount this coupon can give. example: 5 reservationCounter: type: number title: Number of reservations description: The number of times this coupon has been reserved. example: 1 attributes: type: object title: Attributes of coupon description: Custom attributes associated with this coupon. referralId: type: integer title: Advocate ID description: The integration ID of the referring customer (if any) for whom this coupon was created as an effect. example: 326632952 recipientIntegrationId: title: Recipient ID example: URNGV8294NV type: string maxLength: 1000 description: The Integration ID of the customer that is allowed to redeem this coupon. importId: title: Import ID type: integer description: The ID of the Import which created this coupon. example: 4 reservation: title: Reservation Type type: boolean example: false description: | Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code. default: true batchId: title: Batch ID type: string description: The id of the batch the coupon belongs to. example: 32535-43255 isReservationMandatory: title: Is reservation mandatory type: boolean example: false description: An indication of whether the code can be redeemed only if it has been reserved first. default: false implicitlyReserved: title: Is coupon implicitly reserved for all customers description: An indication of whether the coupon is implicitly reserved for all customers. type: boolean example: false EntityWithTalangVisibleID: type: object properties: id: type: integer description: Unique ID for this entity. example: 4 created: type: string format: date-time description: The exact moment this entity was created. example: '2020-06-10T09:05:27.993483Z' UserEntity: type: object properties: userId: type: integer description: The ID of the user associated with this entity. example: 388 CodeGeneratorSettings: type: object properties: validCharacters: type: array description: | List of characters used to generate the random parts of a code. example: - A - B - C - D - E - F - G - H - I - J - K - L - M - 'N' - O - P - Q - R - S - T - U - V - W - X - 'Y' - Z - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' items: type: string couponPattern: type: string description: | The pattern used to generate codes, such as coupon codes, referral codes, and loyalty cards. The character `#` is a placeholder and is replaced by a random character from the `validCharacters` set. maxLength: 100 minLength: 3 pattern: '^[A-Za-z0-9_#-]*$' example: SUMMER-####-#### additionalProperties: false BaseCampaign: type: object properties: name: type: string title: Campaign Name description: A user-facing name for this campaign. minLength: 1 example: Summer promotions description: type: string title: Campaign Description description: A detailed description of the campaign. example: Campaign for all summer 2021 promotions startTime: type: string format: date-time description: Timestamp when the campaign will become active. example: '2021-07-20T22:00:00Z' endTime: type: string format: date-time description: Timestamp when the campaign will become inactive. example: '2021-09-22T22:00:00Z' attributes: type: object description: Arbitrary properties associated with this campaign. state: type: string enum: - enabled - disabled - archived default: enabled example: enabled description: | A disabled or archived campaign is not evaluated for rules or coupons. activeRulesetId: type: integer description: | [ID of Ruleset](https://docs.talon.one/management-api#operation/getRulesets) this campaign applies on customer session evaluation. example: 6 tags: type: array description: A list of tags for the campaign. example: - summer maxItems: 50 items: type: string minLength: 1 maxLength: 50 features: type: array description: The features enabled in this campaign. example: - coupons - referrals items: type: string enum: - coupons - referrals - loyalty - giveaways - strikethrough - achievements couponSettings: $ref: '#/components/schemas/CodeGeneratorSettings' referralSettings: $ref: '#/components/schemas/CodeGeneratorSettings' limits: type: array description: | The set of [budget limits](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets) for this campaign. items: $ref: '#/components/schemas/LimitConfig' campaignGroups: type: array description: | The IDs of the [campaign groups](https://docs.talon.one/docs/product/account/managing-campaign-groups) this campaign belongs to. example: - 1 - 3 items: type: integer type: type: string title: Type enum: - cartItem - advanced default: advanced example: advanced description: | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. linkedStoreIds: type: array description: | 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](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) that references a linked store. items: type: integer example: - 1 - 2 - 3 CampaignBudget: type: object properties: action: type: string description: | The limitable action to which this limit applies. For example: - `setDiscount` - `setDiscountEffect` - `redeemCoupon` - `createCoupon` example: createCoupon limit: type: number minimum: 0 example: 1000 description: The value to set for the limit. counter: type: number minimum: 0 example: 42 description: The number of occurrences of the limited action in the context of the campaign. AdditionalCampaignProperties: type: object properties: budgets: type: array items: $ref: '#/components/schemas/CampaignBudget' description: | 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: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Number of coupons redeemed in the campaign. example: 163 referralRedemptionCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Number of referral codes redeemed in the campaign. example: 3 discountCount: type: number description: | This property is **deprecated**. The count should be available under *budgets* property. Total amount of discounts redeemed in the campaign. example: 288 discountEffectCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of times discounts were redeemed in this campaign. example: 343 couponCreationCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of coupons created by rules in this campaign. example: 16 customEffectCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of custom effects triggered by rules in this campaign. example: 0 referralCreationCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of referrals created by rules in this campaign. example: 8 addFreeItemEffectCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of times the [add free item effect](https://docs.talon.one/docs/dev/integration-api/api-effects#addfreeitem) can be triggered in this campaign. example: 0 awardedGiveawaysCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of giveaways awarded by rules in this campaign. example: 9 createdLoyaltyPointsCount: type: number description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points created by rules in this campaign. example: 9 createdLoyaltyPointsEffectCount: type: integer description: | 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. example: 2 redeemedLoyaltyPointsCount: type: number description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of loyalty points redeemed by rules in this campaign. example: 8 redeemedLoyaltyPointsEffectCount: type: integer description: | 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. example: 9 callApiEffectCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of webhooks triggered by rules in this campaign. example: 0 reservecouponEffectCount: type: integer description: | This property is **deprecated**. The count should be available under *budgets* property. Total number of reserve coupon effects triggered by rules in this campaign. example: 9 lastActivity: type: string format: date-time example: '2022-11-10T23:00:00Z' description: Timestamp of the most recent event received by this campaign. updated: type: string format: date-time example: '2022-10-97T35:00:00Z' description: | 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: type: string description: Name of the user who created this campaign if available. example: John Doe updatedBy: type: string description: Name of the user who last updated this campaign if available. example: Jane Doe templateId: type: integer description: The ID of the Campaign Template this Campaign was created from. example: 3 frontendState: type: string description: The campaign state displayed in the Campaign Manager. enum: - expired - scheduled - running - disabled - archived - staged example: running storesImported: type: boolean description: Indicates whether the linked stores were imported via a CSV file. example: true valueMapsIds: type: array description: A list of value map IDs for the campaign. items: type: integer example: - 100 - 215 CampaignVersions: type: object properties: revisionFrontendState: type: string description: The campaign revision state displayed in the Campaign Manager. enum: - revised - pending example: revised activeRevisionId: type: integer description: | ID of the revision that was last activated on this campaign. example: 6 activeRevisionVersionId: type: integer description: | ID of the revision version that is active on the campaign. example: 6 version: type: integer description: | Incrementing number representing how many revisions have been activated on this campaign, starts from 0 for a new campaign. example: 6 currentRevisionId: type: integer description: | ID of the revision currently being modified for the campaign. example: 6 currentRevisionVersionId: type: integer description: | ID of the latest version applied on the current revision. example: 6 stageRevision: type: boolean description: | Flag for determining whether we use current revision when sending requests with staging API key. example: false default: false Campaign: allOf: - $ref: '#/components/schemas/EntityWithTalangVisibleID' - $ref: '#/components/schemas/ApplicationEntity' - $ref: '#/components/schemas/UserEntity' - $ref: '#/components/schemas/BaseCampaign' - $ref: '#/components/schemas/AdditionalCampaignProperties' - $ref: '#/components/schemas/CampaignVersions' AccountEntity: type: object properties: accountId: type: integer description: The ID of the account that owns this entity. example: 3886 MutableEntity: type: object properties: modified: type: string format: date-time description: The time this entity was last modified. example: '2021-09-12T10:12:42Z' AudienceIntegrationID: type: object properties: integrationId: type: string minLength: 1 maxLength: 1000 description: The ID of this audience in the third-party integration. example: 382370BKDB946 CampaignSetBranchNode: type: object additionalProperties: false properties: type: type: string description: Indicates the node type. enum: - SET example: SET name: type: string description: Name of the set. example: name operator: type: string description: An indicator of how the set operates on its elements. enum: - ALL - FIRST example: ALL elements: type: array description: Child elements of this set. items: $ref: '#/components/schemas/CampaignSetNode' groupId: type: integer description: The ID of the campaign set. locked: type: boolean description: An indicator of whether the campaign set is locked for modification. description: type: string description: A description of the campaign set. evaluationMode: type: string enum: - stackable - listOrder - lowestDiscount - highestDiscount description: The mode by which campaigns in the campaign evaluation group are evaluated. evaluationScope: type: string enum: - cartItem - session description: The evaluation scope of the campaign evaluation group. CampaignSetLeafNode: type: object additionalProperties: false properties: type: type: string description: Indicates the node type. enum: - CAMPAIGN campaignId: type: integer description: ID of the campaign CampaignSetNode: type: object properties: type: type: string example: type oneOf: - $ref: '#/components/schemas/CampaignSetBranchNode' - $ref: '#/components/schemas/CampaignSetLeafNode' CampaignSet: allOf: - $ref: '#/components/schemas/ApplicationEntity' - type: object properties: id: type: integer description: The internal ID of this entity. example: 6 version: type: integer minimum: 1 description: Version of the campaign set. example: 3 set: $ref: '#/components/schemas/CampaignSetBranchNode' updatedBy: type: string description: 'Name of the user who last updated this campaign set, if available.' example: Jane Doe StrikethroughSetDiscountPerItemEffectProps: type: object description: setDiscountPerItem effect in strikethrough pricing payload. properties: name: description: effect name. type: string example: 1EuroOff value: description: discount value. example: 1 StrikethroughCustomEffectPerItemProps: type: object description: customEffectPerItem effect in strikethrough pricing payload. properties: effectId: description: ID of the effect. type: integer example: 1 name: type: string description: The type of the custom effect. example: my_custom_effect payload: description: The JSON payload of the custom effect. type: object x-arbitraryJSON: true StrikethroughSetDiscountPerItemMemberEffectProps: type: object description: setDiscountPerItem member effect in strikethrough pricing payload. properties: name: description: effect name. type: string example: 10% off members only value: description: discount value. example: 9 StrikethroughEffectProps: type: object oneOf: - $ref: '#/components/schemas/StrikethroughSetDiscountPerItemEffectProps' - $ref: '#/components/schemas/StrikethroughCustomEffectPerItemProps' - $ref: '#/components/schemas/StrikethroughSetDiscountPerItemMemberEffectProps' LabelTargetNone: type: object description: Represents the target type when no entity is selected. properties: type: type: string enum: - NONE AudienceReference: allOf: - type: object properties: id: type: integer description: The ID of the audience. integration: type: string description: The third-party integration of the audience. - $ref: '#/components/schemas/AudienceIntegrationID' LabelTargetAudience: type: object description: | Represents the targeted audience. properties: type: type: string enum: - AUDIENCE audience: $ref: '#/components/schemas/AudienceReference' LabelTarget: type: object oneOf: - $ref: '#/components/schemas/LabelTargetNone' - $ref: '#/components/schemas/LabelTargetAudience' StrikethroughEffect: type: object description: The effect produced for the catalog item. properties: campaignId: type: integer description: The ID of the campaign that effect belongs to. example: 3 rulesetId: type: integer description: The ID of the ruleset containing the rule that triggered this effect. example: 11 ruleIndex: type: integer description: The position of the rule that triggered this effect within the ruleset. example: 2 ruleName: type: string description: The name of the rule that triggered this effect. example: Add 2 points type: type: string description: The type of this effect. example: setDiscountPerItem props: $ref: '#/components/schemas/StrikethroughEffectProps' description: Arbitrary properties associated with this effect type. startTime: type: string format: date-time description: The start of the time frame where the effect is active in UTC. example: '2021-07-20T22:00:00Z' endTime: type: string format: date-time description: The end of the time frame where the effect is active in UTC. example: '2021-10-01T02:00:00Z' selectedPriceType: type: string example: member description: The selected price type for this cart item (e.g. the price for members only). selectedPrice: type: number example: 100 description: 'The value of the selected price type to apply to the SKU targeted by this effect, before any discounts are applied.' adjustmentReferenceId: type: string description: The reference identifier of the selected price adjustment for this cart item. example: 68851723-e6fa-488f-ace9-112581e6c19b targets: type: array description: A list of entities (e.g. audiences) targeted by this effect. items: $ref: '#/components/schemas/LabelTarget' Binding: type: object properties: name: type: string description: A descriptive name for the value to be bound. example: my property type: type: string description: | The kind of binding. Possible values are: - `bundle` - `cartItemFilter` - `subledgerBalance` - `templateParameter` example: templateParameter expression: type: array description: A Talang expression that will be evaluated and its result attached to the name of the binding. example: - string1 - string2 items: {} valueType: type: string description: | Can be one of the following: - `string` - `number` - `boolean` example: string minValue: type: number description: The minimum value allowed for this placeholder. example: 0 maxValue: type: number description: The maximum value allowed for this placeholder. example: 19.9 attributeId: type: integer title: Attribute ID description: Id of the attribute attached to the placeholder. example: 100 description: type: string description: Describes the placeholder field and value in the template. This description can be used when creating campaigns from this template. example: This is a template parameter of type `number`. Rule: type: object properties: id: type: string format: uuid description: A unique identifier for the rule. example: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 parentId: type: string format: uuid description: The ID of the rule that was copied to create this rule. example: 7fa800a8-ac8d-4792-85dc-c4650dcc8f23 title: type: string description: A short description of the rule. example: Give discount via coupon description: type: string description: 'A longer, more detailed description of the rule.' example: Creates a discount when a coupon is valid bindings: type: array description: An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array. items: $ref: '#/components/schemas/Binding' condition: type: array description: A Talang expression that will be evaluated in the context of the given event. minItems: 1 example: - and - - couponValid items: {} effects: type: array description: An array of effectful Talang expressions in arrays that will be evaluated when a rule matches. items: type: array items: {} example: - catch - - noop - - setDiscount - 10% off - - '*' - - . - Session - Total - - / - 10 - 100 NewRuleset: type: object properties: rules: type: array description: Set of rules to apply. items: $ref: '#/components/schemas/Rule' strikethroughRules: type: array description: Set of rules to apply for strikethrough. items: $ref: '#/components/schemas/Rule' bindings: type: array description: An array that provides objects with variable names (name) and talang expressions to whose result they are bound (expression) during rule evaluation. The order of the evaluation is decided by the position in the array. items: $ref: '#/components/schemas/Binding' example: [] rbVersion: type: string description: The version of the rulebuilder used to create this ruleset. example: v2 activate: type: boolean description: Indicates whether this created ruleset should be activated for the campaign that owns it. example: true Ruleset: allOf: - $ref: '#/components/schemas/Entity' - $ref: '#/components/schemas/UserEntity' - $ref: '#/components/schemas/NewRuleset' - type: object properties: campaignId: type: integer title: Campaign ID description: The ID of the campaign that owns this entity. example: 320 templateId: type: integer title: Campaign Template ID description: The ID of the campaign template that owns this entity. example: 3 activatedAt: type: string format: date-time description: Timestamp indicating when this Ruleset was activated. UpdateCollection: type: object properties: description: type: string description: A short description of the purpose of this collection. example: My collection of SKUs subscribedApplicationsIds: type: array description: A list of the IDs of the Applications where this collection is enabled. example: - 1 - 2 - 3 items: type: integer NewCollection: allOf: - $ref: '#/components/schemas/UpdateCollection' - type: object properties: name: type: string minLength: 1 pattern: '^[^[:cntrl:]\s][^[:cntrl:]]*$' description: The name of this collection. example: My collection CollectionWithoutPayload: allOf: - $ref: '#/components/schemas/Entity' - $ref: '#/components/schemas/AccountEntity' - $ref: '#/components/schemas/MutableEntity' - $ref: '#/components/schemas/NewCollection' - type: object properties: modifiedBy: type: integer description: ID of the user who last updated this effect if available. example: 48 createdBy: type: integer description: ID of the user who created this effect. example: 134 applicationId: type: integer description: The ID of the Application that owns this entity. example: 1 campaignId: type: integer description: The ID of the campaign that owns this entity. example: 7 CampaignNotificationBase: type: object properties: NotificationType: type: string description: The type of the notification example: CampaignNotification enum: - CampaignNotification TotalResultSize: type: integer description: The total size of the result set. CampaignNotificationItemBase: type: object properties: Event: description: | The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted'] type: string example: campaign_state_changed CampaignEvaluationPosition: type: object description: The campaign position within the evaluation tree. properties: groupId: type: integer example: 2 description: The ID of the campaign evaluation group the campaign belongs to. groupName: type: string description: The name of the campaign evaluation group the campaign belongs to. example: Summer campaigns position: type: integer description: The position of the campaign node in its parent group. example: 2 CampaignCreatedNotificationItem: allOf: - $ref: '#/components/schemas/CampaignNotificationItemBase' - type: object description: A notification regarding a campaign that was created. properties: campaign: $ref: '#/components/schemas/Campaign' type: object description: The campaign whose state changed. ruleset: $ref: '#/components/schemas/Ruleset' type: object description: The current ruleset. evaluationPosition: $ref: '#/components/schemas/CampaignEvaluationPosition' type: object description: The campaign position within the evaluation tree. CampaignCreatedNotification: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array items: $ref: '#/components/schemas/CampaignCreatedNotificationItem' description: A list of campaign notification data. CampaignStateChangedNotificationItem: allOf: - $ref: '#/components/schemas/CampaignNotificationItemBase' - type: object description: A notification regarding a campaign whose state changed. properties: campaign: $ref: '#/components/schemas/Campaign' type: object description: The campaign whose state changed. oldState: type: string description: | The campaign's old state. Can be one of the following: ['running', 'disabled', 'scheduled', 'expired', 'archived'] example: disabled newState: type: string description: | The campaign's new state. Can be one of the following: ['running', 'disabled', 'scheduled', 'expired', 'archived'] example: running ruleset: $ref: '#/components/schemas/Ruleset' type: object description: The current ruleset. CampaignStateChangedNotification: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array items: $ref: '#/components/schemas/CampaignStateChangedNotificationItem' description: A list of campaign notification data. CampaignRulesetChangedNotificationItem: allOf: - $ref: '#/components/schemas/CampaignNotificationItemBase' - type: object description: A notification regarding a campaign whose ruleset was changed. properties: campaign: $ref: '#/components/schemas/Campaign' type: object description: The campaign whose state changed. oldRuleset: $ref: '#/components/schemas/Ruleset' type: string description: 'The old ruleset, if the ruleset was changed.' ruleset: $ref: '#/components/schemas/Ruleset' type: string description: The current ruleset. CampaignRulesetChangedNotification: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array items: $ref: '#/components/schemas/CampaignRulesetChangedNotificationItem' description: A list of campaign notification data. CampaignEditedNotificationItem: allOf: - $ref: '#/components/schemas/CampaignNotificationItemBase' - type: object description: A notification regarding a campaign which was edited. properties: campaign: $ref: '#/components/schemas/Campaign' type: object description: The campaign whose state changed. oldCampaign: $ref: '#/components/schemas/Campaign' type: object description: The campaign before the change. ruleset: $ref: '#/components/schemas/Ruleset' type: object description: The current ruleset. CampaignEditedNotification: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array items: $ref: '#/components/schemas/CampaignEditedNotificationItem' description: A list of campaign notification data. CampaignCollectionEditedNotificationItem: allOf: - $ref: '#/components/schemas/CampaignNotificationItemBase' - type: object description: A notification regarding a collection that was edited. properties: campaign: $ref: '#/components/schemas/Campaign' type: object description: The current campaign. ruleset: $ref: '#/components/schemas/Ruleset' type: object description: The current ruleset. collection: $ref: '#/components/schemas/CollectionWithoutPayload' type: object description: The collection that was edited. CampaignCollectionEditedNotification: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array items: $ref: '#/components/schemas/CampaignCollectionEditedNotificationItem' description: A list of campaign notification data. CampaignDeletedNotificationItem: allOf: - $ref: '#/components/schemas/CampaignNotificationItemBase' - type: object description: A notification regarding a campaign that was deleted. properties: campaign: $ref: '#/components/schemas/Campaign' type: object description: The campaign whose state changed. deletedAt: type: string format: date-time example: '2022-11-10T23:00:00Z' description: Time when the campaign was deleted. CampaignDeletedNotification: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array items: $ref: '#/components/schemas/CampaignDeletedNotificationItem' description: A list of campaign notification data. CampaignEvaluationTreeChangedNotification: type: object description: Notification about an Application whose campaign evaluation tree changed. properties: applicationId: type: integer description: The ID of the Application whose campaign evaluation tree changed. example: 78 oldEvaluationTree: $ref: '#/components/schemas/CampaignSet' type: object description: The previous campaign evaluation tree. evaluationTree: $ref: '#/components/schemas/CampaignSet' type: object description: The new campaign evaluation tree. CampaignEvaluationTreeChangedMessage: allOf: - $ref: '#/components/schemas/CampaignNotificationBase' - type: object properties: Data: type: array description: The array of changes. items: $ref: '#/components/schemas/ApplicationNotification' StrikethroughTrigger: type: object description: Information about the event that triggered the strikethrough labeling. properties: id: type: integer description: The ID of the event that triggered the strikethrough labeling. example: 1 type: type: string description: The type of event that triggered the strikethrough labeling. example: CATALOG_SYNC triggeredAt: type: string description: The creation time of the event that triggered the strikethrough labeling. format: date-time example: '2020-06-10T09:05:27.993483Z' totalAffectedItems: type: integer description: The total number of items affected by the event that triggered the strikethrough labeling. format: date-time example: 1500 payload: type: object description: The arbitrary properties associated with this trigger type. example: catalogId: 2 catalogVersion: 100 StrikethroughChangedItem: type: object description: The information of affected items. properties: id: type: integer description: The ID of the event that triggered the strikethrough labeling. example: 1 catalogId: type: integer description: The ID of the catalog that the changed item belongs to. example: 10 sku: type: string description: The unique SKU of the changed item. example: SKU1241028 version: type: integer minimum: 1 description: The version of the changed item. example: 6 price: type: number description: The price of the changed item. example: 100 prices: type: object description: | A map of keys and values representing the price types and related price adjustment details for this cart item. The keys correspond to the `priceType` names. additionalProperties: $ref: '#/components/schemas/PriceDetail' example: member: price: 90 adjustmentReferenceId: 68851723-e6fa-488f-ace9-112581e6c19b adjustmentEffectiveFrom: '2025-05-25T00:00:00Z' adjustmentEffectiveUntil: '2025-05-30T00:00:00Z' base: price: 100 evaluatedAt: type: string description: The evaluation time of the changed item. format: date-time example: '2020-06-10T09:05:27.993483Z' effects: type: array items: $ref: '#/components/schemas/StrikethroughEffect' ExtendedCoupon: allOf: - $ref: '#/components/schemas/Coupon' - type: object properties: ApplicationId: type: integer format: int64 description: The ID of the application. CreateCouponData: type: object properties: data: type: array description: '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.' items: $ref: '#/components/schemas/ExtendedCoupon' example: - id: 1 created: '2023-01-31T15:19:25.18417+01:00' campaignId: 1 value: 73KXKKFP usageLimit: 1 reservationLimit: 0 usageCounter: 0 attributes: {} reservation: true batchId: nqylhnni - id: 2 created: '2023-01-31T15:19:25.18417+01:00' campaignId: 1 value: BH3CXXLW usageLimit: 1 reservationLimit: 0 usageCounter: 0 attributes: {} reservation: true batchId: nqylhnni totalResultSize: type: integer example: 1 BatchID: type: string description: | The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. example: haanlypn TypeOfChange: type: string description: '' example: campaign_manager Operation: type: string description: '' example: AsyncCouponsCreated EmployeeName: type: string description: '' example: Franziska Schneider NotificationType: type: string description: The type of the not enum: - CouponCreated CouponsNotificationData: type: object properties: TypeOfChange: type: string example: campaign_manager description: The type of change that occurred. Operation: type: string example: CouponUpdated description: The operation performed. EmployeeName: type: string example: Franziska Schneider description: The name of the employee associated with the operation. data: type: array items: $ref: '#/components/schemas/ExtendedCoupon' description: A list of extended coupon data. totalResultSize: type: integer example: 1 NotificationType: type: string example: CouponUpdated description: The type of the notification enum: - CouponUpdated - CouponDeleted AsyncCouponsData: type: object properties: BatchID: type: string description: | The ID of the batch to which the coupon belongs. **Note:** The Batch ID is generated when coupons are created. example: haanlypn TypeOfChange: type: string description: '' example: campaign_manager Operation: type: string description: '' example: AsyncCouponsCreated EmployeeName: type: string description: '' example: Franziska Schneider NotificationType: type: string description: The type of the notification enum: - AsyncCouponsCreated UpdateCouponsData: type: object properties: BatchID: type: string ApplicationID: type: integer format: int64 CampaignID: type: integer format: int64 TypeOfChange: type: string Operation: type: string EmployeeName: type: string NotificationType: type: string description: The type of the notification enum: - CouponsUpdated DeleteCouponsData: type: object properties: TypeOfChange: type: string Operation: type: string EmployeeName: type: string BatchID: type: string ApplicationID: type: integer format: int64 CampaignID: type: integer format: int64 TotalResultSize: type: integer format: int64 NotificationType: type: string description: The type of the notification enum: - CouponsDeleted ExpiringPointsData: type: object properties: ExpiryDate: type: string format: date description: The expiration date of loyalty points. LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 CustomerProfileID: type: string description: The integration ID of the customer profile that has expiring points. example: URNGV8294NV AmountOfExpiringPoints: type: number description: The amount of loyalty points that will be expired soon. example: 10.99 SubledgerID: type: string description: The ID of the subledger within the loyalty program where these points were added. example: sub-123 ExpiringPointsNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of expiring points. maxLength: 1000 items: $ref: '#/components/schemas/ExpiringPointsData' NotificationType: type: string description: The type of notification. enum: - LoyaltyPointsExpiring ExpiringCardPointsData: type: object properties: ExpiryDate: type: string format: date description: The expiration date of loyalty points. LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 AmountOfExpiringPoints: type: number description: The amount of loyalty points that will be expired soon. example: 10.99 SubledgerID: type: string description: The ID of the subledger within the loyalty program where these points were added. example: sub-123 CardIdentifier: type: string description: The alphanumeric identifier of the loyalty card. example: summer-loyalty-card-0543 UsersPerCardLimit: type: integer description: | The maximum number of customer profiles with which a card can be shared. This can be set to `0` for no limit. minimum: 0 example: 5 Profiles: type: array description: The integration IDs of the customer profiles linked to the card. items: type: string example: URNGV8294NV ExpiringCardPointsNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of expiring points. maxLength: 1000 items: $ref: '#/components/schemas/ExpiringCardPointsData' NotificationType: type: string description: The type of notification. enum: - LoyaltyCardPointsExpiring AddedDeductedPointsNotification: type: object properties: EmployeeName: type: string description: The name of the employee who added or deducted points. example: Franziska Schneider LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 NotificationType: type: string description: The type of notification. enum: - LoyaltyPointsDeducted - LoyaltyPointsAdded ProfileIntegrationID: type: string description: The integration ID of the customer profile to whom points were added or deducted. example: URNGV8294NV SessionIntegrationID: type: string description: The integration ID of the session through which the points were earned or lost. example: cc53e4fa-547f-4f5e-8333-76e05c381f67 SubledgerID: type: string description: The ID of the subledger within the loyalty program where these points were added. example: sub-123 TypeOfChange: type: string enum: - campaign_manager - rule_engine - management_api description: | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) UserID: type: integer description: The ID of the employee who added or deducted points. example: 25 Amount: type: number description: The amount of added or deducted loyalty points. example: 10.99 ExpiryDate: type: string format: date-time description: The expiration date for loyalty points. example: '2024-01-24T14:15:22Z' Operation: type: string description: The action (addition or deduction) made with loyalty points. enum: - addition - deduction Reason: type: string description: The reason for the points addition or deduction. example: Compensation StartDate: type: string format: date-time description: The start date for loyalty points. example: '2023-01-24T14:15:22Z' AddedDeductedPointsBalancesAction: type: object properties: Amount: type: number description: The amount of added or deducted loyalty points. example: 10.99 Reason: type: string description: The reason for the points addition or deduction. example: Compensation Operation: type: string description: The action (addition or deduction) made with loyalty points. enum: - addition - deduction StartDate: type: string format: date-time description: The start date for loyalty points. example: '2023-01-24T14:15:22Z' ExpiryDate: type: string format: date-time description: The expiration date for loyalty points. example: '2024-01-24T14:15:22Z' AddedDeductedPointsBalancesNotification: type: object properties: EmployeeName: type: string description: The name of the employee who added or deducted points. example: Franziska Schneider LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 NotificationType: type: string description: The type of notification. enum: - LoyaltyAddedDeductedPointsBalances ProfileIntegrationID: type: string description: The integration ID of the customer profile to whom points were added or deducted. example: URNGV8294NV SessionIntegrationID: type: string description: The integration ID of the session through which the points were earned or lost. example: cc53e4fa-547f-4f5e-8333-76e05c381f67 SubledgerID: type: string description: The ID of the subledger within the loyalty program where these points were added. example: sub-123 TypeOfChange: type: string enum: - campaign_manager - rule_engine - management_api description: | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) UserID: type: integer description: The ID of the employee who added or deducted points. example: 25 Actions: type: array description: The list of actions that have been triggered in the loyalty program. minItems: 1 items: $ref: '#/components/schemas/AddedDeductedPointsBalancesAction' CurrentPoints: type: number description: The current points balance. example: 10.99 PendingActivePointsData: type: object properties: LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 SubledgerID: type: string description: 'The ID of the subledger, when applicable. If this field is empty, the main ledger is used.' default: '' example: SL001 CustomerProfileID: type: string description: The integration ID of the customer profile whose loyalty points are becoming active. example: URNGV8294NV Points: type: number description: The amount of pending loyalty points becoming active. example: 10.99 ActiveOn: type: string format: date-time description: The date and time the loyalty points become active. example: '2023-08-20T12:22:00+02:00' ExpireOn: type: string format: date-time description: The date and time the loyalty points expire. example: '2023-09-01T12:23:00+02:00' SessionIntegrationID: type: string description: The integration ID of the session through which the points were earned. example: cc53e4fa-547f-4f5e-8333-76e05c381f67 PendingActivePointsNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of pending points. maxLength: 1000 items: $ref: '#/components/schemas/PendingActivePointsData' NotificationType: type: string description: The type of notification. enum: - LoyaltyPointsPendingToActive TierUpgradeData: type: object properties: CustomerProfileID: type: string description: The integration ID of the customer profile whose tier was upgraded. example: URNGV8294NV LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 SubledgerID: type: string description: 'The ID of the subledger, when applicable. If this field is empty, the main ledger is used.' default: '' example: SL001 CurrentTier: type: string description: The name of the customer's current tier. example: Silver CurrentPoints: type: number description: The number of points the customer had at the time of tier upgrade. example: 120.55 OldTier: type: string description: The name of the customer's previous tier. example: Bronze PointsRequiredToTheNextTier: type: number description: The number of points needed for a customer to reach the next tier. example: 23.51 NextTier: type: string description: The name of the customer's next tier. example: Gold TierExpirationDate: type: string format: date-time description: The exact date and time the tier expires. example: '2023-12-01T12:23:00+02:00' TimestampOfTierChange: type: string format: date-time description: The exact date and time the tier was changed. example: '2023-10-26T12:23:00+02:00' TierUpgradeNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of tier upgrade notifications. maxLength: 1000 items: $ref: '#/components/schemas/TierUpgradeData' NotificationType: type: string description: The type of notification. enum: - TierUpgrade TierDowngradeData: type: object properties: CustomerProfileID: type: string description: The integration ID of the customer profile whose tier was downgraded. example: URNGV8294NV LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 SubledgerID: type: string description: 'The ID of the subledger, when applicable. If this field is empty, the main ledger is used.' default: '' example: SL001 CurrentTier: type: string description: The name of the customer's current tier. example: Silver CurrentPoints: type: number description: The number of points the customer had at the time of tier downgrade. example: 120.55 OldTier: type: string description: The name of the customer's previous tier. example: Gold TierExpirationDate: type: string format: date-time description: The exact date and time the tier expires. example: '2023-12-01T12:23:00+02:00' TimestampOfTierChange: type: string format: date-time description: The exact date and time the tier was changed. example: '2023-10-26T12:23:00+02:00' TierDowngradeNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of tier downgrade notifications. maxLength: 1000 items: $ref: '#/components/schemas/TierDowngradeData' NotificationType: type: string description: The type of notification. enum: - TierDowngrade TierWillDowngradeData: type: object properties: CustomerProfileID: type: string description: The integration ID of the customer profile whose tier was downgraded. example: URNGV8294NV LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 SubledgerID: type: string description: 'The ID of the subledger, when applicable. If this field is empty, the main ledger is used.' default: '' example: SL001 CurrentTier: type: string description: The name of the customer's current tier. example: Silver CurrentPoints: type: number description: The number of points the customer will have after the tier downgrade. example: 120.55 PointsRequiredToRemain: type: number description: The number of points needed for a customer to remain on the same tier. example: 23.51 NextTier: type: string description: The name of the customer's next tier. example: Bronze TierExpirationDate: type: string format: date-time description: The date and time the tier expires. example: '2023-12-01T12:23:00+02:00' TierWillDowngradeNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of upcoming tier downgrade notifications. maxLength: 1000 items: $ref: '#/components/schemas/TierWillDowngradeData' NotificationType: type: string description: The type of notification. enum: - TierWillDowngrade ExpiringCouponsData: type: object properties: CouponValue: type: string description: The coupon code. example: XMAS-20-2021 CreatedDate: type: string format: date-time description: Timestamp at which point the coupon was created. example: '2024-07-24T14:15:22Z' ValidFrom: type: string format: date-time description: Timestamp at which point the coupon becomes valid. example: '2024-10-24T14:15:22Z' minimum: 0 ValidUntil: type: string format: date-time description: 'Timestamp at which point the coupon expires. Coupon never expires if this is omitted, zero, or negative.' example: '2024-12-24T14:15:22Z' minimum: 0 CampaignId: type: integer description: The ID of the campaign to which the coupon belongs. minimum: 1 example: 3 CustomerProfileId: type: string description: The Integration ID of the customer that is allowed to redeem this coupon. example: URNGV8294NV UsageLimit: type: integer minimum: 0 maximum: 999999 example: 100 description: | The number of times the coupon code can be redeemed. `0` means unlimited redemptions but any campaign usage limits will still apply. UsageCounter: type: integer title: Total coupon redemptions example: 10 description: The number of times the coupon has been successfully redeemed. BatchId: title: Batch ID type: string description: The ID of the batch the coupon belongs to. example: 32535-43255 Attributes: type: object title: Attributes of coupon description: Custom attributes associated with this coupon. additionalProperties: true ExpiringCouponsNotification: type: object properties: TotalResultSize: type: integer example: 1 Data: type: array description: The array of expiring coupon notifications. maxLength: 1000 items: $ref: '#/components/schemas/ExpiringCouponsData' NotificationType: type: string description: The type of notification. enum: - CouponCodeExpiring CardAddedDeductedPointsNotification: type: object properties: CardIdentifier: type: string description: Loyalty card identification number. example: 123-456-789ATBC EmployeeName: type: string description: The name of the employee who added or deducted points. example: Franziska Schneider LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 NotificationType: type: string description: The type of notification. enum: - LoyaltyCardPointsDeducted - LoyaltyCardPointsAdded ProfileIntegrationIDs: type: array description: The integration ID of the customer profile to whom points were added or deducted. items: type: string example: - yJSObdNNtOetCHWHPFuz - test-user-4zoj1c SessionIntegrationID: type: string description: The integration ID of the session through which the points were earned or lost. example: cc53e4fa-547f-4f5e-8333-76e05c381f67 SubledgerID: type: string description: The ID of the subledger within the loyalty program where these points were added or deducted. example: sub-123 TypeOfChange: type: string enum: - campaign_manager - rule_engine - management_api description: | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) UserID: type: integer description: The ID of the employee who added or deducted points. example: 25 UsersPerCardLimit: type: integer description: The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. example: 10 Amount: type: number description: The amount of added or deducted loyalty points. example: 10.99 ExpiryDate: type: string format: date-time description: The expiration date for loyalty points. example: '2024-01-24T14:15:22Z' Operation: type: string description: The action (addition or deduction) made with loyalty points. enum: - addition - deduction Reason: type: string description: The reason for the points addition or deduction. example: Compensation StartDate: type: string format: date-time description: The start date for loyalty points. example: '2023-01-24T14:15:22Z' CardAddedDeductedPointsBalancesNotification: type: object properties: CardIdentifier: type: string description: Loyalty card identification number. example: 123-456-789ATBC EmployeeName: type: string description: The name of the employee who added or deducted points. example: Franziska Schneider LoyaltyProgramID: type: integer description: The ID of the loyalty program. minimum: 1 example: 5 NotificationType: type: string description: The type of notification. enum: - LoyaltyCardAddedDeductedPointsBalances ProfileIntegrationIDs: type: array description: The integration ID of the customer profile to whom points were added or deducted. items: type: string example: - yJSObdNNtOetCHWHPFuz - test-user-4zoj1c SessionIntegrationID: type: string description: The integration ID of the session through which the points were earned or lost. example: cc53e4fa-547f-4f5e-8333-76e05c381f67 SubledgerID: type: string description: The ID of the subledger within the loyalty program where these points were added or deducted. example: sub-123 TypeOfChange: type: string enum: - campaign_manager - rule_engine - management_api description: | The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters) UserID: type: integer description: The ID of the employee who added or deducted points. example: 25 UsersPerCardLimit: type: integer description: The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit. example: 10 Actions: type: array description: The list of actions that have been triggered in the loyalty program. minItems: 1 items: $ref: '#/components/schemas/AddedDeductedPointsBalancesAction' CurrentPoints: type: number description: The current points balance. example: 10.99 parameters: x-uuid: name: X-UUID in: header description: 'The unique message ID. You can use it, for example, to deduplicate messages.' schema: type: string example: 9aa05ee1-876f-42e6-9a5d-fc0bd424d9cb