WooCommerce API Manager 1.5.3 Extension

$ 299 $ 5

WooCommerce API Manager Extensions

WooCommerce API Manager Extension

WooCommerce API Manager Extension Version : 1.5.3

The API Manager extension for WooCommerce secures your software with API License Key activations/deactivations, and provides automatic updates of plugins and themes to increase customer satisfaction and convenience.


Product Description

WooCommerce API Manager 1.5.3 Extension

Official Website

Sell License Keys for Software and Automated Updates for Plugins and Themes

The WooCommerce API Manager secures your software with API License Key activations/deactivations, and provides automatic updates of plugins and themes to increase customer satisfaction and convenience. Easy updates is a powerful marketing tool that only a handful of companies have been able to offer, until now. Best of all, the WooCommerce API Manager is packed with features that eliminate support requests, increase customer satisfaction, and increase shop manager productivity, so you can focus on selling more products.

Key Features

  • Automatically generated API License Key emailed to the customer after a product purchase.
  • Amazon S3 is fully integrated to serve software files with secure links that expire.
  • Secure automatic software updates through the WordPress dashboard.
  • Offer software updates for a fee or for free, unlimited updates, updates based on a subscription, and updates based on a specified number of software activations.
  • Sell software individually, as variable products with sliding scale pricing, as bundles, chained, grouped, composite, or any combination that drives sales.
  • The option to sell an API License Key with multiple activations that can differ per variable product.
  • Quick and easy product setup with a global settings option that automatically configures variable/child products.
  • The customer’s My Account dashboard has all the information the customer needs to manage their software activations, and the power to delete activations for an API License Key, which helps eliminate customer support for these tasks.
  • The shop manager and customer can both see the number of activations per API License Key, activations remaining, and all other relevant information to manage purchases, even for subscription products.
  • Customer can email themselves a lost API License Key anytime using an automatically created form on the front end of the blog.
  • The shop manager can send the customer their completed order at any time, which will contain the products and their API License Keys.
  • The Order screen allows the shop manager to add/delete API License Keys, view/delete software activations, disable API Access, and change the number of activations per API License Key.
  • The API sends custom error messages so customers know if there is a problem when activating/deactivating, or doing an update query.
  • The WooCommerce Subscriptions extension is fully supported to sell subscription based API License Key activations.
  • Customers can upgrade or downgrade their activations, if the product was purchased as a subscription, by switching their subscription in the My Account Dashboard.
  • Software versions are updated on the activation section of the Order screen upon activation, and anytime the customer software does an update query.
  • The download URL is customer order, product, and API License Key specific. The download URL hides the real location of the software file on your server to make it fully secure. The WooCommerce API Manageralso checks authentication credentials for each customer automatically to ensure authorized customers can only download the software they purchased. To make it easier to upload software updates, the WordPress media library is used.
  • If you already use the Software Add-On extension, no problem, your customers can access theWooCommerce API Manager until they switch over to their new WooCommerce API Manager api license key/s.
  • The WooCommerce API Manager comes with an example plugin, an example theme, and pre-built PHP classes to speed development. If needed, Todd Lahman support can integrate the requiredWooCommerce API Manager code into your software.
  • The WooCommerce API Manager offers too many features to list here. It is best to read the documentation to learn more.

Easy Configuration

The WooCommerce API Manager makes it easy to customize each specific product by using the API settings form. Information that appears on the plugin update information screen, such as the changelog, uses a page, so it is very easy to create, update, add images, video, or whatever you can do with the page editor in WordPress. Simple and variable products, even subscription products, can be configured to have their own unique API information, download file, and update information screen settings. For variable products that use the same settings, there is a global checkbox that allows a single form to be filled-in and applied to all variable products to save time, and eliminate possible duplication errors.

WooCommerce API Manager Settings Form
WooCommerce API Manager Settings Form

On the Order screen, individual API License Keys can be configured as needed, added, or deleted. All relevant information is available at a glance when the API boxes are closed to make it quick and easy to find what you’re looking for.

API License Key Products
API License Key Products

On the Order screen, API License Key activations are also organized to provide all relevant information to quickly find what you’re looking for. As an added benefit, customer software versions are updated whenever the client software performs an update query, or is activated, so you know which software version clients are using.

API License Key Activations
API License Key Activations

The customer’s My Account dashboard makes it easy to see the status of API Keys, and to find what they are looking for. Sometimes a client might need to delete an API Key activation, but do not have access to their client’s blog, for example. No problem, there’s a delete button they can use to delete the activation without having to submit a support ticket.

My API License Key Products
My API License Key Products

Informative messages are sent from the License and Update APIs to help customers understand if there is a problem. When customers pass along the message they received to support, it can help resolve issues very quickly, since the error messages have very clear solutions.

Subscription on-hold Error Message
Subscription on-hold Error Message
Number of Activations Remaining After Activation
Number of Activations Remaining After Activation
Invalid API Key Error on Software Activation
Invalid API Key Error on Software Activation

Customers will see software update notices in the WordPress dashboard as they would any other plugin or theme. The customer can then update their software with a single click.

Plugin Update Screen
Plugin Update Screen
WooCommerce API Manager Payment Gateway Extension,WooCommerce API Manager Payment Gateway plugin,plugin API Manager Payment Gateway Download free,WooCommerce API Manager Payment Gateway Download free,WooCommerce API Manager Payment Gateway Download Extension,Download WooCommerce API Manager Payment Gateway,Download WooThemes API Manager Payment Gateway WooCommerce plugin,Premium WooCommerce API Manager Payment Gateway,plugin WooCommerce API Manager Payment Gateway,WooThemes API Manager Payment Gateway WooCommerce plugin,WooThemes API Manager Payment Gateway WooCommerce Extensions,Download Premium API Manager Payment Gateway WooCommerce Extensions,WooCommerce API Manager Payment Gateway Extensions Latest Updates,WooCommerce plugins and themes updates API Manager Payment Gateway,WooCommerce API Manager Payment Gateway WordPress Plugins,woocommerce API Manager Payment Gateway plugin free,best woocommerce API Manager Payment Gateway plugin,woocommerce API Manager Payment Gateway Latest Updates,API Manager Payment Gateway Woocommerce Extensions Download Free,API Manager Payment Gateway WooThemes,API Manager Payment Gateway for WooCommerce,Premium WooCommerce Extensions Download API Manager Payment Gateway

*** API Manager Changelog ***

* There is an API Manager PHP Library available in a private Github repo, maintained by the author, to help plugin and theme authors quickly setup products that can utilize the API Manager APIs. Contact WooThemes support, and provide them with your Github username and purchase license, so the developer can add you to the API Manager PHP Library Github repo.

2017.02.06 – version 1.5.3
* Fix: Adjusts the WooCommerce Helper integration logic to ensure the plugin shows correctly on the license activation screen.

2016.12.30 – version 1.5.2
* Fix: Warning html-settings-admin-first-build-button.php and html-settings-admin-tools.php failed to open. The directory path was not updated properly on the last release.

2016.12.28 – version 1.5.1
* Fix: Fixed “auth_key will be truncated by openssl_encrypt() since it is 64 bytes” warning.
* Fix: Fixed due to missing trailing slash at the end of directory name in autoload class, “Fatal error: Class ‘WC_AM_Tools’ not found in \wp-content\plugins\woocommerce-api-manager\includes\wc-am-core-functions.php on line 77.”
* Tweak: Made some admin notices dismissible. Use new admin_notice CSS classes.

2016.12.22 – version 1.5
* WARNING: PHP 5.6 will no longer be supported after December 31, 2016.
* Dropped: Support for WooCommerce Subscriptions < 2.0 dropped. * Refactor: Class objects are now autoloaded, so they are only loaded when needed, which results in less memory usage. Some code has been cleaned up and better formatted. Unused files and methods have been removed, and others have been moved to tidy up the directory and file structure. * Update: Updated password.php used for older versions of PHP. Will be removed in a future version. * Update: Replaced old encryption methods that used mcrypt(), which is slow and no longer maintained, with encryption methods that use openssl(). The result is increased speed and security. * Fix: Switched subscription API Keys and API Downloads now display properly in the My Account dashboard. * Fix: Prevent duplicate API Key generation on order when order status changed from Completed to another status, then back to Completed. * Feature: Local secure download URLs expired after one click. Now those URLs will expire as set in Settings > URL Expire Time. Local secure download URLs will now work exactly the same as Amazon S3 URLs work.
* Feature: When a subscription expires, or is cancelled (not pending-cancellation), the subscription API Keys and API Key activations are deleted.
* Feature: When a subscription is switched, API Keys and API Key activations are deleted from the old parent and switched orders.
* Feature: Tabs displayed on Plugin Information screen, aka “View version details” screen, can now be turned on or off. Settings are located at WooCommerce > Settings > API Manager > API Doc Tabs.

2016.6.20 – version
* Tweak: Update subscription status check method in several classes for consistency.

2016.6.15 – version
* Fix: remove redundant in_the_loop() call in WC_API_Manager_Query.
* Fix: Error on My Account page due to download filters not yet loaded in WC 2.5.x when API Manager filters out API downloads.
* Tweak: Replace deprecated get_product() with wc_get_product() in WC_Api_Manager_Downloads.

2016.6.8 – version
* Tweak: Removed the option to choose to delete API Product download URLs from emails, My Account downloads section, and order view details. This is now the default behavior, but only API products will have download URLs removed. Previously, all download product URLs were removed.
* Tweak: Additional template changes for WC 2.6.

2016.6.6 – version 1.4.6
* Fix: Forgot to bump the version on the last release. 🙂

2016.6.6 – version 1.4.5
* Fix: Support for WooCommerce Subscriptions < 2.0 in Update API caused "Download permission revoked ..." message to appear erroneously. * Tweak: Remaining support for WooCommerce Subscriptions < 2.0 removed.2016.6.5 - version 1.4.4 * Fix: The message, "Subscription Is Not Active," was returned incorrectly if a non-subscription product was activated, and the order contained the non-subscription product and a subscription product that had a subscription which was cancelled. * Fix: Fix above also fixed in templates/my-api-keys.php and templates/my-api-downloads.php. * Feature: Added tabbed My Account pages for WC 2.6. Updated templates/my-api-keys.php and templates/my-api-downloads.php for WC 2.6.2016.3.24 - version 1.4.3 * Fix: Check if WooCommerce Subscriptions is active before trying to remove old API Keys on renewal orders. * Fix: Check if the order exists, and if the order has been trashed, when handling API requests or displaying downloads and API Keys in My Account dashboard. Both my-api-downloads.php and my-api-keys.php will need to be updated if templates are overridden in a theme.2016.1.12 - version 1.4.2 * Fix: Do not modify order completed email by adding a download or API Key section, if the order does not contain a downloadble product, or if the product is not set to use the API. * Fix: Do not display products on My Account dashboard, My API Key or My API Downloads sections, if the product cannot be downloaded according to multiple criteria. * Fix: Don't display API Keys or API Download on My Account dashboard for orders that have been trashed.2015.12.6 - version 1.4.1 * Fix: Update API was allowing cancelled subscriptions access to updates. * Fix: Simple Subscription Product > API tab > Software Activation Limit would not update.

2015.11.8 – version 1.4
* Fix: If user_email was different than billing_email, the user_id could not be found, which caused activations and updates to fail.
* Fix: The get_download_count() method was used as a check to verify download permission. The method has been rewritten to provide a more reliable verification.

2015.11.3 – version 1.3.13
* Fix: Software and Update APIs now determine if an order uses the Subscriptions < 2.0 download permissions, Subscriptions >= 2.0 download permissions, or non-Subscription order download permissions. Hopefully this will catch all edge cases.

2015.10.30 – version 1.3.12
* Fix: Products purchased as a WooCommerce Subscription did not show correct My API Downloads download URL if the download file existed on the local server rather than on Amazon S3.

2015.10.28 – version 1.3.11
* Fix: If Download Expiry was not set on installations that do not use WooCommerce Subscriptions, downloads did not display. If my-api-downloads.php is used in the theme, be sure to update it.

2015.10.14 – version 1.3.10
* Fix: Downloadable product permissions were not correctly detected in Software and Update APIs if the product was not a subscription product.

2015.10.9 – version
* Fix: My Account templates, my-api-keys.php and my-api-downloads.php, updated to display subscription and non-subscription API Keys and API Downloads. Was only showing subscription API Keys and API Downloads.

2015.10.7 – version
* WARNING: Support for WooCommerce Subscriptions versions before 2.0 will be dropped in the next update.
* Feature: Added compatibility with WooCommerce Subscriptions 2.0.
* Feature: Added variable product variation updates via AJAX.
* Feature: Added edit link leading to changelog page, or other pages selected for a product, to make editing easier.
* Fix: Fixed API product tab used to bulk edit variable product variations to work with WooCommerce 2.4.
* Fix: Fixed API product tab fields now display with full width.
* Tweak: My Account templates, my-api-keys.php and my-api-downloads.php, updated to only display API Keys and API Downloads for active subscriptions, which includes cancelled subscriptions until the end of the paid term.

2015.7.28 – version
* Fix: Fixed fatal error in admin/tools/class-wc-am-tools.php from missing closing parenthesis.

2015.7.24 – version
* Feature: Added First-Time Data Build button to settings page, to allow products to be setup and configured on new installs prior to build API data that includes API keys for customers who have already purchased products that are now setup to use the API Manager, so existing customers can start using their new API Keys.
* Feature: Added message with directions for new installations to do the First-Time Data Build and product configuration.
* Tweak: Use direct SQL query for some account first-time data prep to avoid overhead of some WordPress functions.
* Tweak: Overall better performance improvements for first-time API data build for new installs, and for emergency data rebuilds.
* Tweak: Improved intelligence of emergency data build, so it only replaces API Keys for customers that should have them.
* Tweak: Ensure first-time data is built only once manually from the API Manager settings screen, then hide the button. Also hide the button if API data has already been created for customers.
* Tweak: Only allow emergency, and first time build, buttons to be displayed on the settings page by defining the following constants in wp-config.php.
– For example: define( ‘WAM_FIRST_TIME_BUILD_BUTTON’, true );
* Tweak: Small performance improvements throughout the plugin.
* Tweak: On very old installations with WooCommerce Subscriptions activated, API Keys could have been added to subscription renewal orders, when they should only exist on the initial subscription order. Upon upgrade, a routine will remove those old API Keys from subscription renewal orders. The routine will only run once.
* Tweak: Fixed Lost API Key form not always sending out API Keys due to missed errors. Added more logic to catch errors, such as an email that does not have an account, so those errors will be displayed on the form.

2015.5.28 – version
* Fix: Added id and slug response to update API to fix “NOTICE: wp-admin/includes/update.php:281 – Undefined index: plugin” for shiny updates in WordPress 4.2.2
* Notice: Update your plugin-update class using the plugin or theme example in the private repo. View Version Details link will be broken until client software is updated, but updates will work properly.

2015.4.27 – version
* Tweak: Allow animated pulldown menu selection to be deleted on product screen with select2.

2015.4.21 – version
* Fix: Outgoing API Key and Software Update request URLs are now escaped to prevent possible XSS attack vector. Impacts customers only.

2015.4.3 – version
* Fix: License Key API status check returned active for second activated API key, and inactive for first activated API key, when the same API key, but a different instance, was used to activate the same product.
* Tweak: Added admin notice when the required PHP 5.4 version or greater is not installed on the server running the API Manager.

2015.2.18 – version
* Update: Replaced deprecated hook woocommerce_admin_css with 2.3 hook admin_enqueue_scripts.
* Update: Replaced deprecated hook woocommerce_product_write_panels with woocommerce_product_data_panels.
* Fix: Reverted template override back to how it was before 1.3.9, as the new approach generated errors on some hosts.
* Tweak: Check that $variable_post_ids is an array before processing save for variable product to eliminate PHP notice.

2015.2.14 – version 1.3.9
* Update: WooCommerce 2.3 UI compatibility
* Tweak: Changed template override routine. To override templates in a theme place them as follows:
– yourthemeroot/woocommerce/woocommerce-api-manager/my-api-keys.php
– yourthemeroot/woocommerce/woocommerce-api-manager/my-api-downloads.php
* Tweak: Autoselect API License Key on Order edit screen on mouseover for easier copying.

2014.12.9 – version 1.3.8
* Tweak: Enforce API Access Permission order screen checkbox in the License and Update API.
* Tweak: When API Access Permission order screen checkbox is unchecked, deactivate all API Key Activations for that API Key on the order screen, and the My Account dashboard.
* Tweak: When API Access Permission order screen checkbox is unchecked, list the activation in My Account dashboard as deactivated and prevent deletion by customer.
* Tweak: If API Access Permission is unchecked, activation is inactive/disabled, downloads remaining is zero, or access expires has expired, the License and Update APIs will not be accesible by the API Key or activation attached to the order.
* Tweak: Added more License and Update API messages in response to queries.
* Tweak: APIs now only use unique instance as the means to identify an individual activation.
* Feature: Added Toggle button to activate/deactivate an activation individually on the order screen. This is enforced in the License and Update API.

2014.9.8 – version 1.3.7
* Example plugin and theme code moved to private Github repositories. Send WooThemes support your Github username, so the author can grant access to the repositories.
* Feature: WooCommerce 2.2 compatible
* Feature: WordPress 4.0 compatible
* Tweak: Sort My API Keys alphabetically in My Account. Located in templates/my-api-keys.php
* Tweak: Sort My API Downloads alphabetically, and without duplicates, in My Account. Located in templates/my-api-downloads.php
* Tweak: Do not display the Add API Key button on a subscription renewal order.
* Tweak: Do not create an API License Key for product orders unless the API and the Downloadable boxes are both checked on the Product edit screen.
* Refactor: Moved array methods to their own array class. Located in includes/class-wc-am-array.php
* Translation: Updated translation routine. Replaced base .po and .mo files with i18n/languages/woocommerce-api-manager-en_US.po and i18n/languages/
* Translation: Added Dutch translation thanks to David de Boer.
* Fix: WooThemes Helper License Key field did not display in some WordPress installations, so the plugin could not be activated.

2014.7.21 – version 1.3.6
* Tweak: Some web hosts have security policies that block the : (colon) and // (slashes) in http://, so only the host portion of the URL can be sent by the client software. For example the host portion might be or includes the scheme http, and the host Sending only the host also eliminates issues when a client site changes from http to https, but their activation still uses the original scheme. To send only the host, use a line like the one below:
– str_ireplace( array( ‘http://’, ‘https://’ ), ”, home_url() );
– An example of the line above is in the root file of the API Manager example plugin and example theme.
– Additional info:
– When the : (colon) and // (slashes) in http:// request are blocked, the example plugin will return the following messages:
– The license could not be deactivated. Use the License Deactivation tab to manually deactivate the license before activating a new license.
– Connection failed to the License Key API server. Try again later.
* Tweak: The esc_url_no_scheme() and esc_url_raw_no_scheme() methods were added to sanitize URLs without prefixing http://, as esc_url() does.
* Tweak: Don’t display Add API Key option on Subscription renewal orders. The active API License Key exists on the Initial Order for the subscription.
* Tweak: templates/my-api-manager.php has been removed, and split into two template files: templates/my-api-keys.php and templates/my-api-downloads.php.
* Tweak: Don’t display disabled downloads in My Account API Downloads table.
* Fix: API License Key activation status checks would return inactive some of the time in error, if more than one product was purchased in the same order. This did not affect activations, deactivations, or updates.
* Fix: Invalid argument supplied for foreach() error appeared on order details and email order items templates due to false being returned to the associated filter rather than an empty array.
* Fix:

moved above the

foreach loop, so the table can be formatted with alternating table row colors, in the templates.

2014.6.30 – version 1.3.5
* Tweak: Implemented new singleton design pattern to ensure only a single instance of each class exists.
* Tweak: Wrote a more complete uninstall routine.
* Tweak: Uninstall hash table on plugin uninstall or deactivation.
* Tweak: Moved Helper class instance from AMHelpers() to WCAM()->helpers.
* Tweak: Improved language translation.
* Tweak: Return esc_url_raw() API URLs with better scheme detection.
* Fix: Install hash table even if plugin is not being upgraded.
* Fix: Undefined variable on plugin activation.

2014.6.12 – version 1.3.4
* Required: WooCommerce 2.1 is now required.
* Removed: Removed all support for WooCommerce Software Add-On.
* Removed: Removed all support for WooCommerce 2.0.
* Feature: Download URLs for the My Account dashboard, and software updates, are now secured with hashed authentication. The new hash class uses password_hash() for PHP 5.5, a compatibility library for PHP 5.3.7 – 5.4.x to simulate password_hash(), and the WordPress class-phpass.php for PHP < 5.3.7. Download URLs can be set to expire from 5 - 60 minutes after the URL is generated for added security. The woocommerce_api_manager_secure_hash table was added to manage hashed authentication. * Feature: Can now set the downloads remaining and access expires under Downloadable Product Permissions to restrict Update API downloads. Number of downloads limit, and time limit when access expires, can be set per product or per order. * Feature: Can now set access expires under Downloadable Product Permissions to restrict License Key API activation. Time limit when access expires can be set per product or per order. * Feature: New My API Downloads table added to the My Account dashboard with the following columns: - Product - Version - Version date - Documentation - Changelog - Documentation - Download - Download - Save to Dropbox * Feature: New setting that allows all download links in email, My Account dashboard, and Order Details to be removed. Emails will provide a link to the My Account dashboard. All download links will still be available from the My API Downloads section of the My Account dashboard. * Feature: New setting to enter the Dropbox App Key for the Save to Dropbox link. * Feature: New Documentation setting in the product editor. When a documentation page is set, this provides the Documentation link in the My API Downloads section of the My Account dashboard. * Refactor: Refactored API Manager Theme Example code to match approach used in the Plugin example. The theme name/software title is now parsed automatically from the stylesheet Theme Name:. The theme version is now parsed automatically from the stylesheet Version:. The plugin update class now uses the parsed version rather than the last checked transient version. * Refactor: API Manager Theme Example now contains methods and a hook to remove product data and deactivate the license key when switched to a different theme. * Refactor: The API Manager Example Plugin update class now uses the hardcoded software version rather than the last checked transient version. * Refactor: The API Manager Example Plugin update API library can be found in api-manager-plugin-example/classes/class-wc-plugin-update.php. * Refactor: Improved download handling class. Check if buffer is empty before emptying. Check if file exists, before attempting to open. * Refactor: Improved JSON API responses. * Refactor: Improved AJAX responses. * Refactor: Moved Helper class instance from AMHelpers() to WCAM()->helpers().
* Refactor: Load shared classes as singular on-demand instances. This approach was also applied to the example plugin also, to prevent duplicate admin messages from the APIs.
* Tweak: The My API Keys section of the My Account page is now responsive.
* Tweak: Any URL can now be used for Amazon S3 downloads, not just
* Tweak: Software Activation Limit for a Simple Product type now returns an empty string rather than zero if no value entered.
* Tweak: API Manager Theme Example is now setup as a child theme for easier testing. Choose the parent theme available on your installation, or test with the code integrated into your parent theme.
* Tweak: woocommerce_get_template() changed to wc_get_template() for WC >= 2.1.
* Tweak: If order is made from United Kingdom, use licence rather than license.
* Tweak: APIs no longer check for wc_ prefix in the API License Key string now that support for WooCommerce Software Add-On has been dropped. This will prevent any issues if a prefix other than wc_ is used.
* Tweak: Removed unused global variables from local scopes.
* Tweak: Check if WP_HTTP_BLOCK_EXTERNAL is defined, and set to true, in the API Manager, example plugin, and example theme.
* Tweak: In the example update class, added a timeout of 45 seconds in the plugin_information() method for the wp_remote_get() function. This should provide more time for slow responding sites.
* Tweak: Local server WooCommerce download URLs can only be used once. If the URL is on a page, then the page needs to be refreshed to use the download URL again.
* Fix: The API Manager Theme Example had the product id and software title data values switched when sending to the Update API, allowing Dashboard > Updates to display, but Appearance > Updates did not display. Now both update screens display updates available.
* Fix: If a download URL was obtained, it could be used to download a product file with weak authentication an unlimited number of times. This is default WooCommerce behavior. This was fixed with the new hashing authentication class.

2014.4.8 – version 1.3.3
* Fix: $nonce_salt value was set improperly in the encryption class. The WooCommerce > Settings > API Manager > Amazon S3 > Secret Access Key will need to be saved again.
* Fix: Deactivation was returning an error, rather than an array. The new ‘deactivated’ key now returns the value true if the product was deactivated. The new ‘activations_remaining’ key now returns a string value containing the number of activations remaining, after the deactivation is completed. The ‘reset’ key has been removed, as it was never returned.
* Fix: Email and My Account > Order Details download links were not returning the Amazon S3 URL if that option was set.
* Tweak: The API Manager Example plugin wc_am_license_key_deactivation function code has been updated to demonstrate how to return a successful deactivation, and to display deactivation errors.
* Tweak: Prevent multiple activations from the same Domain/Platform for the same product. The domain/platform for each activation should be unique, and only one activation is now possible for each unique domain/platform for a product. Existing activations for a unique domain/platform will be removed for a product, so the new activation can be processed.
* Tweak: If Amazon S3 option is set, Email and My Account > Order Details download links are set to expire 24 hours after being generated.
* Tweak: Under WooCommerce > Settings > API Manager > Amazon S3, there is an option to turn off the download links in email and My Account > Order Details. If the Remove Download Link option is selected, a Download Files section is added to the customer completed order email, with a link to the My Account page to download files from that location.

2014.2.12 – version 1.3.2
* Feature: Amazon S3 support added. See for detailed instructions.
* Feature: Activation status check added to the License Key API. Takes the form of [status_check] => active or [status_check] => inactive. An example can be found in api-manager-plugin-example/am/classes/class-wc-key-api.php under the method name status().
* Feature: Added ‘api_manager_extra_software_activation_data’ filter hook to the License Key API to output current order data.
* Feature: Added ‘api_manager_extra_software_status_data’ filter hook to the License Key API to output currently active activation data.
* Feature: Added ‘api_manager_my_account_delete’ to the My Account template.
* Tweak: In api-manager-example.php of the Example Plugin, added several checks in the am_example_inactive_notice method.
* Tweak: In api-manager-example.php of the Example Plugin, the Api_Manager_Example_Key class is only instantiated once.
* Tweak: Removed urldecode from $_GET. The superglobals $_GET and $_REQUEST are already decoded. Using urldecode() on an element in $_GET or $_REQUEST could have unexpected and dangerous results. See Notes:

2014.1.16 – version 1.3.1
* Tweak: Improved download handler
* Fix: Updated text domain
* Fix: On order complete emails, the API License Key and Software Title were blank if an API Manager 1.0 API License Key existed for an order.
* Fix: On lost API key emails, the API License Key and Software Title were blank if an API Manager 1.0 API License Key existed for an order.

2014.1.1 – version 1.3
* Feature: WooCommerce 2.1 compatible
* Feature: WordPress 3.8 compatible
* Feature: Added $extra information property to the Update API class. Can be used to send any additional information from the client software. The information can be any data type.
* Feature: Added api_manager_get_extra_api_data filter hook to access $extra information data sent from client software. This is a very powerful and flexible feature that has a lot of possibilities.
* Feature: Added new WooCommerce 2.1 hooks that allow the API Manager to cleanup customer data after an order is deleted.
* Feature: API License Keys can be found using Search Orders field. Limit of 100 License API Keys can be searched for per order.
* Feature: Can now add multiple products per order support. Multiple products, rather than only individual products, can be handled per order. This allows products to be purchased in multiples, bundles, chained, grouped, composite, etc, and to be assigned a unique API License Key for each item.
* Feature: Added searchable pull-down menu to add API License Keys to an order. Can now add a unique API License Key on the order screen for any existing line items in the order. Downloadable product permission must also exist for that order item. Only existing lines items for the order will be listed in the Add API License Key pull-down menu.
* Feature: Added delete API License Key button on order screen.
* Feature: Can now activate different products from the same domain name/platform on the same order, provided each product activation has its own unique instance id.
* Feature: Different products from the same domain name/platform on the same order can now check for software updates, provided each product has its own unique instance id.
* Feature: Added WooCommerce Settings API Manager tab with buttons to rebuild API Manager data, and to rebuild the woocommerce_downloadable_product_permissions database table.
* Feature: API Manager data will now be automatically built on a new install, so the Account Prep Tool plugin has been deprecated.
* Feature: Order Note is added for customer software activation/deactivation events. This option can be selected in the WooCommerce Settings API Manager tab.
* Feature: The software activation version on the order screen will be updated whenever the client software does an Update API query. The API Manager example plugin now has an updated License Key activation class, Api_Manager_Example_Key, that sends the software version along with the other activation data, so the Software activation will show the client software version immediately upon activation, and then it will be updated on each Update query.
* Feature: Third party plugins can now receive any type of data, and any data type, from client software through the Update API using the following hooks:
– Filter: api_manager_extra_update_data
– Action: api_manager_extra_data
* Tweak: Software Title in product API tab form must match the product_id the client software sends, or the client software will get an error message. This prevents a product from using the API Key of a different product to access the APIs.
* Tweak: Made the API Manager Example Plugin much easier to configure and integrate into products.
* Tweak: Classes can now only be instantiated once. Saves memory, and prevents the need to use globals.
* Tweak: Tightened security in the plugin code.
* Tweak: Added more activation error messages specific to new errors that apply to features added in this version.
* Tweak: Method added to output inline JavaScript.
* Refactor: Refactored downloads method into its own class.
* Tweak: Update API subscription detection for individual orders improved.
* Tweak: Updated _file_paths to _downloadable_files for WooCommerce 2.1.
* Tweak: Added detection for the new WooCommerce 2.1 wc_ prefix for the post meta _order_key key value.
– see
* Tweak: Refactored subscription status methods.
* Tweak: Refactored the helpers class.
* Tweak: Added downloadable product permission check to the License Key API.
* Tweak: Software Add-On support is now limited to only allow existing License Keys to access the Update API. The API Manager will no longer create a Software Add-On license key for new orders, and the Software Add-On activation table values will no longer be updated by the API Manager. Limited support for Software Add-On is provided so all existing customers can be migrated over to the API Manager License Keys.
* Tweak: Added check for empty product ID, instance ID, and API license key values in License Key API.
* Tweak: Added orderly sorting and display of API License Keys on the order and My Account screens.
* Tweak: Improved data presentation on the order and My API License Key Products screens.
* Tweak: Added Settings | Documentation | Support links to plugin administration screen.
* Fix: WooCommerce inactive warning resulted in fatal error due to $text-domain not being called correctly.
* Fix: API, Global, and Subscription checkboxes were not displayed properly in WooCommerce 2.1 or WordPress 3.8.
* Fix: Added CSS to fix some form elements not displaying properly under WooCommerce 2.1 in WordPress 3.8.
* Note: Although $text_domain is used in the update class, a string literal is preferred. For example ‘wc_api_manager’. A variable cannot be read by some translation software.

2013.11.15 – version 1.2.1
* Feature: Added delete button on My Account dashboard to allow customer to delete domain names they activated for an order.
* Tweak: public $text_domain to the software update class, so it is now required. See the plugin example.
* Fix: class-wc-plugin-update.php in the example plugin, and class-cc-tk-plugin-update.php in the example theme, are now using $this->text_domain to do localization for error messages.
* Fix: CSS table column now properly expands on My Account page when the Subscriptions extension is activated.
* Fix: My Account page had some text that was not being run through WP translation functions.
* Fix: Admin Menu had some text not being run through WP translation functions.
* Fix: The API Manager will remove self-upgrade data for itself when it is deactivated for customers. This change has no impact on WooThemes customers.
* Fix: Translation updates applied to plugin example, also applied to theme example.
* Localization: Refactored localization to use public $text_domain.
* Fix: Invalid request deactivation message was fixed in the example plugin in the class-wc-api-manager-menu.php file using the line:
if ( $_REQUEST[‘option_page’] != ‘am_deactivate_example_checkbox’ ) {
* Fix: Invalid request deactivation message was fixed in the example theme in the class-cc-tk-license-menu.php file using the line:
if ( $_REQUEST[‘option_page’] != ‘cc_tk_deactivate_checkbox’ ) {
* Localization: French translation provided by Nicolas Maillard

2013.11.08 – version 1.2
* Tweak: In class-wc-api-manager-order-admin.php removed readonly attribute for Software Title and Software Version to allow those fields to be edited.
* Fix: Fixed option key typo in API Manager plugin example zip file.
* Refactor: Rewrote WooCommerce API Manager Account Prep Tool zip file to build API Manager data for old accounts, and to rebuild data for existing accounts. The rebuild feature allows improperly built data, due to product misconfiguration or bad data that already existed before the API Manager was installed, to be rebuilt by simply activating the plugin, then deactivate.

2013.09.28 – version 1.1.1
* First Release