Whilst the frequency of accessing the api is totally down to the application using it, it may be useful to explain the recommended timings and areas to pay attention to in order to maintain best practise.


Overnight Processing

Overnight is the time to do bulk updates and pick up changes to data which doesn't change that often. Typically we are talking about


  • New and updated customers
  • New and updated products
  • Changed prices


New and Updated Customers


A call should be made to the [CustomerChange] end point sending in the previous day as a parameter. This will return a list of all the customer account numbers and their internal id's.


This will include existing customers which have been edited along with newly created accounts which the website may not have encountered previously. For each account returned a call should be made to [Customer] to retrieve the full customer data.


New accounts may require a 'sign up' email sending to the customer informing them how to login to the website. This process is the responsibility of the website and not handled within Caliq.


For updated customers there are a number of key data points to check for changes


  • <Active> This may change between true and false. Accounts made inactive in Caliq should be deactivated on the website
  • <PriceListID> This dictates the price list to use for this customer. If the customer is given bespoke pricing this value may change
  • <OnStop> the customer may have been placed on stop. You may not wish to do anything and carry on taking orders but that is a business decision
  • Address <Active> Addresses may be made inactive within Caliq and this needs to be reflected in the customer portal



New and Updated Products


A call should be made to the [ProductChange] end point sending in the previous day as a parameter. This will return a list of all the product codes and their internal id's.


This will include existing products which have been edited along with newly created products which the website may not have encountered previously. For each product returned a call should be made to [Product] to retrieve the full product data.


For updated products there are a number of key data points to check for changes. A lot of these are provided for your convenience and different web implementation may choose to ask on them in different ways.


  • <Status> Products going to status 3 are discontinued. They may need to be taken off the website
  • <CanSell> Can be set within Caliq. Not a discontinued product but for some reason cannot currently be sold.
  • WebData <ShowOnWeb> May be set to false in Caliq for some reason. Maybe when stock is short.



Changed Prices


Do to the complex nature of the pricing in Caliq it is very difficult to highlight specific price list changes. From day to day new price lists may be created and the prices within them may change. New customer specific price lists may be added. It is our recommendation to do a full price list refresh overnight (or less frequently as agreed with the client)



During The Day


During the day the only api we would suggest calling regularly is for [Stock]


Stock


As well as the basic stock figure this api call also return several other data points such as future availability, incoming purchase order dates and status. This is documented on the technical site.


The api can be called in 3 ways. The simplest way will just return the stock data for all active products. This can be an overwhelming amount of data to process especially if the stock api is called very frequently.

To counter this we have an option on the call the only return stock figures which have changed since the previous api call.


The third way is to call the stock api on a product by product basis, as required. This provides live stock levels but presents an issue if the api is not available for some reason.




End Of Day


The api end point [Despatch] will provide a list of warehouse despatches made since a given date. This will include the despatch number, order number along with carrier details and tracking and a full product line listing. Once an despatch has been returned form this call it wont be returned on subsequent calls even if the date range matches. It may be desirable to call this api during the day if preferred.