There’s no doubt that WordPress has made the entire process of publishing your website easier and simpler than on most other platforms. For proof, you can simply take a look at the astounding statistics on WordPress core’s usage. What’s more, WooCommerce has done the same for e-commerce as WordPress has for web publishing. Along with being beginner-friendly, it offers developer-friendly tools such as the WooCommerce API for optimizing your site.
In this piece, we’ll introduce the WooCommerce REST API, and talk about how it relates to WordPress’ own API. We’ll also discuss why you’d want to use this powerful tech, and how to get started.
Let’s jump right in!
Introducing the WooCommerce REST API
The WooCommerce API lets you implement custom functionality for your site at a software level. You can code in a way that’s specifically designed to integrate with WooCommerce. As such, you can create practically any feature or functionality if you have the time, skill, and (potentially) budget.
In order to understand how this key feature works, you’ll want to become familiar with two terms:
- Representational State Transfer (REST). This is a complicated topic, but for the purposes of this article, REST is a type of ‘web service’ that lets you access specific elements of a web page.
- Application Programming Interface (API). In contrast to a Graphical User Interface (GUI), this is essentially a set of code hooks and filters that let you work with access points. Generally, you’ll code them into certain WordPress-based files.
In other words, REST defines what you can access on your site through code, and the API gives you the tools to leverage that access. Together, they enable you to make significant changes to how your site works.
How the WooCommerce API Relates to the WordPress REST API
When it was first introduced, the WooCommerce API was a single entity. In other words, it was solely designed for accessing WooCommerce ‘endpoints’, and affected no other elements of WordPress.
However, once the WordPress REST API was introduced, WooCommerce’s endpoints were merged to create one overarching ‘go-to’ for accessing WordPress under the hood. Even so, there is still documentation for the WooCommerce API. If you read over the introduction of that document, the history of the API is broadly outlined.
For the purposes of this article, we’ll consider the ‘WooCommerce API’ to be the collection of specific endpoints for that e-commerce platform. Of course, core endpoints will be useful as well, so we’ll mention a few of those too. In short, it’s best not to get hung up on trying to separate these two APIs – they’re one and the same now.
Why You Might Want to Use the WooCommerce API
You may already see why the WooCommerce REST API is an exciting and powerful arrow in your store’s quiver. Here are just a few of the reasons you might consider using it:
- You have custom functionality to implement. If you can’t find what you need through plugins, themes, or additional code snippets, creating the functionality yourself could be an option.
- Customers can get a custom front end. Using the broader features of the WordPress REST API, you can de-couple the front end of your site from the back end. This lets you harness the power of WordPress under the hood, while creating page layouts and designs using another language.
- Your team can use custom back ends. Just as your customers might get a unique front-end experience, you could pull in various parts of WooCommerce to create a custom back-end dashboard. You can include nearly any metrics or data you wish, essentially creating your own user interface and analytics platform.
Whatever your reasons may be, the WooCommerce API offers some very powerful functionality. To demonstrate that further, let’s look at some of this API’s specifics, and see just where and how it can be used on your site.
What You Can Achieve Using the WooCommerce API (4 Examples)
It’s tempting to simply say, “Everything is possible” when it comes to the WooCommerce API. However, it’s worth looking at a few common tasks you may encounter, along with some specific use cases.
1. Create, Update, and Delete Products
Since your store’s products are the lifeblood of your business, the WooCommerce API dedicates plenty of options to ensuring that you can manage them all. You can work with practically any information collected within WooCommerce, although some endpoints are read-only. There are even separate APIs for single products, variations, attributes and their terms, taxonomies, shipping classes, and reviews.
There are a lot of ways this can come in handy. For example, consider a marketplace site, where users upload their own products. You might create a front-end uploader to help carry out necessary admin tasks based on user inputs. You could also batch edit many related product reviews based on a user request, remove identifying emails, and much more.
2. Process Orders and Their Associated Notes
If products are the lifeblood of your store, orders are the rocket fuel. As such, the WooCommerce API offers plenty to help you administer to orders and notes. Practically every property found within WooCommerce can be accessed, along with related billing, shipping, and metadata properties.
We’d argue that the majority of uses for this endpoint will be to list orders in some way. Even a simple one-line snippet offers you immense power. For example, a list can be parsed for multiple mentions of the same product, tallied for those orders where a multi-basket contained a specific item, and much more.
Batch updating order notes is another helpful use for this aspect of the API. Taking a collection of Christmas orders, splitting them out based on the status of each one, and organizing the resultant JSON into a spreadsheet could help you deliver orders quicker and more efficiently.
3. Adjust Tax Rates and Classes
Taxes are a headache for many store owners, especially when you’re dealing with international orders. As there are many different ways to apply taxes at various rates, the WooCommerce API offers multiple options for working with this data. The endpoints are broken down into two variants:
- Tax rates: This is where the actual percentage is recorded, along with some other identifying data.
- Tax classes: These are broad ranges of taxes that rates are applied to.
For example, you might create a 20% tax rate that is applied to the ‘Standard Rate’ class. In fact, being able to batch update tax rates is a good use of the WooCommerce API. A more unique example would be a setup where a tax rate or class is created based on a specific customer attribute. This is ideal for situations when you need to ‘qualify’ a customer before registering them or sending them to the checkout process.
4. Set Shipping Zones, Locations, and Methods
If you’ve ever tried to work with shipping in WooCommerce, you’ll understand what a minefield it can be. If you get any element wrong, the customer is impacted directly in an area that’s ripe for poor feedback and reviews. Fortunately, the WooCommerce API can work with all of the endpoints associated to shipping, such as zones, locations, and methods.
When compared to other aspects of the API, there aren’t too many attributes to work with here. However, there are still plenty of options available to help you work with your store’s data. While you’ll often want to ‘set and forget’ shipping information (given its complexity and impact on user experience), there are still some practical applications.
For example, you’ll likely be mindful of current COVID-19 regulations on both a state- and country-wide basis. With this in mind, you may consider using a combination of endpoints to restrict shipping to certain locations on a temporary basis. In addition, you could notify users about any delays at the time of purchase. This could happen on the checkout screen, or through mass communication.
How to Begin Using the WooCommerce API
The WooCommerce REST API works via a digital key-based system for granting access and permissions. This authentication process has two distinct steps:
- WooCommerce creates two keys: a Consumer Key and a Secret Key. They’re made from random strings of characters, and are practically impossible to crack.
- Whenever you want to make a ‘call’ to the REST API, you’ll have to provide those keys as proof of authentication.
This process is straightforward, but obtaining these keys (and using the API itself) requires you to head into your WooCommerce dashboard – specifically to the WooCommerce > Settings > Advanced screen. You’ll want to look for the REST API link at the top, navigate to that screen, and then click on the Create an API key button:
Next, fill in the Description field, while leaving the others as-is for now. This should be a simple description of what the access is for:
Finally, select the Generate an API key button, and wait for WordPress to do its thing. You’ll see a Consumer Key and Secret Key here, a QR code for further authentication, and a link to revoke API access in the future. It’s important to copy the keys now, as you can’t retrieve them later.
At this point you’re ready to begin coding. If this is something new to you, hiring a developer to assist is a good idea. However, if you want to jump in yourself, you can use an ‘API client’ such as Postman or Insomnia to do much of the heavy lifting:
For a real-world look at how to use the WooCommerce API, you can check out developer blogs on the subject. For example, James Kemp at IconicWP offers useful insights into how a PHP web app and handfuls of code can connect to an e-commerce store and process its data.
When it comes to choosing a platform that is friendly to both users and developers, WordPress is arguably number one. In addition, WooCommerce is just as friendly to store owners who want simplicity, power, and flexibility. Part of what makes it so adaptable is the WooCommerce REST API. Althogh this was once a separate entity, it has now been merged into the main WordPress REST API.
This article has looked at the WooCommerce API, and shown you a glimpse into what you can do with it. You’ll want to have a firm grasp of the core concepts involved, or you may consider hiring a developer to implement the features you want. Either way, the power this API offers can have a direct, positive impact on your store and income.
Are you considering using the WooCommerce API for your store, and if so, what excites you the most about it? Let us know in the comments section below!
Featured image credit: monkographic / shutterstock.com