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.

Recent Posts

Unold Enhances Online Presence with Open Icecat Sponsorship

About Unold AG Unold, established in 1966 and headquartered in Hockenheim, Germany, has a long…

4 hours ago

5 Automation Tools Every Online Retail Business Should Know

Automation has become an essential component of online retailers’ success. With so many tools available,…

1 day ago

Icecat Keeps ASUS on Top with the New Copilot Key Attribute

The world of technology is constantly evolving, and so is the data that describes it.…

5 days ago

The Benefits of Full Automation of Your E-commerce Processes with Icecat Commerce

For medium and large-scale businesses, e-commerce automation is absolutely essential. It can be incredibly challenging…

6 days ago

Why Should You Invest In Mobile Commerce?

Mobile commerce has been steadily growing over the years and is projected to reach 43.4%…

1 week ago

Strong Growth in The Turkish E-commerce Market

Turkey's e-commerce market experienced a rebound in 2023, with online spending more than doubling compared…

1 week ago