Breakingβ
No breaking changes.
Propertiesβ
π RepairID in GetOrderβ
The GetOrder
call now includes the RepairID property.
This will for example allow you to use the OrderID from an OrderShipped event in a GetOrder
service call and to see what repair is attached to an order - if any - straight away.
π Identifying which stencil was usedβ
As a first step towards easy identification of which stencil template was used for a receipt/invoice, we have added the property called MessageTemplateID to ListBlobsForOrder
.
π IsOffer in SearchOrdersβ
The SearchOrders
service call now displays whether an order is an offer by means of a true or false on the new IsOffer property in its response.
π IsCancellable in GetRepair and ListRepairsβ
To make it possible to cancel repairs from the Tasks App directly, we've added IsCancellable to GetRepair
and ListRepairs
.
This will allow EVA to check if it's cancellable, based on the following criteria. The repair cannot:
- Be finished;
- Be cancelled;
- Have open amounts.
Settingsβ
π Sending out emails during RTS flowβ
EVA now allows for the automatic transmission of emails during the RTS flow, which you can configure by means of two new settings.
The following two settings have been introduced:
Orders:ReturnToSupplier:PlaceReturnToSupplierOrderEmailAddress
- By specifying email addresses in this setting, emails will be sent there when a Return to Supplier order is placed.
RTS order placed template details
The template for this feature is called PlaceReturnToSupplierOrder.
It has a fallback template consisting of the following properties:
{#subject} RTS order {>OrderID} placed {#/subject}
RTS order {>OrderID} has been placed.
long OrderID
OrganizationUnitMailModel ShipFromOrganizationUnit
OrganizationUnitMailModel ShipToOrganizationUnit
UserMailModel CreatedBy
List<OrderLineMailModel> OrderLines
ShipmentMailModel Shipment
Orders:ReturnToSupplier:ShipReturnToSupplierOrderEmailAddress
- By specifying email addresses in this setting, emails will be sent there when a Return to Supplier order is shipped.
RTS order shipped template details
The template for this feature is called ShipReturnToSupplierOrder.
It has a fallback template consisting of the following properties:
{#subject} RTS order {>OrderID} shipped {#/subject}
RTS order {>OrderID} has been shipped.
long OrderID
OrganizationUnitMailModel ShipFromOrganizationUnit
OrganizationUnitMailModel ShipToOrganizationUnit
UserMailModel CreatedBy
List<OrderLineMailModel> OrderLines
ShipmentMailModel Shipment
ShipmentMailModel:
OrganizationUnitMailModel ShippedToOrganizationUnit
OrganizationUnitMailModel? ShippedFromOrganizationUnit
DateTime? ShipmentDate
DateTime? ExpectedDeliveryDate
List<ShipmentLineMailModel>? Lines
string BackendID
string BackendSystemID
string TrackingCode
string TrackingLink
int TotalQuantityShipped
int NetTotalQuantityShipped
int TotalQuantityDelivered
int NetTotalQuantityDelivered
DateTime? LastDeliveryDate
ShipmentReceiveMethods? ReceiveMethod
ShippingMethodModel ShippingMethod
ShipmentStatuses Status
bool IsExported
DateTime? CompletionTime
OrderTypes OrderType
string Remark
decimal? ExchangeRate
ShipmentOptions Options
string? BackendReference
bool HasDeviations
Dictionary<string, CustomFieldValue> CustomFields
ShipmentLineMailModel:
DateTime? ShipmentDate
int QuantityShipped
int QuantityDelivered
DateTime? LastDeliveryDate
bool IsCompleted
string BackendReference
ShipmentLineDeliveryTypes DeliveryType
ShipmentLineMailModel Parent
List<ShipmentLineMailModel> Children
PackageMailModel Package
decimal? ShippedToUnitCost
string? ShippedToCurrencyID
PackageMailModel:
string Description
int Length // mm
int Width // mm
int Height // mm
int Weight // g
string? Code
β Removed settingsβ
Several settings are unused and/or already deprecated, which is why we're now removing them from EVA.
List of removed settings
GiftWrapping:AvailabilityProvider
ApiKeyForNonAPIUsers
Pricing:ValidateAdjustments
Refund:LimitToOpenAmount
CloneOrderLineToDeliveryLine
SoldFromDeterminator:Name
RetryTransputJobs
OrderExportValidator
OrderQuantityModificationValidator
Data lakeβ
π OpeningHours in OU Data lake exportβ
The OU Data lake export now also contains the opening hours of the OU.
Sample of the OpeningHours object
"OpeningHours": [
{
"OpeningHoursType": {
"ID": 1,
"Name": "Visiting"
},
"RegularDays": [
{
"DayOfWeekName": "Sunday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "10:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "10:00:00"
}
]
},
{
"DayOfWeekName": "Monday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Tuesday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Wednesday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Thursday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Friday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Saturday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
}
],
"SpecialDays": []
},
{
"OpeningHoursType": {
"ID": 2,
"Name": "Pickup"
},
"RegularDays": [
{
"DayOfWeekName": "Sunday",
"IsClosed": true,
"TimeSlots": []
},
{
"DayOfWeekName": "Monday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Tuesday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Wednesday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Thursday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Friday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
},
{
"DayOfWeekName": "Saturday",
"IsClosed": false,
"DayStartTime": "09:00:00",
"DayEndTime": "18:00:00",
"TimeSlots": [
{
"StartTime": "09:00:00",
"EndTime": "18:00:00"
}
]
}
],
"SpecialDays": [
{
"Date": "2024-06-21T00:00:00Z",
"Description": "just because",
"IsClosed": true,
"TimeSlots": []
}
]
}
],
π ZonedCycleCounts as a Data lake exportβ
We have added a new Data lake export: ZonedCycleCounts.
Details
The file path for this new export is as follows: /ZonedCycleCounts/Year/Month/Day/
No specific cron task is required, the export is done by default.
{
"ID": "String",
"ProductID": "String",
"UserTaskID": "String",
"StockLabels": [
{
"ID": "String",
"StockLabel": "String"
}
],
"Results": [
{
"ID": "String",
"StockLabel": "String",
"ExpectedQuantity": "String",
"CountedQuantity": "String",
"ModifiedQuantity": "String",
"ZonedCycleCountResultType": "String"
}
],
"PreCounts": [
{
"ID": "String",
"CycleCountZone": "String",
"UserTaskID": "String",
"Results": [
{
"ID": "String",
"StockLabel": "String",
"CountedQuantity": "String",
"CurrentStock": "String"
}
]
}
],
"TotalPreCountTasks": "String",
"FinishedPreCountTasks": "String",
"ExpectedPreCountedQuantity": "String",
"PreCountedQuantity": "String",
"ResultStatus": "String",
"OriginTypeID": "String",
"OriginID": "String",
"GenerationTime": "String"
}
π OrderCustomType and Status in Orders Data lakeβ
The Data lake package for Orders now includes the OrderCustomType and OrderCustomStatus objects.
These include the following properties:
- ID
- Name
- Description
π IsDeleted boolean in UserBoughtProducts Data lakeβ
You can now choose whether to include deleted user bought products or not in your UserBoughtProducts Data lake export.
Other topicsβ
π Changing custom order status and type after order completionβ
EVA now allows for changing an order's status to a custom status or custom type even after the order has been completed.
To that end, you can now call UpdateOrder
with an OrderCustomTypeID and/or OrderCustomStatusID.
β Changing the displayed value in SFS overviewβ
The Ship from Store overviews in Admin Suite will now use the culture of the fulfilment OU when displaying values in the Label column.
Fixesβ
- Fixed an issue with incorrect transfer orders when creating returns on OUs in the same company.
- Fixed an issue that caused the results of
SearchStockMutations
to be incomplete. Furthermore, paging in its corresponding Admin Suite chapter is once again working as it should. - Shipping method should be unset when creating a return.
- Deleted user bought products which were pushed to its corresponding Data lake could cause an error.
- Changing a company address, will no longer cause invalid companies to be set on the invoice user data.
- Issue fixed for rembours shipments due to missing shipping costs in warehouse export.
these are now included as a root object
- Fixed an issue which caused duplicates in tax/discount details in combination with AvaTax and Vertex.
- In some specific flows, orders could remain on status Shipped, despite being completed, due to a discount/invoicing issue.
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Β User.BackendID is deprecated and will be removed in 2.0.775: No longer used.
- CreateCustomer.User.BackendID
β‘ 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Β Status is deprecated and will be removed in 2.0.751: No longer used..
- GetGiftCardOptionsResponse.Status
- LowΒ BackendSystemID is deprecated and will be removed in 2.0.747: We've dropped the usage of the BackendSystemID. The BackendID itself should be unique throughout the application landscape. Values given in this property will be ignored..
- PushCase.BackendSystemID
π« 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β
- HighestΒ EVA.Core.Services.Users.GetOrganizationUnitsForUser is deprecated since 2.0.743: UseΒ
GetLoginOrganizationUnitsForUser
.- GetOrganizationUnitsForUser
For more details on the impact categories, please see When are changes communicated?.
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.