- New API call getBilledUntilDate has been added. This API call returns the “last billed date” for recurring billings (the same information that can also be seen in back office, Sales → Recurring billings).
- Improved backward compatibility: to have API response returned with an appropriate
"Content-Type"header (which was originally added in 1.18.0), API client must now explicitly add input parameter
"sendContentType" = 1to every request. Changing Content-Type for all requests had an adverse effect on existing API clients.
- As a performance optimization, API call calculateShoppingCart will no longer:
- Apply item-level promotion discounts (get $ or % off of a specific product) to rows with quantity 5000 or over. (Price list prices and invoice-level discounts — $ or % off entire sale — will still apply.)
- Allow rows with quantity 5000 or over to trigger a promotion. (Promotion “Buy Product X and get 10% off entire sale” will not apply if you set the quantity of Product X to 5000.)
- Processing a large quantity requires more server resources and may be slow. In the “calculateShoppingCart” requests sent from POS, a large quantity is usually a cashier’s typo, for example a product code scanned into the Quantity field. Thus, this change ensures that a mistyped quantity will not make POS unresponsive.
"lastModifiedByUserName"have been added to API call getPriceLists.
"batch"has been added to API calls getSalesDocuments and saveSalesDocument, to each document row. It is related to extra module “Alcohol Wholesale”. To be able to use this field in API, this extra module must be activated on your account. (This field was formerly visible in back office, on sales document form, but was not editable over API.)
- Support for Vietnamese language has been added. However, to use Vietnamese, account must be updated to a back office version that supports Vietnamese. Vietnamese support is coming in Classic back office 4.7.
- Support for “subsidies” (originally added in API version 1.13.0) has been improved. In API “saveSalesDocument” call, subsidy now gets calculated and stored for “Get these items for a special price” promotions, too.
- Fixed: API call getSalesDocuments now returns a reference number for Sales Orders, too. Formerly, Sales Orders printed from back office did have a reference number, but API did not output it.
- Fixed: errors in API calls “getSchedule”, “getTimeSlots” and “saveEvent” have been fixed.
- Fixed: API call “saveSalesDocument” will no longer attach manual discount’s reason ID to discount records that are not manual discounts (ie., to price list and promotion discounts). This issue might have been observable when retrieving discount records with API getAppliedPromotionRecords call.
- Fixed: products that have a product card price 0.00, but for which a price has been defined in a store price list, were incorrectly flagged by API getSalesDocuments as
"originalPriceIsZero" = 1.
- Fixed: after calling saveCompanyInfo and saveAddress simultaneously, attempting to edit company information in back office sometimes failed with an error, “This form has been updated by another user.”.
- Fixed: calling getProductStock with the parameters
"getProductsWithReorderPointDefined" = 1or
"getProductsWithRestockLevelDefined" = 1did not return products with which no inventory transactions had taken place yet.
- Fixed: according to documentation, saveSalesDocument is supposed to apply store- and customer-specific price (and discount) when omitting
"discount#"input parameters. This did not work if product’s original price on product card was 0 and its price had been specified in a price list.