Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Coming next release

Lowest price last 30 days and calculated discount

(RTP-31666)

The LowestPrice and LowestPriceDiscount fields are added to the response under CartItem.

Adyen refunds

(RTP-28237)

When trying to refund an Adyen payment, it is possible to do it while setting the property WaitForResult=True on SetCartReadyForPaymentAction method. 

The line note is added to all selected items for the return 

(RTP-33824)

If the parameter 'AddLineNoteToComplaint' is active, a line note is added to all items selected for return during the online return process.

Order Dispatch/POSAPI Paid lines deleted from Chain web are not refunded

(RTP-31954)

RemoveItemFromCart returns OperationNotAllowedInCurrentStateFault if paid or paidnow on the line is greater than 0.


...

Released 26.09.2024

CouponCodeUsed in GetCart request

(RTP-30889

GetCart correctly returns CouponCodeUsed in DiscountDetails.

Unique Pick-up codes for Click and Collect Orders

(RTP-33208)

Due to concurrency, duplicate pickup codes were used for different orders for the same store. After fix, all Click and Collect orders will get unique pick-up codes.

Improved error handling for import of orders/sales

(RTP-31109)

When the order/sale received by the BatchToPosApi package fails with an InvalidQuantityFault, CartItemNotFoundFault or CartIsCancelledFault - it no longer retries after the initial fail. 

BatchToPosApi - Fix for rounding in fuel sales

(RTP-31190)

When creating a receipt in POS API based on a fuel sale receipt, the rounded total amount is the same as the amount stated in the initially received file. 

RemoveItemFromCart should fail if the item is already removed

(RTP-18672)

Removing item which is previously/already removed will fail with an error

Coupon Type in SetLoyaltyIncart 

(RTP-29378)

SetLoyaltyIncart returns the coupon information for the cart with in the new field "Type" to indicate what type of coupon it is. Possible returned values are: Unknown, CouponId, CustomerId, Bonus, BonusReward, BonusAmount, BonusCheck, StampCard, TenderCoupon.

BatchToPosApi - Delivery address not required for click and collect

(RTP-4516)

When the delivery method is set to "LRS.RIS" (click and collect), the delivery address is not be required.

BatchToPosApi - Adjust ordered quantity in deliveryOrder 

(RTP-33304)

It is possible to adjust ordered quantity using the deliveryOrder file type through BatchToPosApi. The items must not have been already delivered. 



...

Released 19.09.2024

Customer-specific transaction details in POS API 

(RTP-32993)

Structured notes for 'ExternalTypeCode', 'CountryCode', 'ExternalLineTypeCode', and 'TaxGroupID' are included in all EG POSLogs from the POS API. Even if a receipt is converted to a lower POSLog version that doesn't support these fields, the information is retained in the POSlog as long as the version supports structured notes. The structured notes correctly translate to ARTS extensions during conversion in ReceiptService, ensuring consistent handling of transaction data across different versions and sources.

Expand
titleConfiguration
POS Configuration 

The following relevant parameters must be configured for this to take effect.

  • 'SaveExternalTransactionInfo' (default false) must be set to true.
  • 'ExternalTypeCodes' default value containing the default transaction types for the specific customer. 
  • 'ExternalLineTypeCodes' default default value containing the default line item types for the specific customer. 
  • 'TaxGroupIDs' default value containing the default tax group id's for the specific customer. 

Update in fault handling for invalid discounts

(RTC-41794)

GeneralFault is returned for scenarios wherein an invalid discount is added to cart (ItemSale/SetCartItemDiscount endpoint). This replaces InvalidDiscountFault since it is not in the list of possible faults in the contract.

InvalidCastException in POSAPI resulting in 500 error code

(RTP-30989)

We're encountering an Invalid Cast Exception on certain endpoints related to POSLog, which is causing the POS API to return a 500 error. This issue has been resolved by updating the error code to 400 and providing a valid failure message.

External Order Number 

(RTP-32350)

External Order Number can be set in ReserveCartInStore and is sent through POS Message.


...

Released 05.09.2024

Post-registration of members through NewCartForTransactions

(RTP-25537)

Adding a member to a finished receipt can be done by passing the value "PostRegisterCustomer" for transactionMode in NewCartForTransactions method, including a reference to the finished cart in cartReference. The loyalty number of the member can be added by using SetLoyaltyInCart method using the cart ID in the response from NewCartForTransactions.

Fix for rounding issues

(RTP-26817)

ExtendedAmountRounded and ExtendedAmountOrderedRounded mismatch is fixed, which solves rounding issues in POS API. 

Fetching latest completed receipts

(RTP-26817)

The latest completed receipts can be fetched by using GetLatestCompletedCarts. By default, the end point returns the last 50 receipts, but it can be configured to retrieve between 1 and 200 receipts.


...

Released 28.08.2024

Update Klarna after capture

(RTP-28666)

When updating an order in POS API, by reducing the quantity of an item or deleting an undelivered item, the Klarna payment is updated. After the change in quantity and capturing the transaction, the remaining amount is released in Klarna and no longer requires settling. 

Fix for missing operator in POSLog conversion

(RTP-32369)

Missing operator that caused POSLog processing to fail for those converted to a lower version is fixed. OnPremiseSupportedPOSLogVersion must be specified.

Error improvement for bundle sales

(RTP-30400)

400 bad request is returned with "InvalidPrice fault" when attempting to sell a bundle with price higher than individual items.

Error message regarding coupons improvement

(RTP-29642)

When an invalid or expired coupon is added or used, proper error message is displayed.


...

Released 08.08.2024

Improved error handling in SetStoresForCartOrderPicking method

(RTP-32043)

When using the SetStoresForCartOrderPicking endpoint with a non-existing item identifier, the response is more descriptive. It gives information about the cart id and the wrong cart item identifier. 

Removal of picking order when using DeleteCartOrder

(RTP-27938)

Deleting an order from cart in POS API also deletes it in Backoffice, as well as makes it unavailable for picking in InStore App. 


...

Released 23.07.2024

CouponValidationType in CartCalculator

(RTP-30760) 

CouponValidationType parameter is added to CartCalculator method, wherein value can be set to either "None" or "Online". When value is set to "Online", CartCalculator contacts coupon provider and fetches all the available coupons, and if there are coupons added in the request, they are ignored. When value is set to "None", no online validation is done and only the coupons added in the request are added. If parameter is left out in the request, the default value is "Online".

Sending SMS for cancelled click and collect orders

(RTP-29904)

Method SendCartOrderConfirmationNotification can be used on already finished/cancelled receipts to send SMS with information to the customer. 

SKU (Stock Keeping Unit) in POSLog XML and ARTS POSLog XML

(RTP-31651)

Extended POSLog with string field called "SKU" in element "ArticleDetails".

The new field is also included in the transformation to ARTS POSLog XML v2/v6.


...

Released 11.07.2024

Restrict update of default customer information

(RTP-22425)

When customer Id and the default customer (ItemSaleServiceCustomerNumber) are same then customer information update will not happen.

Unit of measure for returns

(RTM-8262)

Calling GetItemsAvailableForReturn returns the unitOfMeasure property in the response, set to one of the following: Kilogram, Meter, Liter, Gram, Piece, Meter, Hour.

Items that are set to be not sold 

(RTM-7977)

When searching for items in POS API using the SearchItem methods, items with the flag IsDeleted = True don't show up in the results. 


...

Released 01.07.2024

Conditional Setting of 'CustomerId' During Member Fetch

(RTP-30044)

When fetching a member from PosCustomerService to POS API, the customer ID is included if the response contains any 'CustomerId'. This ensures that discounts can be applied based on the customer, not just the member information fetched


...

Released 27.06.2024

Support for EAN14 (D-PAK/DUN) 

(RTP-30620)

When adding an item to cart, it is now possible to add it by using an EAN14 (D-PAK/DUN) number. If the item has the property quantityInSmallPackage set, the quantity specified in the request will be multiplied by the amount set as the value for quantityInSmallPackage.

PosApiDataExport changes in POSPriceItem and POSPrice

(RTP-30362) 

We've added the value offerId to POSPriceItem and POSPrice export formats, to easily identify which promotion each promotion price belongs to in the export.

Documentation for payment methods

(RTP-17344)

The payment endpoint for POS API is now documented in Swagger. The added methods are:

  • /CancelBonusPayment
  • /CancelGiftCardPayment
  • /GetAvailableBonus
  • /GetCloudPaymentServiceConfiguration
  • /SetCartReadyForPaymentAction

Boarding pass count

(RTP-29731)

GetCart endpoint shows correct boarding pass count.

Delivered Cart ID in GetItemsAvailableForReturn

(RTP-28054)

Delivered Cart ID is added to each line item for end point GetItemsAvailableForReturn. This makes it possible to return items from different paid receipts in the same return.


...

Released 07.06.2024

Returns through BatchToPosApi

(RTP-4100)

Support for sending return order JSON files to BatchToPosApi is supported, while providing the orderNumber for the cart we want to return from. The files can be sent as either CompletePosApiOrder or BasicPosApiOrder.

AgeVerificationResult retained from previous receipt when resuming a cart

(RTP-28711)

When BeginCartEditing is called on a cart with age restricted items and RequestAgeVerification = FALSE, AgeVerificationResult is retained from previous receipt.


...

Released 23.05.2024

Fix for exceptions generated when searching for receipts on hold

(RTP-29750)

Calling SearchReceiptOnHold no longer causes exceptions when ShopAndGoReceiptOnHoldServiceURL parameter is configured and IsShopAndGoCheckoutRegister is set to true.

Import of item attributes related to duty-free and grocery

(RTC-40741)

Attributes 'Duty free', 'Sealing bag', 'Restricted', 'Origin' and 'Weight control' are visible in item details, and are exported and imported by both JSON and Excel files. Origin and weight control can be defined as store local values.

Info
titleRequired

POS Master 3.0.0.161 or higher
POS Import 4.0.68 or higher


...

Released 15.05.2024

New parameter skipAddingLinkedItems in NewcartWithItems and AddItem(s)ToCart

(RTP-23993)

A new optional parameter, skipAddingLinkedItems, is added to  NewcartWithItems and AddItem(s)ToCart. This parameter is used to either add or skip the linked item. If this is true, any linked item will not be added to the cart. If this is false, any linked item will be added to the cart if it exists. This would work with items that have overriden VAT in the cart. In BatchToPosApi, skipAddingLinkedItems is set to true for complete order import, which results in skipping of linked item on the cart.

BatchToPosApi cardIssuerIdentifier mapping settings

(RTP-29427)

Mapping settings are added for cardIssuerIdentifier to the BatchToPosApi LIP package. When configured with given values, it will use those values as cardIssuerIdentifier when creating the POSLog. 

BatchToPosApi - Fix for Subtotal Rounding value

(RTP-29653

The remaining amount to pay is no longer stored in the SubtotalRounding element in the POSLog. The field only stores the rounded amount.

...

Released 07.05.2024

Support EANs that allows to add price discount to the specific item

(RTP-28029)

Support for EANs with format defined in POS Configuration Parameter DiscountLabelRegEx is added to methods NewCartWithItems, AddItem(s)ToCart. 

Expand
titleConfiguration
POS Configuration 

New parameter: DiscountLabelRegEx

Configures a Regex for a new item price discount.

Example value:

Image Added

Parameter is set to recognize 20 digit barcodes where digit 14 is zero. First 13 digits in the barcode is EAN. Last 6 digits in the barcode is the new price. Where enter for example 00000000060070008000, it sets a new price 80 for item with EAN 6007.

Override fixed price in cart

(RTP-28029)

When AllowLineDiscountOnFixedPricedItems POS parameter is set to true, it is possible to change price if an item with fixed price.


...

Released 02.05.2024

Group links for linked items

(RTP-26364)

When a cart contains linked items, the group links for those items are no longer duplicated when BeginCartEditing is used. The duplication previously caused an exception.


...

Released 25.04.2024

BatchToPosApi - ShippingProgress in Order Delivery

(RTP-28838)

ShippingProgress can be sent as part of the JSON body in the order delivery file through BatchToPosApi. The chosen value will be then used in the DeliverCartItem request and saved in the POSLog XML as ShipmentProgress.

POS Maintenance - SendEobdJob exception handling when a cash register has missing number series

(RTC-39594)

If a cash register has a number series missing, it doesn't fail the SendEobdJob. Instead, it logs a warning and proceeds with the rest of the cash registers that have the proper configuration. The EOBD receipt is created at a previously specified time.


...

Released 18.04.2024

FaultCode added to GeneralFault response

...

  • Id is included for normal price and campaign price in the exported blobs
  • VAT rate is included for normal price in the exported blobs

BatchToPosApi - ShippingProgress in Order Delivery

...

ShippingProgress can be sent as part of the JSON body in the order delivery file through BatchToPosApi. The chosen value will be then used in the DeliverCartItem request and saved in the POSLog XML as ShipmentProgress.

New cart properties for delivery/payment state

...

Orders with no payment lines included are properly processed and merged in the BatchToPosApi database.

...

BatchToPosApi - Fusion Fuel Integration - Import of fuel transactions from outdoor payment terminals

(RTP-26466)

Fuel sale orders are imported by the new FuelSaleImport job in BatchToPosApi. Afterwards, the SaleFromStagingToPosApi job is triggered on schedule. The job calls POS API endpoints based on the JSON content that was derived from the fuel sale POSLog. In this way, a new cart and POSLog are created in POS API for the sale receipt that was received. 

...

Greatly improved the speed of exporting item prices in PosApiDataExport ExportPrice job. Previously a batch size of 100 took 2 minutes to complete with the old procedure. Now, a batch size of 1000 takes 2 seconds with the new procedure.

Group links for linked items

(RTP-24358)

When a cart contains linked items, the group links for those items are no longer duplicated when BeginCartEditing is used. The duplication previously caused an exception.

...