Products and Articles

Make sure you familiarize yourself with the other important concepts of our API:
Prices and Quantities, Sync Markers
After taking the time to understand these concepts, you will much better understand the basics of our API.

Introduction

Before you get started with products, be aware that there is an important distinction to remember.

  1. Products: This is simply a way to group articles.
  2. Articles: These are the actual articles that you display in your application, put in your orders, retrieve the stock information of, etc.

When you are working with products that have multiple sizes and colours, these separate sizes and colours will be separate articles grouped under one product.

Contents

getProducts Retrieving all products

Use this function to get a complete or partial list of all available products.
You can use the array articleNumbers to limit the results to specific articles.
You can specify a syncMarker to limit the results to changed articles since a specific moment.
Learn more about Sync Markers here.

The result of getProducts can contain a sortOrderGroupList this list is used to indicatie which position the article has in a article group. A product can be in multiple groups and have different positions in each one of these. Use the function getArticleGroups to get a full list of the article groups.

getArticleGroups Retrieving all article groups

Article groups are used to divide products into main and sub categories.

createProduct Creating a new article

When creating an article, you need to wrap your new article in a product. See above for an explanation of the difference between products and articles.

Currently, it is possible to use the following properties when creating a new product or updating an existing one:

  • article.articleNumber
  • article.pluNumber
  • article.description
  • article.invoiceText
  • article.receiptText
  • article.displayText
  • article.barcode
  • barcodeDate
  • article.turnoverGroup
  • article.vatCode
  • article.purchasePrice
  • article.priceIncl
  • article.priceExcl
  • article.colour
  • article.size
  • article.brandName
  • article.extraText
  • article.extArticleId
  • article.supplierRelationNumber
  • article.supplierArticleNumber
  • article.categoryId
  • article.siUnit
  • orderQuantity
  • discontinued
  • stockSiUnit
  • article.customFieldList

After you create a product, the result will contain the productNumber and articleNumbers of the new product and article(s).

updateProduct Updating an existing article

When updating an existing article, you also need to wrap the updated article data in a product. See above for an explanation of the difference between products and articles. Don’t forget to supply the productNumber and articleNumber so the API knows which product/article you mean.

Currently, it is possible to use the following properties when creating a new product or updating an existing one:

  • article.articleNumber
  • article.pluNumber
  • article.description
  • article.invoiceText
  • article.receiptText
  • article.displayText
  • article.barcode
  • barcodeDate
  • article.turnoverGroup
  • article.vatCode
  • article.purchasePrice
  • article.priceIncl
  • article.priceExcl
  • article.colour
  • article.size
  • article.brandName
  • article.extraText
  • article.extArticleId
  • article.supplierRelationNumber
  • article.supplierArticleNumber
  • article.categoryId
  • article.siUnit
  • orderQuantity
  • discontinued
  • stockSiUnit
  • article.customFieldList

After you update a product, the result will contain the productNumber and articleNumbers of the existing and new article(s).

getPriceGroupList Retrieves the current list op pricegroups

When u retrieve products or a relation they can contain pricegroup information this function gets the list with numbers and names of all possible pricegroups.

getSalesPriceList Retrieves the current list op salesprices

When u retrieve products they can contain salesprice information this function gets the list with numbers and names of all possible salesprices.

getOverview

The getOverview call can be used with the cardType PRODUCT to retrieve a list of products this is an alternative to the getProduct call. This call can be used to paginate your products.

updateBatch

When used with the cardType PRODUCT it can update most product properties.

Best Practices
How to keep your application up to date with the latest data

The best way to keep your application up to date with our articles is through the use of the syncMarker property.

How you ask? When your application runs for the first time you call getProducts with a syncMarker of 1. This will return a list of articles from the API (for a maximum of 1000 at a time).

You then start processing the list and each time you do you save the highest syncMarker that was processed. For your next run you take the syncMarker that you saved, increment its value with 1 and use that for your next call to getProducts.

When articles are changed on our side, its syncMarker gets updated. Therefore, if you use this method, you will only receive a list of all the changed articles. This makes for a faster and more efficient synchronization process.

Learn more about Sync Markers here.