Trying to create a product with variants

I’ve been trying to create a product through the API that comes from a database using my products on Printful. Adding things manually everything works fine, but for some reason creating a product through the API, creating a product alone crashes webflow trying to view the products. I’ve contacted support and have been waiting literally 2 weeks for a response.

Basically:

  1. Fetched the Collections GET /sites/:site_id/collections
  2. Pulled the schema for the Product Collection GET /collections/:collection_id
  3. Created a new Product based on the bare minimum schema required: true POST /collections/:collection_id/items

The error then tells you this when trying to API publish the website (nifty way to get an error when Webflow won’t give you an error log from the Designer):

{
    "msg": "Product \"New Product does not have a default variant set.\"",
    "code": 409,
    "name": "Conflict",
    "path": "/sites/[...]/publish",
    "err": "Conflict: Product \"New Product does not have a default variant set.\""
} 

So although the Schema defines the bare minimum, it’s not strict enough that using the bare-minimum won’t break the Designer when clicking the created Product.

  • Creating a Product requires a default-variant set which isn’t listed in the Schema.
  • Creating a Product requires you to add a Default SKU, which must reference a SKU Item.
  • Creating a SKU requires a Product Item reference.

So with that said, you cannot create one without the other, set there seems to be no defined order? This ItemRef is it generated by Webflow or is it User specified, like 000-000 for example? Is there any solutionyou can recommend?

did you get up and running?

Did you get it up and running? Surprised if this is not possible. Developer docs make it seem pretty straight forward?

I’m wondering if you can do whatever you want if you’re using the actual API yourself. I’m using the preset modules on Integromat (Same as Zapier) — you can’t create a product using the simple “Create Item” option offered on Integromat Webflow module. So absurd really. Webflow just make it possible.

But, it’s because it wants a Product ID that you don’t have yet because the product has yet to be created. Obviously, when you use the simple .csv upload (or even just create the product manually within the webflow product section on the builder), you don’t have to have the Product ID. But, the little work around is to just upload using a .csv for the given fields. Then you can update the custom fields with the “Update Item” option on Integromat. You can do this because you then you will have the necessary Product ID.

So why can’t “Create Item” on Integromat or Zapier just work the same freaking way when doing it on with .csv or manually? Just don’t require the product ID that doesn’t exist yet. Just let us create items with Integromat or Zapier. It cannot be that hard. It’s so annoying that you have to make a 1 step process a 2 step process, every, single, time.

And this doesn’t even cover SKU’s. I know you need a default SKU and then your new SKU’s, so I’m sure it’s a similar, if not more complicated problem. The solution is to use Foxy.io or snipcart. Then your Webflow plan is less expensive and you have far more freedom over creating and updating products.

Webflow, if you don’t want people to use other products that undercut you, then just make 2 fixes (Product ID & Default SKU), and people will always use Webflow Ecommerce. You can raise the monthly price for Webflow Ecommerce, and put these fledgling competitors away forever.

1 Like

Hi all.
Josh from Foxy here. Information about our seamless Webflow integration can be found here: Webflow | Foxy.io We offer an unlimited free trial and free one-on-one onboarding.

Please don’t hesitate to reach out if you have any questions or need help getting started: hello@foxy.io

Thanks,
Josh