Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Readme
Python wrapper for Ecwid REST API
$ python -m pip install pyecwid
BREAKING: Major changes (when 0.1.x released)
add({item}) - add item (dict)
delete(id) - remove item
get_by_id(id) - get item details (returns a single {item})
update(id, {values}) - update item with values (dict)
Getting multiple items: Will deal with pagination and return a list of "items" node.
Optional: pass "collate_items=False" to any of these commands and full results will be returned. Note - pagination will not be handled automatically. Useful to find total counts etc.
Endpoint | Status | Standard commands | Extra commands |
---|---|---|---|
Coupons | alpha - currently unable to test | add, delete, get, get_by_id, get_by_params, update | |
Customers | alpha - currently unable to test | add, delete, get, get_by_id, get_by_keyword, update | get_by_email, get_by_name |
Orders | alpha - currently unable to test | add, delete, get, get_by_id, get_by_params, update | |
Products | working | add, delete, get, get_by_id, get_by_keyword, get_by_params, update | |
ProductTypes (classes) | working | add, delete, get, get_by_id, update |
from pyecwid import Ecwid
ecwid = Ecwid(api_token, store_id)
Argument | Required | Description | Default Value |
---|---|---|---|
api_token | Yes | The secret_ or public_ token for your store. | |
store_id | Yes | The ID of your store. | |
skip_test | No | True/False. Skips test call to API during initiaization (used in tests) | False |
base_url | No | Replace the hard coded URL Note: format includes {0} for store_id | 'https://app.ecwid.com/api/v3/{0}/' |
from pprint import pprint
from pyecwid import Ecwid
ecwid = Ecwid('public_ASDF', '1234567')
# Search by Keyword
items = ecwid.products.get_by_keyword('sunglasses')
pprint(items)
# Search by Paramaters
params = { 'createdFrom': '2016-04-25', 'createdTo': '2020-12-25' }
items = ecwid.products.get_by_params(params)
pprint(items)
# Get all products and use lambda function to search results
items = ecwid.products.get()
usb_list = list(filter(lambda items: 'USB' in items.get('name'), items))
pprint(usb_list)
from pyecwid import Ecwid
import json, time
ecwid = Ecwid('public_ASDF', '1234567')
# Import an item from JSON file
with open('./samplejson/product.json') as json_file:
new_product = json.load(json_file)
# Check if item already exists. If so remove.
product_search = ecwid.products.get_by_keyword(new_product['sku'])
if len(product_search) > 0:
exisiting_item_id = product_search[0]['id']
result = ecwid.products.delete(exisiting_item_id)
if result == 1:
print("Existing item removed")
time.sleep(2)
new_item_id = ecwid.products.add(new_product)
updated_data = {'name': 'My New Product'}
result = ecwid.products.update(new_item_id, updated_data)
print(result.text)
from pyecwid import EcwidAPI
from pyecwid.endpoints import Products
API_TOKEN = 'secret_ASDF'
API_STORE = '1234567'
ecwid = EcwidAPI(API_TOKEN, API_STORE)
products = Products(ecwid)
results = products.get()
from pyecwid import EcwidMock
ecwid = EcwidMock(API_TOKEN, API_STORE)
result = ecwid.products.get()
OR
from pyecwid import EcwidAPIMock
from pyecwid.endpoints import Products
ecwid = EcwidAPIMock(API_TOKEN, API_STORE)
products = Products(ecwid)
results = products.get()
FAQs
An interface to the Ecwid shopping platform API
We found that pyecwid demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.