Integrating with Intelligent Retail

April 22nd, 2014

Intelligent Retail supply award winning EPOS solutions and Multichannel solutions. I was hired to integrate Intelligent Retail’s Web Service into an existing bespoke website and this page is about my experiences integrating.

Intelligent Retail Logo

Connect Software

The heart of Intelligent Retail is the Java based Connect software which combines a till, stock control as well as Multichannel control for external Websites and Ebay / Amazon marketplaces.
Below is a screenshot from the EPOS side of Connect.

Intelligent Retail - Connect

Faceted Search

Connect supports Faceted Search / Layered Navigation which allows users to explore a collection of information by applying multiple filters, such as colour or price range (see below). Perhaps one of Connects biggest strengths is that adding Tags to products is so easy. Tag data is available via the Web Service but you need to develop a method to use the Tag data. Most large sites use Apache Solr to power their Faceted Search but I wrote one using AJAX and MySql using Memcached to cache database queries.


Web Service

Intelligent Retail supplies their own Websites to customers but optionally supply a Web Service for developers to connect to. This secured SOAP driven PHP interface supplies all product data you would expect and allows you to submit completed orders. Integrating opposed to purchasing IR’s default “out of the box” Website will not suit everyone but it does give you flexibility and ultimate control over your Website.

The Web Service works well most of the time, but there is no out-of-hours support. If it crashes mid weekend, it won’t get restarted until Monday.

If the Web Service is down, you cannot submit an order and this is an important factor which was not mentioned in the integration docs. Nobody can afford to lose orders so I recommend that you check the Web Service HTTP Response Code to see if the Web Service is down and re-submit any such orders periodically until it comes back online (see below method).


function check_url() { // Check Web Service is up

	$curl = curl_init($web_service);       
	curl_setopt($curl, CURLOPT_NOBODY, true); 

	$result = curl_exec($curl);
	$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);	

	return $statusCode;

} // Close function



Connect allows you to either update the Web Service Incrementally or Fully.
I would like to see the updating automatically triggered by any change to the Stock Tree, therefore eliminating the current manual updating process. A Full update will update ALL products in the Stock Tree and will return a full dataset to your website. From my own experience, this could take around 2 hours to complete if you have 12,000 products. An Incremental update updates products which have changed since the last upload and is substantially faster.