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:
- Go to Settings > Integration > Scheduled Tasks
- Create a new scheduled task
- Select the scheduled task add-in called IceCatIntegrationScheduledTask and configure it (Figure 1.1)
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 |
- |
|
|
Asset category for IceCat feature links |
|
|
Asset category for IceCat (application/pdf) | |||
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:
|
|
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.
Integration job
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.
- Go to Settings > Integration > Data Integration
- Click New activity
- Select the XML Provider as the source provider, then:
- Select the IceCat.xml file as the source file
- Select the IcecatProducts.xslt file as the XSL file – this file can be found under System/Integration/OpenCatalog/IceCat
- Select the Dynamicweb Provider as the destination provider – you may want to configure it further, depending on your setup
- Select the columns you want to import (usually all of them)
- Name the activity – and review the mapping (Figure 2.1)
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.