On Monday we released a major update to the WooCommerce Zapier integration, however, unfortunately, we hit an unexpected snag with the new integration.
The authentication model that the new integration uses has worked well for a majority of our users, however, unfortunately, it hasn’t worked for a small (but significant) portion of our users.
We’re sorry that this has happened, as we understand how inconvenient it can be when you can’t get your work done and set up your Zaps.
The good news is that yesterday (Wednesday) evening we released a new version, which contains a rewritten authentication model that uses a method that should be compatible with a wider range of web server configurations.
The feedback we’ve received since yesterday’s release is very positive: a lot of the affected users have since been able to successfully authenticate their WooCommerce store with their Zapier account.
If you are still unable to authenticate your Zapier account with your WooCommerce store, please contact us and let us know so we can help.
We have also completed some major improvements to our documentation, particularly the Troubleshooting Authentication Errors part so that any users still having issues also have the option of diagnosing and solving the issues on their own if they wish.
We would like to take this opportunity to thank our loyal userbase for their patience and understanding this week while we investigated and resolved this issue.
We’ve spent the last six months working hard on this brand new WooCommerce integration with Zapier, and we wish this week’s launch had gone smoother than it did.
We’ve learnt a lot this week, and we can’t wait to improve the integration based on your feedback and ideas.
All the best,
Managing Partner, OM4 Software
The Technical Details
If you’re technically inclined, we thought you may enjoy a detailed technical insight into this week’s events….
By way of background, the new WooCommerce Zapier integration consists of two parts:
- The WooCommerce plugin (the extension)
- A brand new WooCommerce app on Zapier.com (the app)
The extension is written in PHP, and it is a WordPress plugin that users install on their WordPress website.
The extension has existed since our original launch in 2013, however, it has had a complete re-write over the last 6 months so that each WooCommerce store could communicate with the new Zapier app using WooCommerce’s built-in REST API, and WooCommerce’s built-in Webhooks.
The app is a brand new Node.js application that we built from scratch over the last 6 months. The app tells the Zapier platform how to communicate with a WooCommerce store, and this communication is done using WooCommerce’s built-in REST API.
When our app authenticates with WooCommerce, it creates a WooCommerce REST API authentication key, and from then on any communication with the REST API is done using that authentication key and secret.
When we built the app, we used the REST API’s Authentication over HTTPS method, which involves using HTTP’s Basic Authentication scheme to send the consumer key and secret securely to the WooCommerce store.
It turns out, however, that approximately 10-15% of web hosting configurations don’t properly support Basic Authentication, so when users of our new app attempted to authenticate with their WooCommerce store, the authentication attempts failed. This meant that the affected users couldn’t proceed with setting up their new Zaps, and they had no choice but to contact us for assistance.
A majority of new users could successfully authenticate and use the new app, but the users with a hosting environment that doesn’t support Basic Authentication were stuck and had to wait for us to solve the issue for them.
We didn’t want to have to ask the affected users to contact their web hosts and get their configuration adjusted, so we continued on looking for a viable solution that allowed us to solve this for as many users as possible.
As we dug deeper, we realised that the WooCommerce REST API also supports sending the consumer key and secret as query string parameters instead of HTTP Basic headers. These query string parameters are universally supported by almost every hosting environment, so we decided to go ahead and re-write our authentication logic in our app to use the new query string method.
The rewrite itself wasn’t hugely complex, however, it was such a core part of our app that we had to ensure we made the change in a way that solved the issue for affected users but allowed the unaffected users’ Zaps to continue on without any interruption.
After testing it internally, we deployed the updated app to the Zapier platform on Wednesday evening and notified the affected users to try re-authenticating again. We’ve been monitoring user feedback since then, as well as monitoring the Zapier platform logs, and so far this change appears to have resolved the issue for a large majority of our affected users.
Whilst we’ve made some great progress this week, there are still a very small number of users who still aren’t able to authenticate successfully.
To help those users, today we have released a new version of the WooCommerce Zapier extension, which contains more detailed authentication logging, as well as improved compatibility with plugins that customise the WordPress login/authentication process.
We have also updated our Troubleshooting Authentication Errors documentation with more detailed solutions to the authentication issues we have encountered this week.
For the users still not able to authenticate, please review the suggestions in that documentation (particularly this new section), and the new detailed logging should help you identify the cause.
Of course, if you are still unable to authenticate your Zapier account with your WooCommerce store, please contact us so we can help.