Did Webflow just change endpoints for E-Commerce products?

Hi,

I was having a small API integration, which was archiving products with 0 stock from the website. All of sudden yesterday it broke with
" [403] ForbiddenError: User is not authorized to perform this action: Cannot complete operation for the ecommerce collection [SKUs] with this endpoint."

After troubleshooting I see that now the endpoint to update products is different from what I was using before:
https://developers.webflow.com/#update-product

Previously it was based on “collections” endpoint.

The change seems to be going in the right direction, but I could find 0 info about endpoint change in the Change Log or for that matter anywhere…

Is Webflow announcing anywhere changes to API or just throwing them to Production? It is hard to think to build serious feature if things stop working all of sudden :wink:

2 Likes

Yeah! this is an awesome update! I was sniffing around in the api wondering how they had got shippo cranking and there it was. The changelog says the update was in March 2020. There have been no emails or posts on this at all. Must be a soft :crossed_fingers: release . My specialty too :+1:

I’m having problems with the Zapier e-commerce integration too. I get the 403 forbidden error.

This is because the endpoint changed from being regular collection endpoint to:
/sites/:site_id/products/:product_id/skus/:sku_id

Not sure if Zapier allows you to change the endpoint. I am using Integromat and the “Make API Call” module - which allows for sort of direct API calls.

2 Likes

Webflow needs to start treating the development side of things a bit more seriously. What’s the point of having an “api-version” header being required but not making use of it? That change probably broke all the apps that interacted somehow with the “update product” endpoint. Clients could lose a LOT of money because of something like that, specially those who sell products that have their prices changed each second/minute.

It’s sad to see the focus on the “design” side of the platform but the api being left behind or treated poorly. Even the SDK implementation for javascript, it’s been missing several integrations for a long time. :confused:

2 Likes

I’m still getting the error in Integromat too.

[403] ForbiddenError: User is not authorized to perform this action: Cannot complete operation for the ecommerce collection [E-commerce Products] with this endpoint.

That was exactly my thought… Also the change log on API mentions 0 change despite change…

The “native” Integromat-Webflow modules are having a lot of issues - so if you are using those it might the reason. I am able to update the e-commerce products using the “Make API Call” module.

What I crossed out on screen below is the store id.

This is very helpful. Do you have a screenshot of how the JSON data input looks? I’m wondering if I will need to manually type “fields: {etc}”.

Yes, that is needed.
image

I tried this with and without quotes around fields, but neither transmitted any data. Is your setup passing data successfully from Airtable to Webflow?
image

yes, it works for me.

Is it giving you a schema error? My impressions is that the “Name” field is actually “name”. The fields are small caps in schema. What you see is not what you get :rofl:

Otherwise please check the endpoint. For each e-commerce item you actually have at least 2 items - Product and underlying SKU (one or more SKUs).

It looks like there are actually 2 endpoints for Product and SKU:
/sites/:site_id/products/:product_id
/sites/:site_id/products/:product_id/skus/:sku_id

The documentation, I believe wrongly gives the same endpoint for products and SKUs, but from my testing above worked.

image

I’m having the problem that not all my products have the new “sku” field in the schema. Most of them only have the old sku format (the one inside the “sku-values” object). Now I’m waiting on the credentials for the account so I can go ahead and try to fix stuff :joy:

1 Like

Hi everyone,

I wanted to let you know that the endpoints for both CMS and E-commerce have been fixed. The update item action in a Zap or any public CMS patch endpoint will work now.

Please let me know if you have any other questions,

~ Happy Designing ~
Brandon

1 Like

I was able to get it working with a custom API call with some help from @gregf and an Integromat expert. Greg, good call on changing “Name” to “name”. That fixed it.

And thank you for fixing the built-in version, Brandon.

Can we also expect built-in e-commerce product creation and updates to work in Integromat without using custom API calls?

1 Like

:point_up:t2::point_up:t2::point_up:t2:

Brian,

Both CMS and E-commerce points are working as expected.

2 Likes

Hi @QA_Brandon
I think the product endpoint in documentation still needs updating.

now it asks to add SKU id to update a Product

2 Likes

Good luck! I’m having to use custom requests with most modules for most platforms in recent months as standard modules are not keeping up with apis !

Hey I am trying to create new products via zapier/integromat, it still give me the [403] ForbiddenError: User is not authorized to perform this action: Cannot complete operation for the ecommerce collection [Products] with this endpoint. Please can you update on what to do with that please.

Hi,

Please submit a support ticket for this.