A Python wrapper for the WooCommerce REST API
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file WooCommerce-3.0.0.tar.gz
.
File metadata
- Download URL: WooCommerce-3.0.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb7498e01dcdf618051fca86168bd198c14ff6dc5d02a41d27805832ad79d35 |
|
MD5 | 0237788060cb0b6538470497791d06a2 |
|
BLAKE2b-256 | 9ae1a65781f73ae47c59900e6a88a07af42109233c9f4e8be4e0a8051c817893 |
File details
Details for the file WooCommerce-3.0.0-py3-none-any.whl
.
File metadata
- Download URL: WooCommerce-3.0.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be054cf47fbe1ce9e88f380c546835b2e725716cfd91fb8188659b2cb282fe77 |
|
MD5 | e05956080e6cb8c4713addec7ffd319c |
|
BLAKE2b-256 | d8482f4ba43d234d34d09f0975b0553a116affdcec6a13811426b73ee929c83e |