Cart Created Notifications
History of changes
| Change tag | Change description | Change date |
|---|---|---|
| IAP-28135 | Cart creation notification created | 07.05.2026 |
| IAP-28135 | Updated as was agreed by email | 07.07.2026 |
You can receive notifications when shopping cart was created.
List of fields
The notification payload will include a 'cart' object containing the following details:
| Name | Description | R/O |
|---|---|---|
| subject | For cart notifications the subject is cart | R |
| type | Now we have only one type=created | R |
| objectId | Cart unique identifier | R |
| eventDate | Date in ISO 8601 format | R |
cart {object} | Cart object | R |
| cart.id | Cart unique identifier | R |
| cart.storeId | Store id from the cart | R |
| cart.creationDate | The date when cart was created | R |
cart.products[]{object} | List of products in cart | R |
| cart.products[].publisherRefId | A unique ID for identifying your product in your information system, if defined | O |
| cart.products[].id | Unique ID for a product in the cart | R |
| cart.products[].parentId | Product parent ID (Unique ID of parent product in Monetize) | R |
| cart.products[].businessSegment | Product business segment: b2c, b2b, STRICT b2b or STRICT b2с | R |
| cart.products[].subscriptionTemplate | Subscription template name in Monetize | O |
| cart.products[].fulfillmentTemplate | Fulfillment template ID in Monetize | O |
| cart.products[].trial | Boolean indicating if product is trial | R |
| cart.products[].gift | Boolean indicating if product is gift | R |
| cart.products[].taxExempt | Boolean indicating if product has tax exemption | R |
cart.products[].unitPrice{object} | Price object | R |
| cart.products[].unitPrice.netPrice | Product unit price, excluding sales tax | R |
| cart.products[].unitPrice.grossPrice | Product unit price, including sales tax | R |
| cart.products[].unitPrice.vatAmount | Vat amount | O |
| cart.products[].unitPrice.vatRate | Sold product applied sales tax rate | R |
cart.products[].unitPrice.discountedPrice{object} | Discounted price object | O |
| cart.products[].unitPrice.discountedPrice.cumulatedDiscountRate | Discount rate applied to product | O |
| cart.products[].unitPrice.discountedPrice.discountedNetPrice | Discounted unit price, excluding sales tax | R |
| cart.products[].unitPrice.discountedPrice.discountedGrossPrice | Discounted unit price, including sales tax | R |
cart.products[].unitPrice.discountedPrice.allDiscountsApplied[]{object} | Array of all applied discounts. Each discount represneted as object | R |
| cart.products[].unitPrice.discountedPrice.allDiscountsApplied[].discountRate | Discount rate, f.e. 0.2 | O |
| cart.products[].unitPrice.discountedPrice.allDiscountsApplied[].discountId | Identifier of discount in Monetize | R |
| cart.products[].unitPrice.discountedPrice.allDiscountsApplied[].discountCode | Discount code (if any) | O |
| cart.products[].unitPrice.discountedPrice.allDiscountsApplied[].discountAmount | Amount of gross price discount (the same as in orderNotifications) | O |
cart.products[].discountPlan {object} | Subscription discount plan node will exist in case if discount plan is applied to subscription | O |
| cart.products[].discountPlan.tag | Subscription discount plan tag | R |
| cart.products[].discountPlan.discountStep | Subscription discount plan step is used on acquisition | R |
| cart.products[].discountPlan.ignorePurchaseDiscount | Only in case if this flag was set on acquisition | O |
cart.products[].extraTermBonus {object} | Extra term bonus node will exist in case if Extra term bonus is applied to product | O |
| cart.products[].extraTermBonus.extraTermBonusTag | Extra term bonus tag | R |
| cart.products[].extraTermBonus.value | Number of extra term bonus units | R |
| cart.products[].extraTermBonus.unit | Extra term bonus unit: "months" or "days" | R |
| cart.products[].upsell | Boolean indicating if product was upsold or not | R |
| cart.products[].quantity | Product quantity | R |
| cart.products[].name | Product name | R |
| cart.products[].subscriptionProduct | Boolean indicating if product is sold by subscription model | R |
| cart.products[].productFamily | Product family name | O |
| cart.products[].expirationDate | Product license expiration date, if exists | O |
| cart.locale | Cart locale | R |
| cart.country | Cart country | R |
cart.price {object} | Cart price object | R |
| cart.price.currency | Cart price currency | R |
| cart.price.netPrice | Total price of a cart, excluding sales tax | R |
| cart.price.grossPrice | Total price of a cart, including sales tax | R |
cart.customer {object} | Customer object | R |
| cart.customer.id | Customer id associated to the cart | R |
| cart.customer.name | Customer name associated to the cart | R |
| cart.externalContext | Based64 encoded string of cart parameters | O |
| cart.decodedExternalContext | Decoded map of cart string parameters if they were provided in the json format | O |
| cart.source | Cart source: PURCHASE, SUBSCRIPTION, OFFER, MANUAL_RENEWAL, etc | R |
| cart.scenario | Cart scenario: acquisition, retention, etc | O |
If you need to get additional data, which is not available in the event, please refer to the REST API methods to get cart or other entities.
Example
{
"subject": "cart",
"type": "created",
"objectId": "ee3faf04-3b1c-443c-8393-88f05b5ff540",
"eventDate": "2025-02-07T07:00:20Z",
"cart": {
"id": "ee3faf04-3b1c-443c-8393-88f05b5ff540",
"storeId": "36f48867-d6ca-42d3-bf55-5f54a6740803",
"creationDate": "2026-06-30T10:47:17Z",
"products": [
{
"publisherRefId": "KL1949F****",
"id": "cd390410-4c78-4274-a9e2-56a72a27ba48",
"parentId": "79db6084-8c20-4b1f-a64c-f7d5e2ae338b",
"businessSegment": "b2c",
"subscriptionTemplate": "NEXWAY_1Y",
"fulfillmentTemplate": "594be0ce-cc22-40ef-bfc0-7f7dd5fa35f1",
"trial": false,
"gift": false,
"taxExempt": false,
"unitPrice": {
"netPrice": 147.06,
"grossPrice": 150.0,
"vatAmount": 2.94,
"vatRate": 0.02,
"discountedPrice": {
"cumulatedDiscountRate": 0.11,
"discountedNetPrice": 130.87,
"discountedGrossPrice": 133.49,
"allDiscountsApplied": [
{
"discountRate": 0.11,
"discountId": "2498455e-9d7d-4d93-ac02-bfc4ab41413e",
"discountCode": "Test",
"discountAmount": 16.51
}
]
}
},
"discountPlan": {
"tag": "TestTag",
"discountStep": 0,
"ignorePurchaseDiscount": false
},
"extraTermBonus": {
"extraTermBonusTag": "extraTermTag",
"value": 2,
"unit": "MONTH"
},
"upsell": false,
"quantity": 1,
"name": "Kaspersky Plus",
"subscriptionProduct": true,
"productFamily": "Upgrade Family",
"expirationDate": "2026-05-07T06:59:54Z"
}
],
"locale": "fr-FR",
"country": "FR",
"price": {
"currency": "EUR",
"netPrice": "147.06",
"grossPrice": "150.0"
},
"customer": {
"id": "4a5ccb71-a41d-4de5-a324-80f3e01074c2",
"name": "Kaspersky France store"
},
"externalContext": "eyJsYXlvdXQiOiJzdWIifQ==",
"decodedExternalContext": "",
"source": "PURCHASE",
"scenario": "acquisition"
}
}