I need to import about 4000 products via CSV.
The list will also need to be updated daily as stock, prices change and new products are added daily. Can someone please advise on the best way to achieve this?
For the initial import I have seen the import by CSV, the main issue is the update.
Update of existing products and new products works as well via CSV import. Same goes for inventory update via imported CSV.
Hope this helps!
When updating products via CSV import, you only need to import ones which have changes or are new. So if you have a product catalog of say 40,000 but since last import, only 500 have changed and 100 have been added, you simply import 600 which is well within the performance window for CVS imports.
If you have much larger update quantities, simply batch them, break up the imports in smaller chunks.
If you do not want to do any of above manually (there is no API for bulk CSV import / export) then you need to resort to custom importer via API which will be much slower due to throttling.
If the constraints above are good enough, then you may still need much larger inventory updates across the entire catalog and if you run in to performance issues with CSV import for inventory, then you can use the GraphQL Admin API which has inventoryBulkAdjustQuantityAtLocation that has a very low cost on your API usage and may perform better / more reliable for inventory level updates.
Thanks again Karl.
As the update file comes from the producer, they do not know which products are on our website at any given time, so we will have to update all products (4,000).
So from what you say there are three options:
Following this reasoning like this leaves option 2.
Does that make sense to you?
I'd go for 2 and 3. Option 2 for product updates. Option 3 for inventory updates because it will be much faster than using the REST Admin API (which would be separate calls since product and inventory are separate).