WooCommerce API Manager
WooCommerce API Manager
Make Recurring Income Selling Software or Services
The WooCommerce API Manager turns WooCommerce Products into an API Resource that can be accessed with an API Key (License Key). API Resources (products) can be software, a service, an iPhone or Android App, a membership, a subscription, or anything that can be accessed over the Internet. The most frequently used Product types are Simple, Variable, Simple Subscription, Variable Subscription, and Group. Subscription product types are created using the WooCommerce Subscriptions extension that allows for automated payment collection on the renewal anniversary. There is also support for API access expiration time limits for built-in WooCommerce products purchases that require manual purchase renewal.
How does it work? The customer buys a Product (API Resource) which will have an API Key with a defined number of activations, or unlimited activations. The customer uses the API Key to access the API Resource, which is controlled by WooCommerce API Manager. The API Resource remains accessible until it expires, if it has an expiration time. For even more advanced API Resource time management, the WooCommerce API Manager works seamlessly with WooCommerce Subscriptions.
Sell API Keys as a License for Software and Automated Updates
The WooCommerce API Manager secures your software with an API Key, by acting as a WooCommerce Software License Manager. When used for software, the API Key is similar to using a License Key. The API Key provides access to an API Resource. By using an API Key, client software has a full range of options to activate, deactivate, check the status of an activation, get information about updates, check for updates, get updates, and more. All software downloads use secure, expiring, URLs to insure only your customers have secure access to the software that was purchased. Software downloads can come from the WooCommerce store local server, Amazon S3, or a remote server.
To make selling API Keys for WordPress plugins and themes easier, the WooCommerce API Manager PHP Library for Plugins and Themes was developed as a PHP Library that can be dropped into a plugin and theme in less than 5 minutes for API Key authentication and software updates with the WooCommerce API Manager. Learn more about how to get a copy of the WooCommerce API Manager PHP Library for Plugins and Themes.
Amazon S3 File Download Support Built-in
File downloads are better served by Amazon S3, which is scalable world-wide, and is extremely affordable for any sized business. Setup your file as described in the documentation, copy and paste the Amazon S3 URL, and your file will be served securely by Amazon S3. Using Amazon S3 allows issues with local web server setup, web hosts, firewalls, WooCommerce file download changes, and other impediments to be completely avoided.
Flexible API Key Types to Match Store Workflow
There are three types of API Key types that provides a flexible API Key model for any store.
- Master API Key: Great for customers who want to use a single API Key for everything. Can be used to activate any API Resource purchased with this single API Key. Providing a one-key solution to makes its use easier and more convenient for the customer, which improves satisfaction. Customer access to all API Resources can be turned off by the store owner using the Master API Key if required.
- Product Order API Key: Great for store owners who want customers to use separate API Keys for each purchase. Can be used to activated a single API Resource from a single order. Can be used for more fine-grained control by the store owner, or by the customer who may choose to allow employees, or a friend, to use only that API Key.
- Associated API Key: Just like the Product Order API Key, except you are in control of which products and orders it is associated with. Can be generated by another plugin, site, or imported, and stored in a custom table that is used by the WooCommerce API Manager when the API Key is associated with an API Resource. This allows store owners to use API Keys in a custom way.
WooCommerce API Manager Subscriptions
The WooCommerce API Manager has API Access Expiration, which is just another way of saying a time limit for an API Key that acts like a subscription. The customer buys a product, and can access that product (API Resource) until the API Access time limit expires, at which time the customer must renew the time limit by buying the product again. When the product is a WooCommerce Subscription, the store can automatically renew the subscription and email a receipt to the customer, or the customer can manually renew the subscription. A Variable WooCommerce Subscription allows a customer to upgrade/downgrade the subscription. All API Resources are managed using API Key activations. A product can have one or more activations available, and any of the API Key types mentioned above can be used to grant access to the API Resource. The choice to use the built in API Access Expiration, or WooCommerce Subscriptions, depends on the product, and store’s needs.
Flexible Product Types
The WooCommerce API Manager allows product creation based on your sales model, and the structure provided by WooCommerce. An API Resource (Product) can be sold as a simple/simple subscription product, or a variable/variable subscription product with variations. Each simple and variable variation can have a single number of activations, or unlimited activations, for purchase, or for variable product variations, each variation can have a different number of activations, including one variation that has unlimited activations.
WooCommerce API Manager Features
Easy Product Setup
Easy product API form for software and non-software products.
Secure Download URLs
URLs for the local server, Amazon S3, or remote, are wrapped for security and with an expiration time to prevent illicit use.
Plugin Update Screen Tab Control
Plugin update tabs can be added or removed.
API Access Expiration
Products that are not WooCommerce Subscription types can use the API Access Expires field to limit API Resource access just as a subscription would provide.
Full API Access Control
Store owners can disable a customer’s API Access if needed.
Built-in API Debugging
There are several options for beautifully formatted debugging data that is stored in custom WooCommerce logs.
Store owners can offer free products, and give existing products that are not free to existing customers for free.
The API Manager uses SmartCache to cache database and API queries at critical points in the data process to dramatically increase the speed of critical services such as data and API responses. SmartCache only updates the cached data being requested when the data changes, or when expired cache is requested but needs to be refreshed. The result is a dramatic speed increase, and a dramatic decrease in server load. When SmartCache is combined with object caching the result is blazing fast speed. SmartCache allows the API Manager to effortlessly scale to any level of traffic load.
Order Screen API Resources
Order items that are API Resources are listed on the Order screen along with pertinent details.
Order Screen API Resource Activations
API Key activations are listed on the order screen, and can be removed if needed.
My Account Dashboard API Keys
On the My Account > API Keys page the Master API Key is always listed. The remaining details can optionally list the Product Order API Key, or it can be hidden as is shown in this screenshot. The customer can remove activations that were not properly removed by client software in the dashboard.
My Account Dashboard API Downloads
On the My Account > API Downloads page API Resources that are software products can be downloaded, and saved to Dropbox if that option is configured. All URLs are secure, and expire at a time interval configured under settings.
Easy WordPress Plugin and Theme Setup
The WooCommerce API Manager PHP Library for Plugins and Themes for the API Manager makes it possible to setup both WordPress plugins and themes in minutes. The WooCommerce API Manager PHP Library for Plugins and Themes allows WordPress plugins and themes to do automatic updates, and to communicate with all the API Manager APIs to complete tasks such as activation, deactivation, etc. This is an example.
Depending on the information gathered, and tabs chosen in the settings, the plugin view details screen displays information as would be displayed for any plugin from wordpress.org, so it will look familiar to the customer. Learn more about how to get a copy of the WooCommerce API Manager PHP Library for Plugins and Themes.
API Load/Speed Test
The ab – Apache HTTP server benchmarking tool was used to test the WooCommerce API Manager API Status function in three test cases. All tests were performed using an HTTPS connection which is much slower than an HTTP connection.
- 500 API requests with 10 request concurrency.
- 500 API request with 1 request concurrency.
- 500 API request with 100 request concurrency.
- Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz, 2 cores
- CentOS Linux 7.6.1810
- 2 GB Ram
- Web server is Nginx 1.16.1 setup for HTTP/2
- PHP processor is PHP-FPM
- PHP version 7.3.9
- MySQL version 5.7.27-log
- WooCommerce version 3.7.0
- WordPress version 5.2.3
- WooCommerce API Manager version 2.2.3
- No caching was used. (Imagine if caching was used)
- SSD hard drive that comes standard on DigitalOcean servers. This costs $15/month.
The server used in the test is the live server at toddlahman.com, which has a large database of customers, so the test could reflect a real-world result.
Response times for requests are measured in milliseconds. A millisecond is a thousandth of a second, or 0.001 seconds, so 0.001 seconds is 1 ms (millisecond).
Test 1 result:
- 500 requests with 10 requests concurrency.
- Time to complete test was 19.601 seconds.
- Mean time per request of 39.023 ms (milliseconds), which is 0.039023 seconds.
- Mean requests per second 25.51, which is 1,530.6 per minute, or 91,836 per hour.
- Zero failed requests.
Test 2 result:
- 500 requests with 1 request concurrency.
- Time to complete test was 38.382 seconds.
- Mean time per request of 76.765 ms (milliseconds), which is 0.076765 seconds.
- Mean requests per second 13.03, which is 781.8 per minute, or 46,908 per hour.
- Zero failed requests.
Test 3 result:
- 500 requests with 100 requests concurrency.
- Time to complete test was 19.105 seconds.
- Mean time per request of 38.211 ms (milliseconds), which is 0.038211 seconds.
- Mean requests per second 26.17, which is 1,570.2 per minute, or 94,212 per hour.
- Zero failed requests.
The WooCommerce API Manager performed extremely fast, and reliably under heavy loads without caching enabled. In fact, the WooCommerce API Manager performed better as the request load increased, and at a rate of between 46,908 to 94,212 requests per hour, or 13.03 to 26.17 requests per second. It is safe to say the WooCommerce API Manager can scale to meet the needs of the smallest to the largest WooCommerce store, but would perform even better with caching enabled.
What is the difference between the WooCommerce API Manager and the WooCommerce Software Add-on?
The WooCommerce API Manager has a lot of powerful features that the WooCommerce Software Add-on does not have, but here are a few:
- The WooCommerce API Manager works with almost any product type including Simple, Variable, Simple Subscription, Variable Subscription, and Group. The Software Add-on only works with Simple products.
- The WooCommerce API Manager has the WooCommerce API Manager PHP Library for Plugins and Themes that can be dropped into WordPress plugins and themes to connect a product to the API Manager instantly. The Software Add-on requires you to build your own. Learn more about how to get a copy of the WooCommerce API Manager PHP Library for Plugins and Themes.
- The WooCommerce API Manager allows download files to be served from Amazon S3. Software Add-on does not.
- The WooCommerce API Manager has built-in API Key expiration, and is fully compatible with WooCommerce Subscriptions. The Software Add-on has neither.
- Take a look at the documentation for both the WooCommerce API Manager and the Software Add-on to see the many differences, and decide which is the better value going forward for your store.
How to Get Started
- Buy this extension.
- Download, install, and activate the WooCommerce API Manager in your WooCommerce store.
- Read our extensive documentation to get started on the right path.
- That’s it! Sit back and enjoy more revenue using API Keys to control API Resources for your site!
Need any more reason to buy? When you purchase a Todd Lahman LLC developed extension, you’re getting the highest quality extensions for your WooCommerce store. Gain peace of mind by knowing that when you purchase our products, your store’s performance is as important to us as it is to you.