| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The ShopifyAPI library allows Python developers to programmatically access the admin section of stores.
The API is accessed using pyactiveresource in order to provide an interface similar to the ruby Shopify API gem. The data itself is sent as XML over HTTP to communicate with Shopify, which provides a web service that follows the REST principles as much as possible.
All API usage happens through Shopify applications, created by either shop owners for their own shops, or by Shopify Partners for use by other shop owners:
For more information and detailed documentation about the API visit http://api.shopify.com
To easily install or upgrade to the latest release, use pip
pip install --upgrade ShopifyAPIor easy_install
easy_install -U ShopifyAPIShopifyAPI uses pyactiveresource to communicate with the REST web service. pyactiveresource has to be configured with a fully authorized URL of a particular store first. To obtain that URL you can follow these steps:
First create a new application in either the partners admin or your store admin and write down your API_KEY and SHARED_SECRET.
You will need to supply two parameters to the Session class before you instantiate it:
shopify.Session.setup(api_key=API_KEY, secret=SHARED_SECRET)For application to access a shop via the API, they first need a "access token" specific to the shop, which is obtained from Shopify after the owner has granted the application access to the shop. This can be done by redirecting the shop owner to a permission URL, obtained as follows:
shop_url = "yourshopname.myshopify.com"
scope = ["write_products", "read_orders"]
permission_url = shopify.Session.create_permission_url(shop_url, scope)Note: Legacy Auth is assumed if the scope parameter is omitted or None
After visiting this URL, the shop redirects the owner to a custom URL of your application where a code param gets sent to along with other parameters to ensure it was sent by Shopify. The following code will validate that the request came from Shopify, then obtain the permanent access token (with an HTTP request when using OAuth2) which can be used to make API requests for this shop.
session = shopify.Session(shop_url, params)Activate the session to use the access token for following API requests for the shop it was authorized for.
shopify.ShopifyResource.activate_session(session)Start making authorized API requests for that shop. Data is returned as ActiveResource instances:
# Get a list of products
products = shopify.Product.find()
# Get a specific product
product = shopify.Product.find(632910)
# Create a new product
new_product = shopify.Product()
new_product.title = "Burton Custom Freestlye 151"
new_product.product_type = "Snowboard"
new_product.vendor = "Burton"
new_product.save()
# Update a product
product.handle = "burton-snowboard"
product.save()Follow steps 1-4 from the "Getting Started" section to obtain a session, then save the session's token along with the shop_url.
shop_url = session.url
saved_token = session.tokenCreate and activate a new session using the saved shop_url and token.
session = shopify.Session(shop_url)
session.token = saved_token
shopify.ShopifyResource.activate_session(session)This package also includes the shopify_api.py script to make it easy to open up an interactive console to use the API with a shop.
Go to https://yourshopname.myshopify.com/admin/api to generate a private application and obtain your API key and password to use with your shop.
Use the shopify_api.py script to save the credentials for the shop to quickly login. The script uses PyYAML to save and load connection configurations in the same format as the ruby shopify_api.
shopify_api.py add yourshopnameFollow the prompts for the shop domain, API key and password.
Start the console for the connection.
shopify_api.py consoleEnter the following for the full list of the commands.
shopify_api.py helpUse the bin/shopify_api.py script when running from the source tree. It will add the lib directory to start of sys.path, so the installed version won't be used.
bin/shopify_api.py consoleThe development version can be built using
python setup.py sdistthen the package can be installed using pip
pip install --upgrade dist/ShopifyAPI-*.tar.gzor easy_install
easy_install -U dist/ShopifyAPI-*.tar.gzCurrently there is no support for:
Copyright (c) 2012 "Shopify inc.". See LICENSE for details.
| Back | FazBrowse Home | New Git URL |