A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library.
Installation
pip install woocommerce
Getting started
Generate API credentials (Consumer Key & Consumer Secret) following this instructions http://woocommerce.github.io/woocommerce-rest-api-docs/#rest-api-keys.
Check out the WooCommerce API endpoints and data that can be manipulated in http://woocommerce.github.io/woocommerce-rest-api-docs/.
Setup
from woocommerce import API
wcapi = API(
url="http://example.com",
consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
version="wc/v3"
)
Options
Option |
Type |
Required |
Description |
|---|---|---|---|
url |
string |
yes |
Your Store URL, example: http://woo.dev/ |
consumer_key |
string |
yes |
Your API consumer key |
consumer_secret |
string |
yes |
Your API consumer secret |
version |
string |
no |
API version, default is wc/v3 |
timeout |
integer |
no |
Connection timeout, default is 5 |
verify_ssl |
bool |
no |
Verify SSL when connect, use this option as False when need to test with self-signed certificates |
query_string_auth |
bool |
no |
Force Basic Authentication as query string when True and using under HTTPS, default is False |
user_agent |
string |
no |
Set a custom User-Agent, default is WooCommerce-Python-REST-API/3.0.0 |
oauth_timestamp |
integer |
no |
Custom timestamp for requests made with oAuth1.0a |
wp_api |
bool |
no |
Set to False in order to use the legacy WooCommerce API (deprecated) |
Methods
Params |
Type |
Description |
|---|---|---|
endpoint |
string |
WooCommerce API endpoint, example: customers or order/12 |
data |
dictionary |
Data that will be converted to JSON |
**kwargs |
dictionary |
Accepts params, also other Requests arguments |
GET
.get(endpoint, **kwargs)
POST
.post(endpoint, data, **kwargs)
PUT
.put(endpoint, data), **kwargs
DELETE
.delete(endpoint, **kwargs)
OPTIONS
.options(endpoint, **kwargs)
Response
All methods will return Response object.
Example of returned data:
>>> r = wcapi.get("products")
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=UTF-8'
>>> r.encoding
'UTF-8'
>>> r.text
u'{"products":[{"title":"Flying Ninja","id":70,...' // Json text
>>> r.json()
{u'products': [{u'sold_individually': False,... // Dictionary data
Request with params example
from woocommerce import API
wcapi = API(
url="http://example.com",
consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
version="wc/v3"
)
# Force delete example.
print(wcapi.delete("products/100", params={"force": True}).json())
# Query example.
print(wcapi.get("products", params={"per_page": 20}).json())
Changelog
See CHANGELOG.md.
Metadata
Release files for WooCommerce 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| WooCommerce-3.0.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| WooCommerce-3.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.0 kB
Release files / WooCommerce-3.0.0.tar.gz
| Download URL | WooCommerce-3.0.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcb7498e01dcdf618051fca86168bd198c14ff6dc5d02a41d27805832ad79d35
|
|
BLAKE2b-256 checksum How to use checksums |
9ae1a65781f73ae47c59900e6a88a07af42109233c9f4e8be4e0a8051c817893
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|
Release files / WooCommerce-3.0.0-py3-none-any.whl
| Download URL | WooCommerce-3.0.0-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be054cf47fbe1ce9e88f380c546835b2e725716cfd91fb8188659b2cb282fe77
|
|
BLAKE2b-256 checksum How to use checksums |
d8482f4ba43d234d34d09f0975b0553a116affdcec6a13811426b73ee929c83e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|