Tools & Connectors
E-commerce
Shopify, WooCommerce, BigCommerce, Magento, Amazon Seller, and other commerce toolsets.
#E-commerce
Shopping carts, marketplaces, and order management. Each toolset gives
an agent a uniform surface over products, orders, customers, and
inventory for one storefront or marketplace platform.
All commerce connectors follow the same agent-ready pattern:list_products, list_orders, list_customers, list_items, andsearch_items return compact summaries with stable ordinal refs
(product_ref, order_ref, customer_ref, item_ref) plus
user-facing fields (title / name, sku / handle, status,total_price / price, customer_name, email). Raw provider IDs
are hidden unless include_ids=True is passed; pass include_raw=True
(Shopify / WooCommerce / BigCommerce / Magento / Amazon / eBay /
Walmart) to receive the unmodified provider payload. Default limit is
25 across the connectors. Write tools that take an ID accept either
the raw ID or the dict returned by the corresponding list/get tool.
Tip: register withadd_toolset(..., exclude_tags=["destructive"])
to drop irreversible tools (delete_product, cancel_order, retire_item).
#ShopifyToolSet
from maivn_tools import ShopifyToolSet connector = ShopifyToolSet( shop="acme", # -> acme.myshopify.com access_token=secrets["SHOPIFY_ADMIN_TOKEN"],)Tools: get_shop,list_products(limit, page_info, status, include_ids, include_raw),get_product(product_id), create_product(product),update_product(product_id, product),delete_product(product_id) (destructive),list_orders(status, limit, financial_status, fulfillment_status, page_info, include_ids, include_raw),get_order(order_id), create_order(order),cancel_order(order_id, reason, refund, restock) (destructive),list_customers(limit, page_info, include_ids, include_raw),create_customer(customer), search_customers(query, ...),list_inventory_levels(...), set_inventory_level(...),create_fulfillment(order_id, fulfillment).
#Agent-ready behavior
list_products,list_orders,list_customersreturn compact
summaries with stable refs (product_ref,order_ref,customer_ref) plus user-facing fields (title,vendor,sku,price,status,order_number,customer_name,total_price,currency,financial_status,fulfillment_status).- Raw Shopify numeric IDs hidden by default; pass
include_ids=Trueto
opt in (needed byupdate_product,delete_product,cancel_order,get_order). Passinclude_raw=Truefor the unmodified payload. - Default
limitis 25 (max 250). Pagination viapage_info
(cursor from Shopify'sLinkresponse header). update_product,delete_product,cancel_orderaccept either a
raw ID or a dict returned bylist_*(withinclude_ids=True) /get_*.- Destructive tools:
delete_product,cancel_order.
Example:
orders = connector.list_orders(status="open", financial_status="paid")# {"orders": [{"order_ref": "order_1", "order_number": "#1042", "customer_name": "Alice", "total_price": "129.99", "currency": "USD", ...}], "count": 25}#WooCommerceToolSet
from maivn_tools import WooCommerceToolSet connector = WooCommerceToolSet( site_url="https://shop.example.com", consumer_key=secrets["WOO_CK"], consumer_secret=secrets["WOO_CS"],)Tools: list_products(per_page, page, search, status, include_ids, include_raw),get_product(product_id), create_product(product),update_product(product_id, product),delete_product(product_id, force) (destructive),list_orders(per_page, page, status, customer, include_ids, include_raw),create_order(order), update_order(order_id, order),list_customers(per_page, page, search, include_ids, include_raw),create_coupon(coupon), list_reports(...).
#Agent-ready behavior
list_products,list_orders,list_customersreturn compact
summaries with stable refs (product_ref,order_ref,customer_ref) plus user-facing fields (name,sku,regular_price,status,number,total,customer_name,email).- Raw WooCommerce IDs hidden by default; pass
include_ids=Truefor
follow-upupdate_*/delete_productcalls. Passinclude_raw=True
for the unmodified payload. - Default
per_pageis 25. Pagination viapage. update_product,delete_product,update_orderaccept a raw ID
or a dict fromlist_*(include_ids=True). WooCommerce treats
cancellation asupdate_order(order_id, {"status": "cancelled"})--
also destructive in effect.- Destructive tools:
delete_product.
#BigCommerceToolSet
from maivn_tools import BigCommerceToolSet connector = BigCommerceToolSet( store_hash="abc", access_token=secrets["BC_TOKEN"],)Tools:list_products(limit, page, include_ids, include_raw),create_product(product), update_product(product_id, product),delete_product(product_id) (destructive),list_orders(limit, page, status_id, include_ids, include_raw),get_order(order_id),list_customers(limit, page, include_ids, include_raw),create_customers(customers) (bulk), list_carts(...).
#Agent-ready behavior
list_products,list_orders,list_customersreturn compact
summaries with stable refs (product_ref,order_ref,customer_ref) plus user-facing fields (name,sku,price,is_visible, order status / totals, customer name / email).- Raw IDs hidden by default; pass
include_ids=Trueto opt in. Passinclude_raw=Truefor the unmodified payload. - Default
limitis 25 (BigCommerce caps at 250 per page on v3). update_productanddelete_productaccept a raw ID or a dict fromlist_products(include_ids=True).- Destructive tools:
delete_product. The connector wraps the
legacy v2 orders endpoint where there is no order-cancel tool; treat
any order mutation as destructive in effect.
#MagentoToolSet
from maivn_tools import MagentoToolSet connector = MagentoToolSet( base_url="https://shop.example.com", access_token=secrets["MAGENTO_TOKEN"],)Tools:list_products(page_size, current_page, filters, include_ids, include_raw),get_product(sku), upsert_product(product),delete_product(sku) (destructive),list_orders(page_size, current_page, filters, include_ids, include_raw),get_order(order_id),list_customers(page_size, current_page, filters, include_ids, include_raw),set_stock_item(sku, stock_item).
#Agent-ready behavior
list_products,list_orders,list_customersreturn compact
summaries with stable refs plus user-facing fields. Products are
addressed bysku(user-facing); orders showincrement_id(the
customer-facing order number).- Raw Magento IDs hidden by default; pass
include_ids=Trueto opt
in. Passinclude_raw=Truefor the unmodified payload. - Default
page_sizeis 25. Filters use Magento'ssearchCriteria[...]syntax. upsert_productanddelete_productare SKU-addressed (so the
user-facing identifier is enough).delete_productaccepts either
the raw SKU string or a dict returned bylist_products(include_ids=True).- Destructive tools:
delete_product.
#AmazonSellerToolSet
Wraps Amazon Selling Partner API. Caller supplies an LWA bearer token;
pass a custom AuthStrategy for SigV4 if needed.
from maivn_tools import AmazonSellerToolSet connector = AmazonSellerToolSet(access_token=secrets["LWA_ACCESS_TOKEN"])Tools:list_orders(marketplace_ids, created_after, ..., max_results, include_ids, include_raw),get_order(order_id), list_order_items(order_id),list_inventory_summaries(marketplace_ids, ...),get_catalog_item(asin, marketplace_ids),search_catalog_items(keywords, marketplace_ids, ...),create_report(...), get_report(report_id).
#Agent-ready behavior
list_ordersreturns compact summaries withorder_refplus the
always-shown user-facingamazon_order_id(formatted like123-1234567-1234567-- these appear on packing slips and in Seller
Central, so they are not hidden),purchase_date,order_status,fulfillment_channel,buyer_email,total_amount/total_currency, and shipped / unshipped item counts.include_ids=Trueaddsseller_order_id(the merchant-side ID).
Passinclude_raw=Truefor the unmodified SP-API payload. TheNextTokenpagination cursor is preserved asnext_token.- Default
max_resultsis 25. - No
destructive=Truetools -- Amazon order cancellation and product
retirement are handled via SP-API workflows that this surface does
not expose.
#EbayToolSet
from maivn_tools import EbayToolSet connector = EbayToolSet(access_token=secrets["EBAY_TOKEN"])Tools:search_items(q, category_ids, filter, limit, offset, include_ids, include_raw),get_item(item_id),list_inventory_items(limit, offset, include_ids, include_raw),upsert_inventory_item(sku, payload), create_offer(payload),publish_offer(offer_id),list_orders(limit, offset, filter, include_ids, include_raw),get_order(order_id),issue_refund(order_id, payload) (destructive).
#Agent-ready behavior
search_itemsreturns compact summaries withitem_refplus
user-facingtitle,price,condition,seller_username,item_web_url.list_ordersreturnsorder_refplus user-facingorder_id(the
eBay buyer-visible order number),buyer_username,creation_date,order_fulfillment_status,total_amount, andtotal_currency.- Raw eBay IDs hidden by default; pass
include_ids=Trueto opt in
(needed forget_item,issue_refund). Passinclude_raw=Truefor
the unmodified payload. - Default
limitis 25. issue_refundaccepts either the raw order ID or the dict fromlist_orders(include_ids=True).- Destructive tools:
issue_refund.publish_offeris destructive in
effect (makes a listing live).
#WalmartMarketplaceToolSet
from maivn_tools import WalmartMarketplaceToolSet connector = WalmartMarketplaceToolSet(access_token=secrets["WM_ACCESS_TOKEN"])Tools:list_items(limit, offset, include_ids, include_raw),get_item(sku), retire_item(sku) (destructive),list_orders(created_start_date, created_end_date, status, limit, include_ids, include_raw),get_order(purchase_order_id),acknowledge_order(purchase_order_id), get_inventory(sku),set_inventory(sku, quantity, unit), list_feeds(feed_id).
#Agent-ready behavior
list_itemsreturns compact summaries withitem_refplus
user-facingsku,product_name,price,publish_status,lifecycle_status.list_ordersreturnsorder_refplus the
user-facingpurchase_order_idandcustomer_order_id,order_date,customer_name,customer_email_id.include_ids=Trueadds the WPID / GTIN for items and a raw copy of
the purchase-order ID. Passinclude_raw=Truefor the unmodified
payload. The orders list also preserves thenext_cursorfor paging.- Default
limitis 20. retire_itemaccepts either the raw SKU or the dict fromlist_items/get_item. Other order / inventory write tools are
SKU- / purchase-order-id-addressed (user-facing identifiers).- Destructive tools:
retire_item.