GuidesChangelog
HomeLog In
These docs are for v2023.1. Click to read the latest docs for v2023.2.

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 into creditClaimStatus for model SalesOrder
  • Renamed property creditCheckStatus into creditClaimStatus for model SalesOrderVersion

Incoterm

  • Renamed model IncoTerm to Incoterm
  • Renamed property incoTerm into incoterm for model AddPurchaseOrderDelivery
  • Renamed property incoTerm into incoterm for model DeliveryCondition
  • Renamed property incoTerm into incoterm for model EditContract
  • Renamed property incoTerm into incoterm for model OrderedDelivery
  • Renamed property incoTerm into incoterm for model PurchaseOrderDelivery
  • Renamed property incoTerm into incoterm 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 into packingConfigurations 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 and sourceType with optional properties blanketOrderLineId and purchaseOrderId
    • Added optional property additionalServiceId
    • Added required property deliveryDateTime
    • Added optional property stickerFileInformation
  • 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

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, vbnPackageCodeor 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 into warehouseIds and changed the property to required
  • Replaced optional property labelMetaData and model LabelMetaData with optional property stickerInformation and model AdditionalStickerServiceInformation
    • Changed property stickerTypes into a single enum property stickerType
    • Removed property widthInMm
    • Removed property heightInMm
    • Added property isDefault
    • Added property supportedStickerSizes
  • 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 and sourceType with optional properties blanketOrderLineId and purchaseOrderId
    • Added optional property additionalServiceId
    • Added required property deliveryDateTime
    • Added optional property stickerFileInformation
  • 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

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 into CreditClaimStatus for model SalesOrder

  • Added optional property creditClaimExpirationDateTime for model SalesOrderVersion

  • Renamed property creditCheckStatus into creditClaimStatus 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