Skip to main content

Consumer bought products

While EVA keeps track of all the products bought via EVA automatically, 'consumer bought products' are an additional category of products, which you can optionally register or push into EVA.

Any product bought by a customer is stored in EVA, allowing you to check users' product history. Consumer bought products however, are registered as a separate category of products. These products, either bought within the context of EVA or via an external system, can then be used for specific functionality in EVA. These are often products which come with warranty periods and can then be included in other flows in EVA such as Repairs.

Although a large part of this functionality will become available in your front ends, currently it can be managed via API only. The necessary services will be described here below based on its integration type:

  • Direct integration
  • Pushing products into EVA

Checking user bought products

Regardless of your setup, you can check the details of the consumer bought marked products via the following two services.

1. ListUserBoughtProducts

{
"InitialPageConfig": {
"Filter": {
"UserID" : 1,
"ProductID" : 1,
}
}
}

2. GetUserBoughtProducts

{
"ID": 1
}

Adding and interacting with user bought products

Direct integration

First off: products bought via EVA are not automatically added to the list of consumer bought products.

You can however enable this by setting AutoRegisterUserBoughtProductsFromShippedOrder to true (defaults to false). In that case, all products contained in each consumer's order will be registered by EVA automatically.

If you do not want all products to be marked as Consumer bought products, then you will have to call the relevant services yourself for the right products.

Creating and updating user bought products

If the products bought via EVA are not automatically added to the Consumer bought products category, then you can use RegisterUserBoughtProducts to register them individually. This service revolves around working with the EVA ID.

{
"UserID" : 1,
"ProductID": 1,
"SerialNumber": "",
"IsUnderWarranty": true,
"WarrantyExpiryDate": "01-01-24 12:00:00.000",
"AdditionalWarrantyInfo": "Some random data",
"OrderID": 1,
"OrderLineID": 1,
"PurchaseDate": "01-01-23 12:00:00.000",
"PurchasedQuantity": 1
}

The following service is used solely for updating the warranty of the product.

{
"UserBoughtProductID" : 1,
"IsUnderWarranty": true,
"WarrantyExpiryDate": "01-01-24 12:00:00.000",
"AdditionalWarrantyInfo": "Some random data",
}

Add/Update/Delete user bought product details

If a product is bought more than once, the following service can be used to add the product to the original registration.

{
"UserBoughtProductID" : 1,
"OrderID": 1,
"OrderLineID": 1,
"PurchaseDate": "01-01-23 12:00:00.000",
"PurchasedQuantity": 1
}

Archiving user bought products

Some things can be deleted, such as a product detail here above, but often they are simply tagged as inactive, like we do with the following service.

{
"ID": 1
}

Pushing user bought products

There are several scenarios in which the products wouldn't yet be known in EVA, for example:

  • A separate e-commerce system, with sales being pushed into EVA
  • A history of consumer bought products dating before the use of EVA

Regardless of the situation, you can push users and their relevant products to EVA by means of PushBoughtProductsForUsers. This service can only be used by users with the PushUserBoughtProducts functionality.

This a-sync service can be used for up to 10.000 users at a time.

{
"BoughtProductsForUsers": [
{
"UserID": 262,
"BoughtProducts": [
{
"ProductID": 115,
"SerialNumber": "111",
"IsUnderWarranty": true,
"WarrantyExpiryDate": "2024-02-24T23:00:00.000Z",
"AdditionalWarrantyInfo": "No remarks",
"Archive": false
}
]
},
{
"UserID": 318,
"BoughtProducts": [
{
"ProductID": 117,
"SerialNumber": "222",
"IsUnderWarranty": true,
"WarrantyExpiryDate": "2026-02-24T23:00:00.000Z",
"AdditionalWarrantyInfo": "No remarks",
"Archive": false
}
]
},
{
"UserID": 1511,
"BoughtProducts": [
{
"ProductID": 111,
"SerialNumber": "111",
"IsUnderWarranty": true,
"WarrantyExpiryDate": "2025-02-24T23:00:00.000Z",
"AdditionalWarrantyInfo": "No remarks",
"Archive": false
},
{
"ProductID": 112,
"SerialNumber": "333",
"IsUnderWarranty": false,
"WarrantyExpiryDate": "2023-02-24T23:00:00.000Z",
"AdditionalWarrantyInfo": "No remarks",
"Archive": false
},
{
"ProductID": 116,
"SerialNumber": "333",
"IsUnderWarranty": false,
"WarrantyExpiryDate": "2023-02-24T23:00:00.000Z",
"AdditionalWarrantyInfo": "No remarks",
"Archive": false,
"Details": [
{
"BackendID": "BP-24242",
"OrderID": 3252366223323,
"OrderLineID": 46,
"PurchaseDate": "2021-08-01",
"PurchasedQuantity": 1
}
]
}
]
},
{
"UserID": 2098,
"BoughtProducts": [
{
"ProductID": 113,
"SerialNumber": "444",
"IsUnderWarranty": false,
"WarrantyExpiryDate": "2023-02-24T23:00:00.000Z",
"AdditionalWarrantyInfo": "No remarks",
"Archive": false,
"Details": [
{
"BackendID": "BP-24241",
"OrderID": 131344,
"OrderLineID": 26,
"PurchaseDate": "2021-08-01",
"PurchasedQuantity": 1
}
]
}
]
}
]
}
Upcoming PushUserBoughtProduct service deprecation

The service PushUserBoughtProduct, which has been available for some time. is similar to the above service. Its main difference however, is that it's limited to 1 user at a time. Due to that, there is no more reason to support it in the long run.