Skip to main content

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.

https://secure.travis-ci.org/woothemes/wc-api-python.svg https://img.shields.io/pypi/v/woocommerce.svg

Installation

pip install woocommerce

Getting started

Generate API credentials (Consumer Key & Consumer Secret) following this instructions http://docs.woothemes.com/document/woocommerce-rest-api/.

Check out the WooCommerce API endpoints and data that can be manipulated in http://woothemes.github.io/woocommerce-rest-api-docs/.

Setup

Setup for the old WooCommerce API v3:

from woocommerce import API

wcapi = API(
    url="http://example.com",
    consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
)

Setup for the new WP REST API integration:

from woocommerce import API

wcapi = API(
    url="http://example.com",
    consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    wp_api=True,
    version="wc/v1"
)

Options

Option

Type

Required

Description

url

string

yes

Your Store URL, example: http://woo.dev/

consumerKey

string

yes

Your API consumer key

consumerSecret

string

yes

Your API consumer secret

wp_api

bool

no

Allow requests to the WP REST API

version

string

no

API version, default is 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

Methods

Params

Type

Description

endpoint

string

WooCommerce API endpoint, example: customers or order/12

data

dictionary

Data that will be converted to JSON

GET

  • .get(endpoint)

POST

  • .post(endpoint, data)

PUT

  • .put(endpoint, data)

DELETE

  • .delete(endpoint)

OPTIONS

  • .options(endpoint)

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

Changelog

1.1.0 - 2016/05/09

  • Added support for WP REST API.

  • Added method to do HTTP OPTIONS requests.

1.0.5 - 2015/12/07

  • Fixed oAuth filters sorting.

1.0.4 - 2015/09/25

  • Implemented timeout argument for API class.

1.0.3 - 2015/08/07

  • Forced utf-8 encoding on API.__request() to avoid UnicodeDecodeError

1.0.2 - 2015/08/05

  • Fixed handler for query strings

1.0.1 - 2015/07/13

  • Fixed support for Python 2.6

1.0.1 - 2015/07/12

  • Initial version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

WooCommerce-1.1.0.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file WooCommerce-1.1.0.tar.gz.

File metadata

File hashes

Hashes for WooCommerce-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e269050a03fd3ff60d3265f2f7d9764e99be1cd8107d1be1f13adf5b425e3908
MD5 801de65671c83eed109957b90348d1d2
BLAKE2b-256 489d0369733b52d6de0911c1160ef94cf4e5091f480e44927598b59f45072510

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page