Skip to main content

Reading product data

For routine syncing, don’t always fetch full data for every product. Base offers lighter-weight methods depending on your need:
I needMethod
Basic product listgetInventoryProductsList
Full product detail (descriptions, images, variants)getInventoryProductsData
Prices onlygetInventoryProductsPrices
Stock and reservations onlygetInventoryProductsStock

Bulk updates

Use the bulk methods for writing stock and prices, not one call per product: Price and stock updates typically run 4–5 times per hour.
For high-frequency stock sync, only send products whose values actually changed — this preserves headroom under the 100 requests/minute limit.

Stock reservations

If products come from a native Base inventory (not just a read-only feed), confirming an order automatically reduces/reserves the available quantity — even before your ERP has processed it. This reduces the risk of overselling even if your sync is slower. Current availability and reservations are returned by getInventoryProductsStock. The connection to orders is covered in Order basic principles.

Product variants

Variants (size, color, etc.) aren’t a separate entity with their own endpoints — they’re part of the getInventoryProductsData response, and are written/updated with the same bulk methods as main products (updateInventoryProductsStock, updateInventoryProductsPrices), just with variant_id set.

Multiple price groups via a CSV feed

If you need to sync several price groups from feeds at once, a dedicated CSV feed is more efficient than a separate XML file per group:
  • first column: a clear product identifier (Base ID, SKU, or EAN),
  • following columns: individual prices for each price group.
Base can import such a feed cyclically, usually once a day (up to three times a day for enterprise accounts).
Connecting an external warehouse (your store as a stock source/target) is a different scenario — see Partnership & Shops API.