Word in advance
🔑 Core drop notes structure
In our continuous effort to make our Core Drop more easily digestible, we've made the following changes to its format:
- We try to categorize all drop entries as best we can by the closest common denominator, e.g. Extension point entries, or Services. This will make it a little easier for you to discern what's important to you.
- Although the difference can be subtle, we try and categorize the entries on whether they're new additions 🆕 or improvements ✅
- The introductory text for each entry will be more concise, with Detailed information available via the Expansion bar.
Breaking
There are no breaking changes, but the following update to the HasReturns deprecation timeline is important.
Deprecation of HasReturns
The deprecation of the HasReturns field is intended to transition our customers to the HasReturnLines enum value in orders' Properties fields. This property affects the response types of GetOrder
, GetShoppingCart
, and SearchOrder
.
Although it was announced in the deprecations section of core drop 2.0.698 that it would be removed as of 2.0.714 (this core release), we have reconsidered due to its potential impact, especially if rolled out right before the upcoming holiday season.
To allow everyone enough time to recover from the holiday rush, we've extended its deprecation timeline to 2.0.746. More details about the deprecations can be found here.
Extension point
✅ BarcodeResult
The BarcodeResult extension point has been updated with two additional properties:
- Type
- TypeParameters
By using these two properties, you will be able to pass additional information to EVA. In doing so, you can change other properties, such as a UnitPriceInTax for example.
Please see our BarcodeResult extension point docs for more information.
Sample
{
"extend BarcodeResult
if Barcode = 'MyCustomBarcodeToReturnAProduct' then
set output.Type to 'PRODUCT_BARCODE'
set output.TypeParameters[1].Name to 'ProductID'
set output.TypeParameters[1].Value to 1507
set output.TypeParameters[2].Name to 'TypeID'
set output.TypeParameters[2].Value to 1
set output.TypeParameters[3].Name to 'Quantity'
set output.TypeParameters[3].Value to 1
set output.TypeParameters[4].Name to 'UnitPriceInTax'
set output.TypeParameters[4].Value to 18
set output.TypeParameters[5].Name to 'Description'
set output.TypeParameters[5].Value to 'Orange woven bracelet'
end"
}
{
"Type": "PRODUCT_BARCODE",
"Value": "MyCustomBarcodeToReturnAProduct",
"Data": {
"ProductID": 1507,
"TypeID": 1,
"Quantity": 1,
"UnitPriceInTax": 18,
"Description": "Orange woven bracelet"
}
}
Properties
🆕 ResubscribeHandling
We've added a new property called ResubscribeHandling to the CreateSubscription
/Update
/List
services to allow you to set the possibilities for resubscribing to a subscription.
Details
The property can have the following values:
- UpdateUserIdentifier (0)
- You can resubscribe, but a new user identifier is required/generated
- KeepOriginalUserIdentifier (1)
- You can resubscribe, but only with the original user identifier
- Block
- You cannot resubscribe to the subscription
When unsubscribing we set the loyalty balance to 0, but only for EVA loyalty. We call UnsubscribeUser
for external handlers.
GDPR already deletes the subscriptions from the user.
Settings
Hiding price information
As part of our continuous effort to bar users from seeing information they shouldn't, we've introduced a new setting: EnablePriceViewingFunctionalitiesOnOrder
- which expands on the EnablePriceViewingFunctionalities and (deprecated) EnableCostAndPurchasePriceViewingFunctionalities
settings.
In addition to the current ones, when EnablePriceViewingFunctionalitiesOnOrder
is set to true, all price-related properties on orders will be exposed only when the user has viewing rights on all pricelists on the order. If there are no pricelists attached to the order, prices will be visible.
This goes hand in hand with a new property called HasHiddenPrices which is set when the prices are stripped out.
For an overview of all properties that will be hidden based on the above, expand the following section. Also note that, for backward compatibility, non-nullable properties will be zeroed instead.
Details
GetOrder
- TotalAmount
- TotalAmountInTax
- TotalTaxAmount
- TotalAmountInvoiced
- OriginalTotalAmount
- OriginalTotalAmountInTax
- Payments
- on the Lines
- UnitPrice
- UnitPriceInTax
- UnitPriceBeforeCorrection
- DisplayPrice
- DisplayPriceInTax
- DiscountAmount
- TotalAmountInTax
- TotalAmount
- NetTotalAmount
- NetTotalAmountInTax
- TotalTaxAmount
- NetTotalTaxAmount
- OriginalTotalAmount
- OriginalTotalAmountInTax
- on the Amounts
- all amounts (paid, open, total, discounts)
- on the AdditionalOrderData
- AvailablePaymentMethods
- AvailableRefundPaymentMethods
GetOrderSummary
- on the Lines
- DiscountAmount
- UnitPriceInTax
- NetTotalAmountInTax
- OriginalTotalAmountInTax
- on the Amounts
- all amounts, same as for GetOrder
GetOrderStatistics
- GrossMargin
- on the OrderLines
- UnitCost
- UnitPrice
- DiscountAmount
ListOrderLines
- same as the Lines in GetOrder
ListOrdersForCustomer
- each order gets the same treatment as GetOrder
SearchOrders
- OpenAmount
- OpenAmountInTax
- PaidAmount
- ForeignPaidAmount
- TotalAmount
- TotalAmountInTax
Although the setting is now available, the front end is still being worked on to properly include this.
Fixes
- Cookbook events and stock mutations now all fall on the SoldFromOU, keeping the finances and inventory in balance.
this solves an issue with e-commerce orders being returned without retake in Unified orders scenarios
- We've fixed an issue where some data points were not exported correctly in the Riskified integration.
- Prevent duplicate discount data creation.
- Send emails when closing cases or creating case interactions.
- Prefiguring a discount should not influence the prefigure of other discounts.
- Don't return cancelled discounts as discounts on a line.
- Make sure POs are completed after receival.
Deprecations
🆕 Introduced
These deprecations are now announced for the first time. Usage of these services and/or fields will return the appropriate EVA-Warnings
header.
Deprecated
High
- High HasReturns is deprecated and will be removed in 2.0.746: Replaced with a new
Properties
/NotProperties
valueHasReturnLines
(131072).- SearchOrders.HasReturns
- High Order.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- CreateOrderFromShoppingCartResponse.Order.HasReturns
- High Result.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- GetOrderResponse.Result.HasReturns
- EVAPayGetInfoResponse.Result.HasReturns
- High Result.Order.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- GetStockReservationTaskResponse.Result.Order.HasReturns
- High Result.Page.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- ListOrdersForCustomerResponse.Result.Page.HasReturns
- SearchOrdersResponse.Result.Page.HasReturns
- High ShoppingCart.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- ShoppingCartResponse.ShoppingCart.HasReturns
- High Task.Order.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- StartReservationCleanupResponse.Task.Order.HasReturns
- High WorkSet.Order.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- StartStockReservationResponse.WorkSet.Order.HasReturns
- High WorkSet.Orders.HasReturns is deprecated and will be removed in 2.0.746: Use the new
Properties
valueHasReturnLines
(131072).- CompleteReservationDeviationTask.WorkSet.Orders.HasReturns
- StartReservationDeviationTaskResponse.WorkSet.Orders.HasReturns
⚡ Removed from typings
These deprecations are now halfway through their deprecation timeline. As of now, these services and/or fields will no longer be exposed by our typings.
Deprecated
Medium
- Medium AdditionalOrderData.CustomerCustomFields is deprecated and will be removed in 2.0.722: Use CustomerCustomFieldValuesWithOptions instead..
- ShoppingCartResponse.AdditionalOrderData.CustomerCustomFields
- GetOrderResponse.AdditionalOrderData.CustomerCustomFields
- Medium AvailableTasks.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListAvailableUserTasksResponse.AvailableTasks.User.CustomFields
- Medium Details.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetUserTaskDetailsResponse.Details.User.CustomFields
- Medium Employees.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListClockedInEmployeesForFinancialPeriodResponse.Employees.User.CustomFields
- Medium Order.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- CreateOrderFromShoppingCartResponse.Order.CreatedBy.CustomFields
- Medium Order.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- CreateOrderFromShoppingCartResponse.Order.Customer.CustomFields
- Medium Result.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetOrderResponse.Result.CreatedBy.CustomFields
- EVAPayGetInfoResponse.Result.CreatedBy.CustomFields
- Medium Result.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetOrderResponse.Result.Customer.CustomFields
- EVAPayGetInfoResponse.Result.Customer.CustomFields
- Medium Result.Order.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetStockReservationTaskResponse.Result.Order.CreatedBy.CustomFields
- Medium Result.Order.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetStockReservationTaskResponse.Result.Order.Customer.CustomFields
- Medium Result.Page.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListOrdersForCustomerResponse.Result.Page.CreatedBy.CustomFields
- ListReplenishmentProposalsResponse.Result.Page.CreatedBy.CustomFields
- Medium Result.Page.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListOrdersForCustomerResponse.Result.Page.Customer.CustomFields
- Medium Result.Page.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListSalaryComponentsResponse.Result.Page.User.CustomFields
- Medium ShoppingCart.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ShoppingCartResponse.ShoppingCart.CreatedBy.CustomFields
- Medium ShoppingCart.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ShoppingCartResponse.ShoppingCart.Customer.CustomFields
- Medium Task.Order.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- StartReservationCleanupResponse.Task.Order.CreatedBy.CustomFields
- Medium Task.Order.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- StartReservationCleanupResponse.Task.Order.Customer.CustomFields
- Medium Tasks.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListTasksThatBlockPeriodClosingResponse.Tasks.User.CustomFields
- Medium User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- LoginResponse.User.CustomFields
- CreateCustomerResponse.User.CustomFields
- GetCurrentUserResponse.User.CustomFields
- RitualsScanLoyaltyCardResponse.User.CustomFields
- Medium UserCard.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetUserCardDetailsResponse.UserCard.User.CustomFields
- Medium UserCards.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- GetUserCardsForUserResponse.UserCards.User.CustomFields
- Medium Users.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListUsersWithBadgesByIDsResponse.Users.CustomFields
- ListEmployeesForOrganizationUnitResponse.Users.CustomFields
- Medium WorkedHours.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- ListWorkedHoursForCurrentEmployeeResponse.WorkedHours.User.CustomFields
- Medium WorkSet.Order.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- StartStockReservationResponse.WorkSet.Order.CreatedBy.CustomFields
- Medium WorkSet.Order.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- StartStockReservationResponse.WorkSet.Order.Customer.CustomFields
- Medium WorkSet.Orders.CreatedBy.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- CompleteReservationDeviationTask.WorkSet.Orders.CreatedBy.CustomFields
- StartReservationDeviationTaskResponse.WorkSet.Orders.CreatedBy.CustomFields
- Medium WorkSet.Orders.Customer.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- CompleteReservationDeviationTask.WorkSet.Orders.Customer.CustomFields
- StartReservationDeviationTaskResponse.WorkSet.Orders.Customer.CustomFields
- Medium WorkSet.UserTask.User.CustomFields is deprecated and will be removed in 2.0.722: Use CustomFieldValuesWithOptions instead..
- CompleteCustomerInteractionTask.WorkSet.UserTask.User.CustomFields
- StartCustomerInteractionTaskResponse.WorkSet.UserTask.User.CustomFields
🚫 Effective
These deprecations are now effective. As of now, these services and/or fields are no longer available in EVA and can no longer be used.
Deprecated
Medium
- Medium CreatedTransactions.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- RefundOrderResponse.CreatedTransactions.CustomFields
- Medium Details.Corrections.PaymentTransaction.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- GetFinancialPeriodDetailsResponse.Details.Corrections.PaymentTransaction.CustomFields
- Medium IdentifierCustomFieldID is deprecated since 2.0.714: Custom fields cannot be updated after create.
- UpdateSubscription.IdentifierCustomFieldID
- Medium Order.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- CreateOrderFromShoppingCartResponse.Order.Payments.CustomFields
- Medium PaymentTransaction.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- CapturePaymentResponse.PaymentTransaction.CustomFields
- CreatePaymentResponse.PaymentTransaction.CustomFields
- FinalizePaymentResponse.PaymentTransaction.CustomFields
- GetPaymentTransactionResponse.PaymentTransaction.CustomFields
- GetPreferredRefundMethodResponse.PaymentTransaction.CustomFields
- RequestPaymentUpdateResponse.PaymentTransaction.CustomFields
- Medium PaymentTransactions.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- CreatePaymentResponse.PaymentTransactions.CustomFields
- CreateRefundResponse.PaymentTransactions.CustomFields
- GetPaymentTransactionsResponse.PaymentTransactions.CustomFields
- Medium Result.Order.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- GetStockReservationTaskResponse.Result.Order.Payments.CustomFields
- Medium Result.Page.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- ListOrganizationUnitsDetailedResponse.Result.Page.CustomFields
- Medium Result.Page.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- ListOrdersForCustomerResponse.Result.Page.Payments.CustomFields
- Medium Result.Page.PaymentTransaction.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- ListBookingsResponse.Result.Page.PaymentTransaction.CustomFields
- Medium Result.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- GetOrderResponse.Result.Payments.CustomFields
- EVAPayGetInfoResponse.Result.Payments.CustomFields
- Medium ShoppingCart.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- ShoppingCartResponse.ShoppingCart.Payments.CustomFields
- Medium Task.Order.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- StartReservationCleanupResponse.Task.Order.Payments.CustomFields
- Medium WorkSet.Order.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- StartStockReservationResponse.WorkSet.Order.Payments.CustomFields
- Medium WorkSet.Orders.Payments.CustomFields is deprecated since 2.0.714: Use CustomFieldValuesWithOptions instead..
- CompleteReservationDeviationTask.WorkSet.Orders.Payments.CustomFields
- StartReservationDeviationTaskResponse.WorkSet.Orders.Payments.CustomFields
Release dates may vary
The exact date for deploying a Core release to production environments may vary. See How we handle Core releases for more details.