Skip to main content

Connect Python applications with the Bigcommerce API

Project description

Build Status Package Version Downloads

Wrapper over the requests library for communicating with the Bigcommerce v2 API.

Install with pip install bigcommerce or easy_install bigcommerce. Tested with python 2.7 and 3.4, and only requires requests and streql.

Usage

Connecting

import bigcommerce

# Public apps (OAuth)
# Access_token is optional, if you don't have one you can use oauth_fetch_token (see below)
api = bigcommerce.api.BigcommerceApi(client_id='', store_hash='', access_token='')

# Private apps (Basic Auth)
api = bigcommerce.api.BigcommerceApi(host='store.mybigcommerce.com', basic_auth=('username', 'api token'))

BigcommerceApi also provides two helper methods for connection with OAuth2:

  • api.oauth_fetch_token(client_secret, code, context, scope, redirect_uri) – fetches and returns an access token for your application. As a side effect, configures api to be ready for use.

  • BigcommerceApi.oauth_verify_payload(signed_payload, client_secret) – Returns user data from a signed payload.

Accessing and objects

The api object provides access to each API resource, each of which provides CRUD operations, depending on capabilities of the resource:

api.Products.all()                         # GET /products
api.Products.get(1)                        # GET /products/1
api.Products.create(name='', type='', ...) # POST /products
api.Products.get(1).update(price='199.90') # PUT /products/1
api.Products.delete_all()                  # DELETE /products
api.Products.get(1).delete()               # DELETE /products/1
api.Products.count()                       # GET /products/count

The client provides full access to subresources, both as independent resources:

api.ProductOptions.get(1)                  # GET /products/1/options
api.ProductOptions.get(1, 2)               # GET /products/1/options/2

And as helper methods on the parent resource:

api.Products.get(1).options()              # GET /products/1/options
api.Products.get(1).options(1)             # GET /products/1/options/1

These subresources implement CRUD methods in exactly the same way as regular resources:

api.Products.get(1).options(1).delete()

Filters

Filters can be applied to all methods as keyword arguments:

customer = api.Customers.all(first_name='John', last_name='Smith')[0]
orders = api.Orders.all(customer_id=customer.id)

Error handling

Minimal validation of data is performed by the client, instead deferring this to the server. A HttpException will be raised for any unusual status code:

  • 3xx status code: RedirectionException

  • 4xx status code: ClientRequestException

  • 5xx status code: ServerException

The low level API

The high level API provided by bigcommerce.api.BigcommerceApi is a wrapper around a lower level api in bigcommerce.connection. This can be accessed through api.connection, and provides helper methods for get/post/put/delete operations.

Further documentation

Full documentation of the API is available on the Bigcommerce Developer Portal

To do

  • Automatic enumeration of multiple page responses

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

bigcommerce-0.17.1.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

bigcommerce-0.17.1-py2-none-any.whl (25.5 kB view details)

Uploaded Python 2

File details

Details for the file bigcommerce-0.17.1.tar.gz.

File metadata

File hashes

Hashes for bigcommerce-0.17.1.tar.gz
Algorithm Hash digest
SHA256 c41723cda021e6e38a4835f55dfddacccebe8ed9f3c63626d6017d4956f48a5b
MD5 783f54a9d5a463a380a9a9ee5c3a0ebe
BLAKE2b-256 e776154a65e919dbbf116054a78cf30073d5a8bbed740750b2e2fe71ed32d937

See more details on using hashes here.

File details

Details for the file bigcommerce-0.17.1-py2-none-any.whl.

File metadata

File hashes

Hashes for bigcommerce-0.17.1-py2-none-any.whl
Algorithm Hash digest
SHA256 ae404933c7da332f48e7f00f4486e628e5a4d347bd5924a91cee84b4bca4e687
MD5 c44c28d1637bd3863b64aabd98c7ba3e
BLAKE2b-256 d284a71a972490ed6e0242e1cfb04c6e29477cd5a72d8eea134ea0342730d3b3

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