IceCat

IceCat is a worldwide open catalog of product data sheets, with the data supplied by manufacturers and made available for mainly Product Information Management systems used by e.g. distributors, resellers, retailers, comparison websites, online shopping directories - and Dynamicweb customers!

As a Dynamicweb customer you can create a scheduled task which connects to IceCat and enriches a subset of your product portfolio with product information retrieved from their data pool.

Product information is retrieved based on:

                             1. EAN number
                             2. ProductNumber + ManufacturerID

Before you can create the scheduled task, you must create an index query which returns the products you want to enrich. What this query looks like depends on the PIM setup; in some cases it will return all products in a specific group called e.g. New products, in others it might return all products with a particular workflow state set, e.g. Ready for IceCat enrichment. Totally up to you.

Once the scheduled task is run, the product information about the products returned by the index query is saved to an XML file on disk. When the file has been saved, an integration job places the data from the XML file into Dynamicweb and voila – the products have been enriched.

To create the scheduled task:

  1. Go to Settings > Integration > Scheduled Tasks
  2. Create a new scheduled task
  3. Select the scheduled task add-in called IceCatIntegrationScheduledTask and configure it (Figure 1.1)
Figure 1.1 The IceCat add-in

The following settings are available:

Section

Setting

Description

Notes

Credentials

User name

IceCat account username

 

 

Password

IceCat account password

 

 

 

 

 

Image configuration

Import images

-

 

 

Folder for imported images

-

 

 

Asset category for IceCat product images

-

 

 

Asset category for IceCat feature icons/texts

-

 

 

 

 

 

General

Query

Select the query containing the products you want to enrich

 

 

Product portion size to process

-

You should ensure that you only process as many products per run as your IceCat license allows

 

Success integration job

Select an integration job to run after retrieving product data from IceCat – see next section.

 

 

Data fetched timestamp field

Select a custom product field to put the timestamp for when this product was last updated

 

 

Possible to get data status field

-

True/False

 

 

 

 

Output

Include missing products in XML

 

When enabled a <Product>-node is generated for each product which is not found in IceCat. It will still contain Dynamicweb-specific information:

  • dwProductId
  • dwVariantId
  • dwLanguageId
  • dwProductNumber

 

Catalog content type

-

Currently only XML is available

 

Output folder

-

 

 

Append timestamp to filename

-

Please note: This setting does not work with the Success integration job setting, as it will only process the file specified on the integration job.

 

DW & IceCat languages

Language codes are not always identical on Dynamciweb & IceCat, which may lead to errors and confusion. We've built a small XML file with a mapping between our codes and the icecat codes, which is read by the scheduled task whenever it is executed.

This file is located under Files/System/Integration/OpenCatalog/IceCat and is called IceCatLanguageMapper.xml. At the time of writing - 20/08/20 - this file is accurate, but if you experience language-related errors down the line check if the values are still accurate.

The data retrieved from IceCat is saved inside an IceCat.xml file, and from here it must be moved into the Dynamicweb database. This is done using an integration activity - you can read more about integration activities in general here.

In this case you want to create an integration activity using the XML Provider as the source provider and the Dynamicweb Provider as the destination provider.

  1. Go to Settings > Integration > Data Integration
  2. Click New activity
  3. Select the XML Provider as the source provider, then:
    1. Select the IceCat.xml file as the source file
    2. Select the IcecatProducts.xslt file as the XSL file – this file can be found under System/Integration/OpenCatalog/IceCat
  4. Select the Dynamicweb Provider as the destination provider – you may want to configure it further, depending on your setup
  5. Select the columns you want to import (usually all of them)
  6. Name the activity – and review the mapping (Figure 2.1)
Figure 2.1 Mapping IceCat data to Dynamicweb

If the query used to select products to enrich checks e.g. a workflow state this is where you can apply a constant to the Workflow state field. This ensures that product information is only retrieved once.