Release notes - Customers API
This page will show the changes made in the customers API version 2023v1. The changes are marked with a publish date to staging and production. New changes will be added at the top of the page.
Base URL changes
The base url for 2023v1 has a different format compared to the previous API versions.
Previous versions are indicated with the format customers-api/2022v2
.
For the 2023v1 and future versions this has been changed to the format customers-api-2023v1
with a dash instead of a forward slash.
Model names, enums and routes changes
You can find an overview of all name, enums and route changes listed here:
CreditCheckStatus
- Renamed model CreditCheckStatus into CreditClaimStatus
- Renamed property
creditCheckStatus
intocreditClaimStatus
for model SalesOrder - Renamed property
creditCheckStatus
intocreditClaimStatus
for model SalesOrderVersion
Incoterm
- Renamed model IncoTerm to Incoterm
- Renamed property
incoTerm
intoincoterm
for model AddPurchaseOrderDelivery - Renamed property
incoTerm
intoincoterm
for model DeliveryCondition - Renamed property
incoTerm
intoincoterm
for model EditContract - Renamed property
incoTerm
intoincoterm
for model OrderedDelivery - Renamed property
incoTerm
intoincoterm
for model PurchaseOrderDelivery - Renamed property
incoTerm
intoincoterm
for model SalesOrderDelivery
Enum changes
- Removed enum value COMMITTED from CorrectionRequestStatus
- Added enum value COMMITTED to SupplyRequestLineStatus
- Added enum value RFH_E_WALLET to PaymentProvider
- Added enum value FX_SERVICES to PaymentProvider
SelectedPackingConfiguration
- Renamed model SelectedPackingConfiguration Into SalesOrderPackingConfigurationCreate
- Renamed property
selectedPackingConfigurations
intopackingConfigurations
for model SelectedTradeItem
ValidationProblemDetails
- Removed property
extensions
- Removed property
instance
- Changed property
errors
from required to optional - Added optional property
domainErrorCode
PurchaseOrder
- Moved property
deliveryRemarks
from model AddPurchaseOrderDelivery to model AddPurchaseOrder - Moved property
deliveryRemarks
from model AddPurchaseOrderDelivery to model AddPurchaseOrderRequest - Moved property
deliveryRemarks
from model PurchaseOrderDelivery to model PurchaseOrder
CustomerSticker
- Removed endpoint GetStickers
- Removed endpoint GetStickersBySalesOrderId
- Removed endpoint AddStickerRequestFromSourceInternal
- Removed endpoint AddSticker
- Changed Sticker route
/stickers
into/customer-stickers
- Replaced model Sticker with CustomerSticker
- Changed property
supplierOrganizationId
from optional to required - Changed property
Size
from required to optional - Replaced property
sourceId
andsourceType
with optional propertiesblanketOrderLineId
andpurchaseOrderId
- Added optional property
additionalServiceId
- Added required property
deliveryDateTime
- Added optional property
stickerFileInformation
- Changed property
- Added new model CustomerStickerFileInformation
- Moved property
uploadLayout
into model CustomerStickerFileInformation as required - Moved property
numberOfPages
into model CustomerStickerFileInformation as required - Moved property
numberOfCopies
into model CustomerStickerFileInformation as required - Moved property
deliverySeparately
into model CustomerStickerFileInformation as required - Moved property
stickerProvidedBy
into model CustomerStickerFileInformation as required - Moved property
shouldBePrinted
into model CustomerStickerFileInformation as required - Moved property
parentId
into model CustomerStickerFileInformation as optional
- Moved property
Required
- Changed parameter
delivery
from optional to required for model AddPurchaseOrderDelivery - Changed property
Results
from optional to required for all SyncResult models
Removed
- Removed obsolete endpoint GetAcceptedStickerUploadLayoutsFromSupplier with route
/stickers/accepted-sticker-upload-layouts/{supplierOrganizationId}
Error handling with domain-error-codes and validation problem details
Replaced the ValidationProblemDetails model with a custom ValidationProblemDetails to remove the unnecessary required extensions
property.
Introduced domain-error-codes in the API for handling the different error responses that are returned by the API.
The errors
property will no longer be used for default errors, instead the message will be placed in the detail
property with a generic message in title
that is linked to the domain-error-code
. The property type
will contain a URI to the developer docs error codes page with the domain error code as anchor e.g. https://developer.floriday.io/docs/error-codes#validation-error
For more information see https://developer.floriday.io/docs/error-codes.
- Removed property
extensions
- Removed property
instance
- Changed property
errors
from required to optional - Added optional property
domainErrorCode
DomainErrorCode - Overview
Added a new endpoint for fetching all the known domain error codes. The DomainErrorCode will contain a code, title and type linking to the developer docs.
- Added GET endpoint GetDomainErrorCodes with the route
/domain-error-codes
TradeItem - Invalid Floricode data
Added a new property to indicate if the TradeItem contains invalid Floricode data. This can mean that the vbnProductCode
, vbnPackageCode
or the characteristics vbnCode
contains an expired value.
- Added property
hasInvalidFloricodeData
SalesOrder - Additional sticker service
Customer stickers and additional services of type LABEL are now more intertwined within the new release. Customers can only place new customer stickers in combination with an AdditionalService with AddSalesOrderAdditionalStickerService. The model for AdditionalService has been updated to reflect the new flow. A new endpoint has been added to add an AdditionalService to an existing SalesOrder the endpoint will result in a new AdditionalService being added to the SalesOrder and a new CustomerSticker linked to the SalesOrder and AdditionalService. It is possible to add the sticker service without an actual PDF, the PDF can be added later but is not required.
See customer-stickersfor more information about the Additional sticker service flow and business rules.
- Renamed property
warehouses
intowarehouseIds
and changed the property to required - Replaced optional property
labelMetaData
and model LabelMetaData with optional propertystickerInformation
and model AdditionalStickerServiceInformation- Changed property
stickerTypes
into a single enum propertystickerType
- Removed property
widthInMm
- Removed property
heightInMm
- Added property
isDefault
- Added property
supportedStickerSizes
- Changed property
- Added PUT endpoint AddSalesOrderAdditionalStickerService with the route
/sales-orders/{salesOrderId}/additional-sticker-service
Sticker - Refactor
Renamed, replaced and removed Sticker endpoints, models and properties to support the new workflow with additional sticker services and to be inline with the Suppliers API. CustomerSticker can only be added with the new endpoint AddSalesOrderAdditionalStickerService see SalesOrder - Additional sticker service. It is now possible for CustomerSticker to have an optional PDF.
- Removed endpoint GetStickers
- Removed endpoint GetStickersBySalesOrderId
- Removed endpoint AddStickerRequestFromSourceInternal
- Removed endpoint AddSticker
- Changed Sticker route
/stickers
into/customer-stickers
- Replaced model Sticker with CustomerSticker
- Changed property
supplierOrganizationId
from optional to required - Changed property
Size
from required to optional - Replaced property
sourceId
andsourceType
with optional propertiesblanketOrderLineId
andpurchaseOrderId
- Added optional property
additionalServiceId
- Added required property
deliveryDateTime
- Added optional property
stickerFileInformation
- Changed property
- Added new model CustomerStickerFileInformation
- Moved property
uploadLayout
into model CustomerStickerFileInformation as required - Moved property
numberOfPages
into model CustomerStickerFileInformation as required - Moved property
numberOfCopies
into model CustomerStickerFileInformation as required - Moved property
deliverySeparately
into model CustomerStickerFileInformation as required - Moved property
stickerProvidedBy
into model CustomerStickerFileInformation as required - Moved property
shouldBePrinted
into model CustomerStickerFileInformation as required - Moved property
parentId
into model CustomerStickerFileInformation as optional
- Moved property
Clock presales supply and orders
Added new endpoints for syncing ClockPresalesSupplyLine and to place orders with AddClockPresalesOrder.
Placing orders on ClockPresalesSupplyLine is currently under early access, to sign up for this feature pleace contact us.
- Added POST endpoint AddClockPresalesOrder with the route
/auction/clock-presales-order
- Added GET endpoint GetClockPresalesSupplyLinesBySequenceNumber with the route
/auction/clock-presales-supply/sync/{sequenceNumber}
- Added GET endpoint GetClockPresalesSupplyLinesMaxSequenceNumber with the route
/auction/clock-presales-supply/max-sequence-number
Incoterm validation
Added new validation rules for the correct use of incoterm. See Incoterms for more information on the business rules.
SalesOrder - Incoterm corrections
Added the option to correct the incoterm
of a SalesOrder
- Added optional property
incoterm
for model AddSalesOrderCorrectionRequest - Added optional property
incoterm
for model SalesOrderCorrectionRequest - Added optional property
incoterm
for model SalesOrderDelivery - Added optional property
incoterm
for model SalesOrderMutables
SalesOrder - Sales channel interface
Re-added enum and property salesChannelInterface
into model SalesOrder
- Re-added enum property
salesChannelInterface
Sub customer - Sales orders
Added new endpoints to fetch the sub customer sales order information. The sub customer sales orders are created within the Exporters portal NL EN
- Added GET endpoint GetSubCustomerSalesOrdersBySequenceNumber with route
/sub-customer-sales-orders/sync/{sequenceNumber}
- Added GET endpoint GetSubCustomerSalesOrdersMaxSequence with route
/sub-customer-sales-orders/current-max-sequence
SalesOrder, SalesOrderCorrectionRequest - Created by user name
Added new property createdByUserName
as string in the SalesOrderCorrectionRequest and SalesOrder model as name of the contact person responsible for the sales order or correction
- Added optional property
createdByUserName
for model AddSalesOrderCorrectionRequest - Added optional property
createdByUserName
for model SalesOrderCorrectionRequest - Added optional property
createdByUserName
for model SalesOrderRequest - Added optional property
createdByUserName
for model SalesOrder
TradeItem - Creation- & LastModifiedDateTime
- Added property
creationDateTime
- Added property
lastModifiedDateTime
SelectedTradeItem - Custom name & Photo
Added endpoints to set the properties customTradeItemName
and SelectedPhotoUrl
- Added PATCH endpoint SetSelectedTradeItemPhotoUrl with the route
/selected-trade-items/{tradeItemId}/photo-url
- Added PATCH endpoint SetSelectedTradeItemCustomName with the route
/selected-trade-items/{tradeItemId}/custom-name
InvoiceLines - sync
Changed the InvoiceLine model and sync endpoint to support syncing based on the SyncResult model
- Added property
sequenceNumber
into InvoiceLine - Changed response of GetInvoiceLinesBySequenceNumber from List to SyncResultOfInvoiceLine
Paymentprovider - RFH_E_WALLET & FX_SERVICES
Added new enum values to PaymentProvider for Floriday only buyers and FloraXchange services.
- Added enum value RFH_E_WALLET
- Added enum value FX_SERVICES
SelectedTradeItem - by trade item id
Added the option to retrieve the SelectedTradeItem based on the id of the trade item.
- Added endpoint GetSelectedTradeItemById with the route
/selected-trade-items/{tradeItemId}
SupplyLine - Purchase tip
- Added enum value PURCHASE_TIP for model SupplyType
SupplyLine - IncludedServices
Use the existing enum IncludedServices as a list while returning the property includedServices
from model SupplyLine
- Changed property
includedServices
type from an optional List into an optional List
SalesOrder - Credit claim
Renamed the model CreditCheckStatus into CreditClaimStatus and added the optional property CreditClaimExpirationDateTime
-
Added optional property
creditClaimExpirationDateTime
for model SalesOrder -
Renamed property
creditCheckStatus
intoCreditClaimStatus
for model SalesOrder -
Added optional property
creditClaimExpirationDateTime
for model SalesOrderVersion -
Renamed property
creditCheckStatus
intocreditClaimStatus
for model SalesOrderVersion
Custom supply line sync
Added new endpoints for the use of the custom supply line sync based of the settings managed in the portal.
These endpoints uses the model CustomSyncSupplyLine which contains the same properties as SupplyLine with the added property isDisabledForSync
to indicate that the SupplyLine won't return in future sync calls because it is out of the scope managed in the settings. For example the setting has been changed to exclude all SupplyLines for a specific supplier.
- Added endpoint GetCustomSyncSupplyLinesBySequenceNumber
- Added endpoint GetCustomSyncSupplyLinesMaxSequence
Updated about 1 year ago