I am creating a Volusion integration to allow users to import products into our site from their Volusion store. I am using csv instead of the API, since the API is only enabled for stores with plans of a certain level.
In the Volusion products export there is a photourl field for all products, but only one url is listed. What if a product has 2, 3, or more photos?
I am aware that there is a naming convention with Volusion products, and all products are stored in a single directory. However this doesn't really help me learn whether a second, third, fourth, etc. image exists for a product. Any tips? Thanks!
Unfortunately the standard export will only give you the main photo URL
For example:
http://www.yoursite.com/v/vspfiles/photos/SKU001-1.jpg
http://www.yoursite.com/v/vspfiles/photos/SKU002-1.jpg
http://www.yoursite.com/v/vspfiles/photos/SKU003-1.jpg
Do you have the capability of calling a GET on -2.jpg, -3.jpg, etc for each product, looking for a 200 or 404 until you've found all the images for each product?
Related
So, my client using Dawn theme with 15000 products in the store. He asked me how to filter all of these products. I used metafields to filter 100 products and barely died, but 15k it's too much to add filters manually, I mean it will take the whole life to filter them properly. Any ideas how we can add filters to the products faster?
I read Shopify Admin API documentation and it seems that for client it will be complex to add some code for products filtering (I didn't understand either). It'll be okay if it possible.
Also I tried to export CSV file of the products, but it doesn't export the metafields of the products.
Thanks in advance!
I've been using Bigcommerce's csv import to create and update simple products with c# and headless browser control. This is a relatively easy method as I can include custom fields, category names, images, GPS information, and all of the other fields that the csv import allows. Even so, my long term goal will be to move to the API. So far it appears that the API is very limited. For instance, instead of just including a category name with the new product, you have to include a category ID. As far as I can see, that would mean that for every new product I would have to create the categories for the product, then retrieve the category(s) id with an API call and lastly create the product. It appears that this is just the beginning. It appears that many of the fields that are easily included in the csv now have to be created and then attached to the product. Am I missing something?
Stencil provides access the Custom Fields of a Product in a template file as documented in Product Other Details
{{product.custom_fields}}
{{#each custom_fields}}
<li>{{name}}: {{{value}}}</li>
{{/each}}
How do I access the MetaFields that are created in the Product API
POST /catalog/products/{product_id}/metafields?
Product metafields aren't currently surfaced as a Stencil property. Their original purpose was to store metadata against the product object for backend apps (data like shipping origin for ShipperHQ), so they're available via the REST API but not exposed on the front end. If you wanted to access metafields on the frontend, you could build out middleware (using a serverless function, for example) to call the API and pipe that data to the storefront.
It would be good for us to understand your use case better though. Do you want to display metafield values in the template, or base some kind of frontend logic around their values?
While one cannot natively display product metafields in Stencil, there is an app in the Bigcommerce marketplace that allows one do to so. The app also lets one view, create, update, and delete metafields for products, categories, variants, and brands. You can export metafields and import them with a csv file. The app is not free, however, there is a 7 day free trial. This answer is to give an alternative solution to the problem mentioned.
I'm trying to load all Skus from a Bigcommerce store. I first tried to use the API path /products/skus/count to get a count of the number of skus in the store as outlined in the BC documentation at https://developer.bigcommerce.com/api/stores/v2/products/skus However, the /products/skus/count endpoint is returning {"count":0}. I know for a fact that I have hundreds of products with a sku. Ultimately I'd like to get a list or array of just the skus in my store. Has anyone else been able to use this API or know a way to load all the skus in my store without loading all the product object graphs as that is too slow of a solution as I don't need all the additional information nor do I want to page through all my products since it's limited to 250 items at a time. All of my other API calls are working great so I'm questioning whether there is an issue with the specific API.
Are you try to get the "sku" property for all products or the SKU resource associated with a product?
The api call at the url that you've given https://developer.bigcommerce.com/api/stores/v2/products/skus
will return all the SKU resource/object associated with a product. You can either get skus for all products using the resource "products/skus/count" or a specific product using "products/{productid}/skus/count". Both calls works as documented.
I have to integrate my webshop with an external system. This system provides several functionalities, described in their API. This is what I want to do:
Import/sync products (this is available as CSV via request)
Update stock of products (also available as webrequest)
So I have to hook into the Magento stock check and I want some script which updates the products like everyday.
Where should I implement my changes? What is the best way to do this? I can imagine Magento already have some API stock functionalities, but can`t seem to find the right documentation.
Thanks in advance!
Firstly you could use the Magento web service via either SOAP and XML-RPC:
http://www.magentocommerce.com/api/soap/introduction.html#Introduction-SOAP
There's an API for updating stock levels:
http://www.magentocommerce.com/api/soap/catalogInventory/cataloginventory_stock_item.update.html
However, this is usually quite slow and can take some time to update large collections of products, in which case you are better going for a solution which uses the Magento object model directly, or something custom.
Depending upon your level of development expertise there's a few options available. One library to checkout is Magmi:
http://sourceforge.net/apps/mediawiki/magmi/index.php?title=Magmi_Wiki
this is useful for updating lots of product data / stock levels quite quickly.
If you do no require an automated solution, you could always use the standard Magento import/export profiles to import stock levels from a CSV file, a quick search for 'Magento Import Export Profiles' should give you a good starting place:
http://www.seenbest-web-design.com/techclub/importing-a-csv-of-products-to-magento/
http://www.woolleydesign.net/2011/02/updating-store-inventory-in-magento/
I am fully functionally using Magmi now. I have written a plugin to automatically create configurable products, so if anyone is ever interested let me know.
There is already a plugin to process configurable products, my plugin is dependent on that plugin.
Basically, you will only be able to create configurable products if you especially have added this to your CSV, with a column named 'type'. In the column type you can set simple or configurable. With my module that won`t be nessecary. By some logic I automatically recognize the simple products and create a new configurable containing those products.
A little explanation on why I need this:
The stock system of our client updates a list of product (CSV) every few hours, containing entries of products. They sell clothing, and every size, and every color is a new entry. So one product can have 10 entries, entry 1: t-shirt green, size 12; entry 2: t-shirt green, size 13, etc.
I explain this, just in case anybody would ever need something like this, my plugin will probably help you. It will although need a few modification for your situation, since this is very specific to how your list of products is composed.
Anyway, thanks for your help!