8.0 KiB
8.0 KiB
Store API Research
https://docs.google.com/spreadsheets/d/1xWfXn-wbiHTBeqyhnq0b46_sgLGyiYc_5N5mXKYD1R8/edit?gid=0#gid=0
| Platform | Order Event: placed | Order Event: changed | Products List | Products Look up | Inventory Look up | Inventory Update | Inventory Event: change |
|---|---|---|---|---|---|---|---|
| Shopify | orders/create | orders/cancelled, orders/delete, orders/paid, etc | /queries/products | /queries/product | /queries/product | /mutations/inventorySetQuantities | inventory_levels/update |
| WooCommerce | webhook order.created |
webhook order.updated, order.deleted |
GET /wp-json/wc/v3/products |
GET /wp-json/wc/v3/products/<id> |
stock_quantity field on product resource |
PUT /wp-json/wc/v3/products/<id> (stock_quantity), or /products/batch |
product.updated (no dedicated inventory webhook) |
| BigCommerce | webhook store/order/created |
webhook store/order/updated, store/order/statusUpdated |
GET /v3/catalog/products |
GET /v3/catalog/products/{product_id} |
GET /v3/inventory/items |
PUT /v3/inventory/adjustments/absolute (also /relative) |
store/product/inventory/updated |
| Wix | webhook wix.ecom.v1.order.created |
webhook wix.ecom.v1.order.updated (also .canceled) |
Query Products (Catalog V3) | Get Product | Query Inventory Items | Update Inventory Variants | wix.stores.catalog.v3.inventory_item.updated |
| Squarespace | webhook order.create |
webhook order.update (FULFILLED, REFUNDED, CANCELED, MARKED_PENDING, EMAIL_UPDATED) |
GET /v2/commerce/products |
GET /v2/commerce/products/{productIdCsvs} |
GET /1.0/commerce/inventory/{variantIdCsvs} |
POST /1.0/commerce/inventory/adjustments |
N/A (no inventory webhook topic) |
| Square Online | webhook order.created |
webhook order.updated, order.fulfillment.updated |
GET /v2/catalog/list |
GET /v2/catalog/object/{object_id} |
POST /v2/inventory/counts/batch-retrieve |
POST /v2/inventory/changes/batch-create (BatchChangeInventory) |
webhook inventory.count.updated |
| Zoho | webhook salesorder.created (Zoho Commerce) |
webhook salesorder.confirmed, .cancelled, .declined, .shipped, .delivered |
GET /store/api/v1/products |
GET /store/api/v1/products/{product_id} |
GET /store/api/v1/variants (stock_on_hand, actual_available_stock) |
POST /store/api/v1/inventoryadjustments |
N/A (no inventory/stock webhook event) |
| Ecwid | webhook order.created |
webhook order.updated, order.deleted |
GET /api/v3/{storeId}/products |
GET /api/v3/{storeId}/products/{productId} |
GET /api/v3/{storeId}/products/{productId} (quantity/unlimited) |
PUT /api/v3/{storeId}/products/{productId}/inventory (quantityDelta) |
product.updated webhook |
| Big Cartel | webhook order.create (app-approved) |
webhook order.update (app-approved) |
GET /v1/accounts/{account_id}/products |
GET /v1/accounts/{account_id}/products/{id} |
N/A — no dedicated inventory field/endpoint | N/A — no inventory update endpoint | N/A — no inventory-specific webhook |
| Amazon | ORDER_CHANGE notification (SP-API) |
ORDER_CHANGE notification (same type, status delta) |
searchCatalogItems (GET /catalog/2022-04-01/items) |
getCatalogItem (GET /catalog/2022-04-01/items/{asin}) |
getInventorySummaries (FBA Inventory API, GET /fba/inventory/v1/summaries) |
patchListingsItem (PATCH /listings/2021-08-01/items/{sellerId}/{sku}) |
FBA_INVENTORY_AVAILABILITY_CHANGES notification |
| Walmart Marketplace | PO created event (webhook) | Order intent to cancel / PO line auto-cancelled event (webhook); status flow Created→Acknowledged→Shipped→Delivered/Cancelled | GET /v3/items (getAllItems) |
GET /v3/items/{id} (getAnItem) |
GET /v3/inventory?sku={sku} |
PUT /v3/inventory (also bulk via POST /v3/feeds) |
Inventory OOS event (webhook) |
| Ebay | FixedPriceTransaction / ItemSold (Platform Notifications, legacy Trading API) |
ItemMarkedShipped notification; also getOrders filtered by lastmodifieddate (Fulfillment API) |
GET /sell/inventory/v1/inventory_item (getInventoryItems) |
GET /sell/inventory/v1/inventory_item/{sku} (getInventoryItem) |
GET /sell/inventory/v1/inventory_item/{sku} (availability.shipToLocationAvailability) |
POST /sell/inventory/v1/bulk_update_price_quantity (bulkUpdatePriceQuantity) |
N/A — no dedicated inventory-change topic found |
Notes / caveats from research
- Square Online: no separate API — orders, catalog, and inventory are handled by Square's core Seller APIs (developer.squareup.com), the same ones used across all Square products. Unrelated to Squarespace despite the name.
- Zoho: "Zoho Commerce" (commerce.zoho.com) is the storefront product comparable to Shopify/Squarespace and owns the order/product/webhook APIs listed above. Zoho Inventory is a separate warehouse/stock-management app with its own API but no documented webhook support.
- Big Cartel: no true inventory API — only an
inventory_enabledflag andquantity_gte/quantity_ltefilters on products. No endpoint to set stock and no inventory-change webhook. Webhook access is gated per-app approval; exact topic names are inferred from integration examples since Big Cartel has no canonical published list. - Amazon SP-API: no separate "placed" vs "changed" order topics — both flow through a single
ORDER_CHANGEnotification, differentiated by payload content. - WooCommerce / Ecwid: neither has a dedicated inventory-change webhook; stock changes surface via the general
product.updatedevent instead. - Ebay: order-event names are less certain — developer.ebay.com pages repeatedly failed to load during research, so those values come from documented Platform Notifications event types found via search rather than a directly confirmed doc page.