Manual for Icecat Live: Real-Time Product Data in Your App

Avatar for icecat
By
Likethumbsup(35)Dislikesthumbsdown(0)

Icecat Live is a (free) service that enables you to insert real-time product content from hundreds of major brands or manufacturers in any of your apps. Just with a few lines of JavaScript in your HTML template. This manual provides a quick guide on how to embed product information into your website easily. Further, we describe the Icecat Live service and give a concise overview of the Icecat inner structure. This post focuses on the embedding of Icecat Live product data, as this is the most common application of our Live interface. If you plan to integrate Icecat Live, we advise you first to integrate free Open Icecat Live and evaluate it for your purposes. And then, plan the next step by upgrading your interface to Full Icecat.

Please, note that Open Icecat Live requires a free subscription. Please, first register (free) if you don’t have an account yet to receive an Icecat user name and access to the Icecat Control Panel.

Open Icecat Live requires a free subscription. Please, first register if you don’t have an account yet.

Other Integration Methods

If you want to integrate product data without frames, conforming your CSS, then use this Icecat Live manual. Live (JS) is the modern variant of the good-old URL integration method. If you want to have full control over the data, then make use of the XML, JSON or CSV download methods. Further, check out the Add-On page for popular platforms already integrating Icecat data. Are you interested in adding product reviews? Then check out our reviews manual. Brand owners that look into pushing data into Icecat, please, look into our Push-API or for manual data-entry Icecat’s Free Vendor Central.

What is Icecat Live?

What is Icecat Live? Icecat Live is basically a JavaScript (JS) service, providing real-time inserts of product data in client websites. Icecat Live both enables the seamless insert of a full product data-sheet, and the seamless insert of individual content assets, without the need to use frames or iframes like in the Icecat URL service. The Live version is the easy integration where -in the case of Full Icecat- all authorization and security is handled at the Icecat server side.

The supported content assets are:

  • Product Identifiers
  • Product Title
  • Category
  • Marketing Text
  • Specs incl. explanatory texts
  • Images
  • Reasons To Buy (Feature logos and/or feature texts)
  • Videos
  • Leaflets & Manuals (PDF)
  • 3D Tours/360o objects
  • Expert Reviews

The JavaScript (JS) calls makes it very easy for channel partners to embed product information into their websites with just a few lines of code in an HTML template or app. Both a complete data-sheet and individual objects can be called. In this manual, we included the calls for the most popular individual objects.

Please, note that some Open Icecat brands like Philips, make certain rich media assets (e.g., video) only available for their Authorized Resellers. Please, contact us in case you see on the icecat website more assets than that you can access through Icecat Live.

Choosing the right Icecat license: Start with free Open Icecat

Open Icecat is a worldwide unique, open catalog, with product data sheets in co-operation with major global brands and channel partners. The Open Icecat data sheets are fully approved by the sponsoring manufacturers and are distributed for free to channel partners to reduce their content costs and improve the shopping experience. Open Icecat contains the product specifications and additional information in one single standardized format, which facilitates easy categorizing, filtering, searching and comparison of products.

In return, we require the Users of free Open Icecat to inform their business partners (distributors, manufacturers, retailers) via a newsletter and/or on the website that they are using Open Icecat, and that they require their partners to join as well so that all product content will become available through the free, open catalog. The more brands join, the better and more complete Open Icecat will become.

TIP: Choose Open Icecat if you are new to Icecat or Icecat Live.

If you want to decide to use Icecat, it may be important first to analyze the coverage of your portfolio or the portfolio of your supplier. You can always ask us to provide you with an overview of the current coverage of (stock) portfolio of your suppliers (f.e., distributors) at any given moment. We strive to cover at least 90% of the stock portfolio (stock > 1) of mainstream distributors and work together with partners to daily monitor this coverage. Read more about Why Upgrade to Full Icecat.

If you want to analyze coverage yourself, you need to register and upload your catalog to Icecat via the Icecat Control Panel. In the match analysis, you get the match percentages for Full Icecat and Open Icecat, and you can get a list of the unrecognized products. An advantage is that you can also, optionally, display your offers on the Icecat price comparison sites (Icecat.biz has a great alexa.com ranking).

TIP: if you upload your price feed, Icecat will automatically provide you with your private Icecat index if you want to use the Data interfaces of Icecat. For more information, see also the Icecat Subscription Plans. If you want to upgrade to Full Icecat Live, you can contact us via the contact form or the Icecat Control Panel.

Access to Icecat

To obtain access to Open Icecat, you will need Icecat login credentials. If you don’t have these yet, please, register online for free to Open Icecat.

TIP: for many mainstream solutions standard interfaces are available, including Magento, Prestashop, osCommerce (and siblings) and Batavi.

Embedding Icecat Live JS into your website

Below you may find the data flow diagram of Icecat Live JS integration:

schema 1

Icecat Live JS API

Icecat Live refers to a program code written in JavaScript (JS) that is embedded in a web page, and executed by the browser of your site visitor when a page is downloaded by the respective visitor, or in response to an event triggered by you as a Partner.

JS allows to create a bridge between a webshop and the Icecat catalog, which makes it possible to incorporate product information (descriptions, leaflets, multimedia objects) into merchant webshops. Moreover, Icecat Live uses Document Object Model (DOM), which allows to update content dynamically.

TIP: to see Icecat Live in action, JavaScript should be enabled in your browser.

Open Icecat Live integration

On every product page of an Open Icecat brand, a demo can be found of an Icecat Live integration. Go for example to the HP Spectre Pro x360 product page, and click in the “Embed the product data-sheet in your content” section on the link “Icecat LIVE: JS for HP V1B02EA”. A new page will then open that demonstrates the use of Icecat Live JS.

As a demo, we also made a very simple integration example of an Icecat Live data-sheet on a blog page, using an Icecat demo account and test account on Blogger.com. It also gives an HTML code example of a very simple webpage with the Icecat Live JS code embedded:

<html>
<head>
<script src="https://live.icecat.biz/js/live-current-2.js"></script>
</head>
<body>
<div id="IcecatLive">
</div>
<script type="text/javascript">
setTimeout(function(){IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'openIcecat-live','Brand':'HP','ProductCode':'F0Y97EA'},'en');}, 200);
</script>
</body>
</html>

TIP:  ‘openIcecat-live’ is just the name of a demo account, that will give a “demo” message as well in the header. Use your own free Icecat user account, and this demo message will disappear.

Follow these three simples steps to integrate Open Icecat Live on your website:

1) To embed the Icecat Live library into an HTML page:

<script type="text/javascript"
src="//live.icecat.biz/js/live-current-2.js"></script>

NOTE: it's not necessary to put the any part of the script in the <head> part of the HTML as was done in the example above.

2) To insert into an HTML page a specific DOM element by a unique Id:

<div id="IcecatLive"></div>

3) To make the Live Icecat library call with your personal parameters:

<script type="text/javascript">
setTimeout(function()
{
IcecatLive.getDatasheet('#IcecatLive', {
'UserName': 'userShopName',
'GTIN': '1234567891234',
'Brand': 'abcdefg',
'ProductCode': '123abcdefg',
'IcecatProductId':'123456',
}, 'en');
}, 200);

There are three ways to access a data-sheet: by ‘Brand’+’ProductCode’, by ‘GTIN‘ or by ‘IcecatProductId’.

a. Do a call by Brand + Manufacturer Product Code combination. We will try to recognize the product even for a known variations of Manufacturer Product Code.

Example:

IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'demoshop',
'Brand':'Philips','ProductCode':'123456789'},'en', 200);

b. Do a call by GTIN code (EAN or UPC or JAN)
Example:

IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'demoshop',‘GTIN’:'8478097595798729'},'en', 200);

Description of the parameters:

ValueExplanation
UserNameIcecat User Name
BrandThe brand name of the product
ProductCodeThe brand’s product code or manufacturer part number, uniquely identifying the product in combination with brand name. Also called manufacturer part code.
GTINThe GTIN: EAN (European Article Number ), UPC (Universal Product Code) or JAN (Japan Article Number)
IcecatProductIdIcecat’s Internal numerical product identifier. Only to be used by advanced users that (already) make use of the Icecat index files.
‘en’An example (en=English – GB) of the two or five character code used by Icecat to identify the locale. There are more than 40 languages or locales available in Icecat. See here the complete language/locale code table of Icecat.
200An example (200s) of a time-out setting in seconds

Look & Feel customization

Open Icecat Live is responsive by design and adapts to your own CSS. If more customization is needed, you can customize our JS to your own needs. To perform customization, you need to store icecatlive.js locally on your server, edit it to your own needs and switch to your customized library in your HTML code.

Please, note that Icecat does not support client customized JS libraries. If you use these, arrange support yourself.

Call Individual Objects: Video, 3D and Reasons-To-Buy

In case that you don’t want to insert the complete data-sheet (IcecatLive.getDatasheet), but only a specific object, we have created separate calls for inserting a Video, a 3D tour or Reasons To Buy.

NOTE: these are the most common requests for individual objects. Contact us for information about other calls for individual objects or CSS customization.

The syntax is as follows:

  1. IcecatLive.getVideos (outputSelector, resource_id, lang)
  2. IcecatLive.get3DTours (outputSelector, resource_id, lang)
  3. IcecatLive.getRTB (outputSelector, resource_id, lang)

getVideosget3DTours, and getRTB are separate calls of video, 3D tours (360o views), and Reasons To Buy respectively. The parameters which you have to pass to these methods are completely the same as with the already discussed getDatasheet call. outputSelector is a container where you want to place Icecat Live’s content; resource_id is a query parameter and lang is the preferred language (or locale) for the page.

Examples of a call for the video(s) object.

With Brand + Part Code (see also a test on a blog):

 IcecatLive.getVideos("#videosContainer", {
 'UserName': 'openicecat-live',
 'Brand':'Philips',
 'ProductCode':'50PFL5008T/12',
 }, 'en');

With GTIN (EAN, UPC):

 IcecatLive.getVideos("#videosContainer", {
 'UserName': 'openicecat-live',
 'GTIN': '8712581669904',
 }, 'en');

Example of a call for a 3D tour object (syntax variants are the same as for getVideos):

 IcecatLive.get3DTours("#toursContainer", {
 'UserName': 'openicecat-live',
 'GTIN': '8712581669904',
 }, 'en');

Example of a call for an RTB object (syntax variants are the same as for getVideos):

 IcecatLive.getRTB("#RTBContainer", {
 'UserName': 'openicecat-live',
 'GTIN': '8712581669904',
 }, 'en');

The parameters are equal to the ones for getting a complete data-sheet.

Further Questions or Remarks?

Please, contact us in case of questions or comments via your Icecat account manager or via the website  

  • commented on December 21, 2016 by Sergio cañadas

    Hi

    I'm Sergio Cañadas, my username in Icecat is ******.

    We are trying use open icecat live:

    Our setting in prestashop code is:

    setTimeout(function()
    {
    IcecatLive.getDatasheet('#IcecatLive', {
    'shopname': '******',
    'ean_upc': {$product->ean13},
    'type':'html'
    }, 'es');
    }, 200);

    It worked first time, but after response is:
    Display of content for users with a Full Icecat subscription level will require the use of a server certificate and a dynamic secret phrase. Please, contact your account manager for help with the implementation

    An example url result is:
    https://live.icecat.biz/api?shopname=******&lang=es&content=&ean_upc=5711045764349&type=html&version=1.0.0.0

    Could you help us?

    Regards

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Dear Sergio

      You are trying do get product information that belong to Full Icecat catalogue. For that you need Full Icecat subscription. My colleague Deisy Vanegas will contact you to discuss the further steps.

      Kind regards

      Vazha Abramishvili

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on May 12, 2017 by Zaman Ali

    hi dear service i want to order one LCD screen for my tv because it has gone break so i wish that you can help your customer thanks here is my number and you can also contact me.

    Likethumbsup(0)Dislikesthumbsdown(0)
    • commented on June 1, 2017 by Gloria Serafini

      Hello, we do not sell products. We provide product data. However, you can check out LCD monitiors' specs in our catalog: https://icecat.biz/en/lcd-tvs/s/?page=1&stock=0&sort=score&view=list For many brands, data is accessible for free. Kind Regards, Gloria

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on September 19, 2018 by pedro cordova

    Hi, i only need to show the specs of the product i mean the div "icecatLiveFeatureGroups", how can i made the script to made that?

    example of the script that i use

    setTimeout(function(){
    IcecatLive.getDatasheet('#IcecatLive', {
    'UserName': '*****',
    'Brand': '***',
    'ProductCode': '*****',
    }, 'es');
    }, 200);

    Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on January 25, 2019 by James A Wagner

    Hi We have a copy of icecast which was on our streaming computer for our radio station 4DDD Dalby QLD Australia we lost all data on our system and have replaced with a new set up which intern our technition no longer is with us and no one here knows how to set icecast up to stream could someone please advise on how to do

    James A Wagner

    Chairman
    4ddd Western Downs Radio
    Email: chair@radio4ddd.com.au

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Dear James,

      I think you are confusing companies, we are Icecat not Icecast and we don't have this application you are asking about, so unfortunately we cannot help you.

      Kind Regards,
      Laura

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on April 16, 2019 by Sergio

    I have a full Icecat subscription.
    Where can I find the full documentation of icecat live?

    In the documentation page you mention 4 functions, just for explanation purposes:

    getDatasheet
    getVideos
    get3DTours
    getRTB

    Where can I see the full list of functions available? Which one should I use if I only need to get the images, or the specs, or the marketing text?

    thanks in advance

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Dear Sergio,

      The full list of functions available you can find here: https://iceclog.com/icecat-live-manual-for-granular-call/
      In this manual you have all the definitions for call, so you can find all the functions to get images, specs...etc.

      Kind Regards,
      Laura

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on September 14, 2020 by Sophie

    Hi We want to integrate your platform to our shopify site for us to be able to integrate images and contents in buik.

    Can you give us instruction on how to do it pls?

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Our Iceshop colleagues will come back to you as you can sign up for the Shopify integration pilot. Further, you could contact Shopify as well.

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on January 9, 2021 by Morten Jørgensen

    {IcecatLive.getDatasheet('#IcecatLive',{'UserName': 'openIcecat-live','Brand':'HP','ProductCode':'204N9EA#ABF'},'fr');}

    If 204N9EA#ABF is a French product and I need lang=fr to get data.
    But how do I define "en" as language to get content in english?

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Dear Morten, just replace lang=fr by lang=en. Even if it's a French product version, we still have language version automatically for each product data-sheet. Note: most if not all localization codes like #ABF are mapped away to a mother data-sheet as the key specs are the same.

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on March 21, 2021 by Béla

    Hello,
    I also want to display products specs
    How ?
    Thanks

    Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on March 22, 2021 by antonio

    Salve
    stiamo facendo qualche prova per vedere come si presentano le descrizioni all'interno del nostro prestashop:
    abbiamo provato con questo :

    setTimeout (function () {IcecatLive.getDatasheet ('# IcecatLive', {'UserName': '*******', 'Brand': 'HP', 'ProductCode': 'F0Y97EA'}, 'it');}, 200);

    inserito nel codice sorgente della scheda dettagli prodotto ma al salvataggio ci da questo errore
    "Il campo description (Italiano (Italian)) non è valido."

    Potete darci qualche dritta ?

    Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on March 22, 2021 by antonio

    stesso errore

    sempre "Il campo description (Italiano (Italian)) non è valido"

    questo è quello che stiamo usando

    //

    //

    Salve
    stiamo facendo qualche prova per vedere come si presentano le descrizioni all'interno del nostro prestashop:
    abbiamo provato con questo:

    setTimeout (function () {IcecatLive.getDatasheet ('# IcecatLive', {'UserName': '*******', 'Brand': 'HP', 'ProductCode': 'F0Y97EA'}, 'it' );}, 200);

    inserito nel codice sorgente della scheda dettagli prodotto ma al salvataggio ci da questo errore
    "Il campo description (English (Italian)) non è valido."

    Potete darci qualche dritta?

    rispondere
    ha commentato il 22 marzo 2021 da Martijn Hoogeveen
    Non hai uno spazio tra # e IcecatLive? Dovrebbe essere: "#IcecatLive"

    rispondere

    Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on March 23, 2021 by antonio

    stesso errore

    Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on March 25, 2021 by Micha

    Really a good tool!
    Just tested and it works very well. I would use it if the were no information about guarantee in the descriptions ('Marketing Text'). Guarantee information are subject to statutory provisions... that makes it difficult to use without further, excplicit information for the costumers in a webshop, at least in Germany...

    Otherwise it would be cool, if there were a parameter to use only the specs, without the Marketing Text. So I could use it legally secure.

    Best, Micha

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Yes, there is. It's called "Granular Calls". You can select the containers that you need. Further, you can add to your website any general disclaimers that you need.

      Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on March 25, 2021 by Micha

    Thanks a lot Martijn, just integrated... that works for me!
    🙂

    Likethumbsup(0)Dislikesthumbsdown(0)
  • commented on April 13, 2021 by Marko Catela

    Hello, what can I do if I don't want to hardcode the value of for let's say EAN (GTIN) in the function? For example instead of:

    window.addEventListener('liveload', function() {
    IcecatLive.getDatasheet('#IcecatLive', {
    UserName: '******',
    GTIN: '123456789'
    }, 'de', 200)

    I would like to get something like this to be pulled from the portal:

    window.addEventListener('liveload', function() {
    IcecatLive.getDatasheet('#IcecatLive', {
    UserName: 'icecat_hartlauer',
    GTIN: {{inriver:fields.itemEAN.value}}
    }, 'de', 200)

    And does it work with any type of field, CVL and regulat strings?

    Kind regards,
    Marko

    Likethumbsup(0)Dislikesthumbsdown(0)
    • Yes, the functions are intended to be softcoded. Take care of declaring your variables in the JS code so that they are recognized. And, as long as in your web-app the CVL (InRiver) variable is known, it should be possible to use these or other variables of course.

      Likethumbsup(0)Dislikesthumbsdown(0)

Leave a Reply

Your email address will not be published. Required fields are marked *

Icecat xml
 November 3, 2019
 October 4, 2018

Manual for Icecat Live: Real-Time Product Data in Your App

Icecat Live is a (free) service that enables you to insert real-time produc...
 June 1, 2018
Manual for Icecat CSV Interface

Manual for Icecat CSV Interface

This document describes the manual for Icecat CSV interface (Comma-Separate...
 September 28, 2016

Manual for Open Icecat JSON Product Requests

JSON (JavaScript Object Notation) is an increasingly popular means of trans...
 September 17, 2018
icecat addons

Icecat Add-ons including Magento, PrestaShop, Oracle, SAP Hybris, Google Shopping. NEW: Shopify

Icecat has a huge list of integration partners, that make it easy for clien...
 August 1, 2020

Manual for Personalized Interface File and Catalog from Icecat

With Icecat, you can generate personalized or customized CSV or Excel files...
 December 4, 2020
WordPress editor guidelines Iceclog

Iceclog’s WordPress Editor Guidelines: Writing Compelling Posts

These Iceclog Editor Guidelines for WordPress are a quick guide fo...
 August 17, 2016