Skip to main content

A UNIX-style tool which provides easy access to BigCommerce's API from the command line.

Project description

BigCommerce Toolkit

BigCommerce Toolkit is a command-line interface (CLI) tool for BigCommerce's API. It follows UNIX principles of "do one thing well" and organizes commands based on resource type and action. This structure aligns with RESTful API principles, providing a logical and hierarchical system for managing various BigCommerce resources.

Features

  • Resource-based Commands: Commands are structured around resource types (e.g., products, categories, customers) and their respective actions (e.g., get, create, update, delete).
  • Hierarchical Command Structure: Similar to UNIX tools like git, commands are grouped logically to align with BigCommerce's API structure.
  • Environment Variable Support: Store hash and authentication token can be set via environment variables for convenience.
  • Paginated Requests: Supports fetching all pages of data for GET requests with pagination.
  • Standard Input (stdin) Support: Allows reading values from stdin for easier scripting and piping data between commands.

Installation

To install BigCommerce Toolkit, clone the repository and install the necessary dependencies.

pip install bigcommerce-toolkit

Usage

Basic Command Structure

The CLI uses a structure similar to UNIX commands, where you specify the resource type, action, and additional parameters or options as needed.

bigc [<options>] <resource> [<subresource>] <action> [<arguments>]

Setting Up Environment Variables

Before using the tool, set the environment variables for your BigCommerce store hash and authentication token.

export BIGCOMMERCE_STORE_HASH=your_store_hash
export BIGCOMMERCE_AUTH_TOKEN=your_auth_token

Alternatively, you can pass these values directly via command-line options.

bigc --store-hash your_store_hash --auth-token your_auth_token 

Example Commands

Create a Product (via Arguments)

To create a new product with data provided as named arguments:

bigc products create --name "New Product" --price 19.99 --type physical --weight 0

Create a Product (via Standard Input)

BigCommerce Toolkit also supports reading values from stdin, allowing for piping data between commands for easier scripting. For example:

echo '{"name": "New Product", "price": 19.99, "type": "physical", "weight": 0}' | bigc products create --data -

Update a Product

This can be further leveraged by piping through additional tools like jq. First, retrieving a product's ID by the product's name, and then updating that product's price:

bigc products get --name:like "New Product" | jq -r '.data[0].id' | bigc product update --id - --price 24.99

Fetching All Products

For endpoints that support pagination, you can fetch all pages of data. Using tools like jq and csvlook, it is possible to format the data into a more readable format.

bigc products get-all | jq -r '["id","sku","name"], (.data[] | [.id,.sku,.name]) | @csv' | csvlook

Contributing

We welcome contributions to improve the project. Please submit issues and pull requests via GitHub.

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_toolkit-0.1.8.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bigcommerce_toolkit-0.1.8-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file bigcommerce_toolkit-0.1.8.tar.gz.

File metadata

  • Download URL: bigcommerce_toolkit-0.1.8.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.2 Darwin/23.6.0

File hashes

Hashes for bigcommerce_toolkit-0.1.8.tar.gz
Algorithm Hash digest
SHA256 9a51944ada8a4eb9849adb1655894ea64f691818f302805cf5eddd36c6e12d4f
MD5 a4b36908bb8188bb1a3f2d0f1306f289
BLAKE2b-256 e1a067e4f66c1a0a9b2d1a12e3ece3dc5dd769f5e874eef5b3a026431ad5b3c9

See more details on using hashes here.

File details

Details for the file bigcommerce_toolkit-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for bigcommerce_toolkit-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f0198c141c1f255b20ae7bce996bc5c44e11b55a788211459fadaea63f1f6eab
MD5 d42eda0968353f7e315327a3209725c4
BLAKE2b-256 c80c496b668cad843d6ef93c54d083f65ad81d6477b39228d3757666662ec52e

See more details on using hashes here.

Supported by

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