News

Changes in Icecat JSON File Structure (Pull-API)

From the 2th of June, the structure of the Icecat JSON files in our Pull-API (API-out) will be changed slightly. The impact of this update is very low.

Currently, we may have for the same tag sometimes an object and sometimes an array depending on if there is data for the object or not. An empty array is used when there is no data in the object, but when there is data it’s represented by an object. You can see an example below regarding ProductFamily tag:

Empty object: 
"GeneralInfo": {       
            "ProductFamily": [],       
            "ProductSeries": {         
           "SeriesID": "1"       
       }    
   }
Populated object:
"GeneralInfo": {     
        "ProductFamily": {         
                "ProductFamilyID": "67439",         
                "Value": "OMEN",         
                "Language": "EN"    
           },    
        "ProductSeries": {         
                "SeriesID": "5821",         
               "Value": "880",         
              "Language": "EN"    
          } 
    }

In the new structure, we will always publish an object’s array, even when it is an empty one without data. The situation with data populated objects will stay as it is right now:

 "GeneralInfo": {       
            "ProductFamily": {},       
            "ProductSeries": {         
           "SeriesID": "1"       
       }    
   }
 "GeneralInfo": {     
        "ProductFamily": {         
                "ProductFamilyID": "67439",         
                "Value": "OMEN",         
                "Language": "EN"    
           },    
        "ProductSeries": {         
                "SeriesID": "5821",         
               "Value": "880",         
              "Language": "EN"    
          } 
    } 

For some entities which are scalar, we are using an array. We will still use an array there even with an empty data set. Example: GTIN.

"GeneralInfo": {     
       "GTIN": [         
                    "08710103824428",         
                    "8710103824428"    
            ] 
     } 

Or:

"GeneralInfo": {     
      "GTIN": [] 
 }
Anastasiia

View Comments

    • Would be an approach. Our dev team: "I think we tried to make that consistent across all methods/calls we have, that's why we had to stick to empty object afair "

  • About time :P

    Getting tired of this:
    [JsonConverter(typeof(SingleOrArrayConverter))]
    public List BulletPoints { get; set; }

    • And, any suggestions for further improvement to make your life easier are welcome.

    • Dear Jos

      We are busy to add this information to the product JSON and XML files. Also we are busy to create separate file OrganizationList.xml for bulk downloads. The development will be finalized in the middle of February. Meanwhile as the temporary solution you can use SupplierList.xml from the reference files. We put "Brand Owner" and "Representative" in the SupplierList.xml under the tag "CustomerService"

      Kind regards

      Vazha Abramishvili

Recent Posts

Eaton Joins Open Icecat to Expand Access to Product Content

Eaton, a global intelligent power management company, has joined Open Icecat to make its product…

36 minutes ago

Partner Galleries in Every Channel and Full Icecat via MCP: Icecat Release Notes 260

Release 260 completes the move to partner-specific product galleries. After Product XML in Release 259,…

3 days ago

Shopify Launches Canvas for AI-Powered Online Store Design

Shopify has introduced Canvas, a new AI-assisted design workspace that lets merchants build and redesign…

3 days ago

Mastercard Adds New Trust Layer for AI-Powered Shopping

Mastercard is expanding its Agent Pay program with new trust and intelligence services designed to…

4 days ago

U.S. Court of Appeals Rejects Fair Use Defense for Copyrighted AI Training Data

A U.S. appeals court has ruled that AI startup ROSS Intelligence could not rely on…

5 days ago

FTC Opens Investigation Into OpenAI and Anthropic Over AI Safety

The U.S. Federal Trade Commission has opened an investigation into OpenAI and Anthropic as regulators…

6 days ago