Release notes

2020-09-23 - Updated response codes - product export

More informative error messages have been introduced for /v4/export/products. Current behavior:


STATUS: 400 
  "error": {
    "id": "IncorrectInputData",
    "message": "ApiKey - 'Api Key' must not be empty."


STATUS: 403 
  "error": {
    "id": "Forbidden",
    "message": ""

Whereas previously we used to return following status codes:


  "error": {
    "id": "Rejection",
    "message": "\"Request is missing required query parameter 'apiKey'\""



  "error": {
    "id": "UnsupportedResponse",
    "message": "403 Forbidden"

2020-01-22 - API change - product export

New field has been added to Product/Variant v4 e.g.:

"metadata": {
  "color": { "values": ["Black", "White"] },
  "material": null,
  "pattern": null,
  "gender": { "values": ["female"] },

Please note that "metadata" property is optional and all nested properties are also optional.

2019-02-26 - Tipser SDK ANALYTICS UPDATE (V1.1.7)

Performance and stability improvement: when the iframe responsible for communication between SDK and code already exists and a new instance of TipserSDK is created, we don't create a new iframe but reuse the existing one.

2019-02-17 - Tipser SDK ANALYTICS UPDATE(V1.16)

1. CDN URL change: from now on (and for any foreseeable future) the static link to get the most recent SDK version will be: . No changes when it comes to NPM distribution.

2. Analytics bugfix: Before the fix analytics purchase events were sent without the session id and were rejected by some of GA accounts. After the fix we make sure that all the events sent to GA include session id.

2018-11-30 November summary

Tipser API

  1. The sales as well as the shipping price is now available in the merchant order endpoint
  2. Campaign rules are now applied dynamically to product prices in the product export API


  1. The checkout now displays a warning dialogue if the price or availability change during your checkout session.

Fulfilment integration

  1. Merchants can now enter more than one email address for the order emails in merchant settings.
  2. Shopify Integration: Only mark products that are published as available in the Tipser inventory.
  3. Shopify Integration: Order placement now includes VAT specified.

Product import

  1. The CSV Reader can now detect which file encoding the feed file uses.

Tipser SDK

  1. The add to cart functionality now works directly from any website.
  2. Developer can load Tipser SDK via npm. This allows much better version control by developers, as well as speeds up the user experience as the script is loaded directly with the page bundle.
  3. The getCurrentCartSize() is much faster as it uses local storage to preload the number of cart items.
  4. You can now send send custom data to the shopping cart, which will be stored on the order line item and could be retrieved from the commissions API, and could be used to reconcile analytics data.
  5. Data about the merchant is now passed to the custom Tipser Analytics purchase event


  1. Wrong amount returned in the commissions API
  2. Shopping cart goes blank in some cases, due to invalid cookies in some browsers
  3. The POSId is not stored on cart item when opening product page with posID in query string. This removes the feature to link to Tipser and still keep the commission for a POS
  4. Company name is missing on the order confirmation page
  5. Pagination in POS Commissions is broken
  6. Tipser checkout does not work in the Facebook in-app browser
  7. uBlock origin extension is blocking add to cart and change number in cart actions
  8. Fix the time stamp for the order confirmation email to be CES

2018-10-02 - API change

New fields has been added to Product/Variant entity in v4: GTIN, MPN, e.g.:

"gtin": {
  "type": "Unknown",
  "value": "874034007676"
"mpn": "80950086000"

Please note that these properties will be present only for Products which contain these values in original merchant feed.

2018-09-26 - API change

Currently there is no fixed format for error messages in Tipser API, some are just HTTP codes, some contain more detailed info. We want to make error messages consistent and informative, so errors will consist of status code (e.g. 400 Bad Request) and response body in the following format:

    "error": {
        "id": "OutOfStock",
        "message": "Product is out of stock"

We are introducing the change gradually, not yet all endpoints implement the new approach.