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

Looking Back at Icecat in 2025

As the year comes to a close, we want to take a moment to say…

17 hours ago

Europe’s Marketplace Movement: MediaMarkt’s Sales Surge 90%

Europe’s consumer electronics and home goods retailer MediaMarkt is reporting remarkable growth in its online…

2 days ago

Amazon Dominates German Holiday Shopping

As the 2025 holiday season unfolds, new research shows that Amazon remains central to German…

5 days ago

Meet Icecat at the London Toy Fair and Spielwarenmesse 2026

The start of 2026 will be packed with key toy industry events, and Icecat will…

6 days ago

Icecat Release Notes 239: Enhancements in Product Data Retrieval, Smarter Search, and Platform Stability

Release 239 brings a set of important improvements across the Icecat platform, focusing on product…

7 days ago

NVIDIA Becomes an AI Open Model Maker

NVIDIA has built much of its recent success supplying chips to companies developing artificial intelligence…

1 week ago