WooCommerce is a powerful, fully-customizable, open-source ecommerce solution developed specifically for WordPress, with a series of Representational State Transfer (REST) API frameworks for guided web development. It’s a huge enabler for any web applications you may want to develop for ecommerce purposes, but to get things going you’ll first have to learn and appreciate the power of the REST API in this regard.
A REST API endpoint enables you as a developer to interact with data in many advantageous ways far beyond the limitations of a front-end interface. The WooCommerce REST API gives you a complete ecommerce platform to operate from in any external app you may develop. You could find it a little bit overwhelming in the beginning but once you are fully familiar with its workings you will realize it is worthy the effort and time for your future ecommerce projects.
For example, if you have a website which you want to enable to take appointments online, you can choose to use WooCommerce bookings to accept reservations, and then use the WooCommerce API to synch the appointments with your own software you are using to accept bookings offline. This is only one example of the power of using the WooCommerce API to create your own integrations and solutions.
Our discussion in this article here will introduce you to the power of REST APIs, explaining their importance in app development with a complete three-step examination of WooCommerce’s potential.
Read on to find out all about it.
REST APIs: What They Are & Why They Are Important
REST APIs act as an interoperability medium between completely different online frameworks and solutions. In simple language, what we mean here is that REST APIs enable you to interact and operate on data stored in a program like WordPress from a separate platform such as a desktop or native mobile application.
Previously, developers like you had to part with thousands of dollars in order to build custom APIs for edge scenarios.
But today, a REST API endpoint is included in each new installation of WordPress. You can now freely test and experiment with new applications of it as much as you want.
Isn’t this great news for creative developers? Absolutely!
Additionally, readily available REST API frameworks are a powerful asset for ecommerce enterprises too. Right now, integrated niche-specific software solutions, compatibility with legacy systems, and even connectivity to wearable devices are easily available!
Below are four practical examples of how to easily integrate REST APIs into existing platforms:
1) Decoupling your data from its existing WordPress interface to develop native apps using such language as React Native.
2) Syndicating content from several sites; a particularly beneficial thing if you manage a large business network and need to pull all feeds into one site.
3) Using the REST API solution to speed up your production by automating the data synchronization process – possibly between multiple servers and locations
4) Developing apps that give users the power to manage both their profiles and the content – essentially extending the power of WordPress to your own creative solutions
Now that you’ve had a taste of what can be achieved for your average run-of-the-mill WordPress website, imagine what you can do for your full-fledged ecommerce store. WooCommerce comes with extensive customizable additions to the WordPress API, enabling you get access to all your ecommerce data beyond the regular posts and pages.
Even other ecommerce platforms such as Shopify provide their own API, so the concept is also available beyond WooCommerce. (If you’re looking for the advantages and disadvantages of WooCommerce vs Shopify, you might want to read this article here)
Getting Started With the WooCommerce REST API In 3 Simple Steps
Here, you’ll understand how to authenticate and have access to the REST API using the command line interface. The final language to use in order to interact with the REST API framework will, obviously, depend on the type of application you’re developing.
Step #1: Preparing Your WooCommerce Installation for the REST API
To gain access to WooCommerce data, you first have to prove to the system that you are permitted to do so. The authentication process makes use of specially-generated API keys that work in the two steps below:
1) WooCommerce generates two random character strings known as the “Consumer Key” and the “Secret Key”.
2) These are what you use during your REST API calls to prove your identity and get authorized for access.
Before you get going, you’ll need to have one of these key sets. On your WordPress dashboard, enable the various REST API options under WooCommerce >> Settings >> API. Check the “Enable the REST API” checkbox and save your changes as shown below:
Next, you need to select “Keys/Apps” so as to generate a unique API identifier that will act as your secret key/password when you need to connect to the REST API. Click on the button marked “Create an API Key”, and follow the accompanying prompts to enable you access your data:
Click on “Generate API Key” to finish the process and record the resulting keys somewhere you only have access to. You’ll need these to complete the rest of the process.
Step #2: Using the REST API Manual to Get Things Done
Each web app using the WooCommerce REST API is unique and needs different calls. Instead of having to learn each REST API endpoint separately, you may use the dedicated manual to find whatever you need in a given situation. This also helps to keep up as the REST API gets updates.
It’s recommended that you read through the introduction so as to familiarize yourself with the API standards. Below are some highlights to keep in mind:
1) Go through the Requirements section and confirm you have got the correct and most up-to-date versions of both WooCommerce and WordPress.
2) Familiarize yourself with JSON and JSONP. These are the primary methods of transfering data.
3) Get familiar with the error codes to make it easy for you to debug issues faster whenever necessary.
4) Take advantage of the provided tools and resources to enable you perform an even easier integration.
By using the documentation manual, you can see how simple it is to access different information about your installation. Enter the code below into your command line interface or use the PHP code within your new php application to produce a JSON-formatted list of products:
curl https://example.com/wp-json/wc/v2/products \
<?php print_r($woocommerce->get(‘products’)); ?>
To create any new product, you’ll need to add the POST command plus a few additional parameters about your new product:
curl -X POST https://example.com/wp-json/wc/v2/products \
-u consumer_key:consumer_secret \
-H “Content-Type: application/json” \
“name”: “Premium Quality”,
“description”: “Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.”,
“short_description”: “Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.”,
$data = [
‘name’ => ‘Premium Quality’,
‘type’ => ‘simple’,
‘regular_price’ => ‘21.99’,
‘description’ => ‘Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.’,
‘short_description’ => ‘Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.’,
‘categories’ => [
‘id’ => 9
‘id’ => 14
‘images’ => [
‘src’ => ‘http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg’,
‘position’ => 0
‘src’ => ‘http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg’,
‘position’ => 1
Set up a demo WooCommerce website to practice on. Use the terminal or a few lines of PHP to familiarize yourself with the API until you’re totally comfortable with its various commands. You can also try viewing, creating and even modifying the products, orders and customers in your store.
Once you have known how to pull and create data using the tools provided by the REST API with authentication, you can apply the native programming language of your new web app to achieve the same. To help you in this, the documentation manual provides code samples for both Node.js and PHP.
Step 3: Integrating the REST API Within Other Web Applications
The REST API also makes it easy for you to interact using platforms that are otherwise unrelated to both WordPress and WooCommerce. This is a key part of the API’s power and appeal.
The exact series of steps you need to follow will depend on the platform you’re developing and the features you want to integrate in it. To give you a few ideas, let us tweak some examples among those we covered earlier, imagining they were built for WooCommerce rather than a regular WordPress website:
1) Develop a native mobile shopping application using React Native that is customized to meet your customers’ shopping needs and habits.
2) Syndicate products from many WooCommerce websites in a single convenient catalog.
3) Try a beta/test version of your shopping website while at the same time keeping the data synced so as not to lose any sales information.
4) Build both web and desktop apps where your users are easily able to manage their accounts as well as past orders.
Conclusion to Getting started with the WooCommerce API
WooCommerce has emerged as a very popular solution for ecommerce enterprises in part due to its ability to offer a complete REST API that enables developers build powerful solutions. If you learn how to apply it, it will help you develop robust and fully-featured external applications for your customers.
In our article here, we’ve introduced you to the powerful WooCommerce REST API, helping you familiarize yourself with, among others, three crucial things:
1) Preparing an easy installation for WooCommerce REST API authorization.
2) Learning from the developer documentation manual.
3) Integrating your REST API framework into external apps.
For any questions, you can always reach us via our comments section below!