This repository is home to the WooCommerce REST API package.
The stable version of this package is bundled with WooCommerce core releases, but it can also be used as a standalone plugin so bleeding-edge API features can be tested or used by other feature plugins.
After checking out the code to your wp-content/plugins
directory, you'll need to run composer install
in the plugin directory (wp-content/plugins/woocommerce-rest-api
) to install dependencies and to enable the autoloader. Without performing this step, if you activate the plugin it will simply show an admin notice.
- Usage documentation for the REST API can be found here.
- Contribution documentation can be found here.
Namespace | Status | Docs |
---|---|---|
wc/v4 |
Development | Link |
wc/v3 |
Stable | Link |
wc/v2 |
Deprecated - October 2020 | Link |
wc/v1 |
Deprecated - April 2019 | Link |
Note: API Versions are kept around for 2 years after being replaced, and may be removed in the next major version after that date passes.
This package is hosted on Packagist and can be included using composer.json:
"require": {
"woocommerce/woocommerce-rest-api": "1.0.0"
},
Since multiple versions of this package may be included at the same time, it includes a special package-version autoloader. This dependency is also on Packagist:
"automattic/jetpack-autoloader": "^1"
And using this autoloader requires the following include in your codebase:
$autoloader = __DIR__ . '/vendor/autoload_packages.php';
If you choose to use your own autoloader, please note you won't be able to determine which version of the package is running since it could use the version in WooCommerce core or your version. The namespaces would conflict. All of our feature plugins and packages use the package autoloader.
Please read the WooCommerce contributor guidelines for more information how you can contribute to WooCommerce, and the REST API contribution documentation here.
Within this package, namespaces and endpoint classes are located within the src/RestAPI/
directory. If you need to change the behavior of an endpoint, you can do so in these classes.
Run tests using phpunit
in the root of the package. All pull-requests must pass unit tests in order to be accepted.
For strings located in API endpoints, use woocommerce
as your text-domain. These endpoints will be translated in the WooCommerce Core PO/MO files.