Skip to Content
FeaturesBulk Operations

Bulk Operations

Overview

Bulk Operations allow vendors to manage large amounts of data efficiently — uploading hundreds of products at once via CSV, bulk-updating stock levels, importing products from Shopify, and managing collections in bulk. These tools are essential for vendors migrating from another platform or managing a large catalog that would be impractical to update one product at a time.

How It Works

CSV Bulk Upload

The CSV bulk upload process:

  1. Parse CSV — Each row represents one product with columns for name, slug, SKU, price, description, images, categories, and variants.
  2. SKU validation — Duplicate SKUs are skipped (checked against products and productsSku tables).
  3. Image processing — Image URLs are downloaded, then re-uploaded to Cloudflare R2 (or Backblaze B2 for legacy users).
  4. Product insertion — Each valid product is inserted into the products table.
  5. Inventory creation — Inventory records are created in product_inventory for each product and its variants.
  6. Plan limits — Product count is enforced per plan: Basic (100), Pro (1000), Growth (unlimited).

Shopify Import

For vendors migrating from Shopify:

  1. Upload Shopify CSV — The vendor exports their Shopify products and uploads the CSV.
  2. Field mapping — Shopify fields (Title, Body HTML, Vendor, Type, Tags, etc.) are mapped to Siyahfy’s schema.
  3. Variant handling — Shopify variant options (Option1/Value1, Option2/Value2) are converted to Siyahfy’s variant structure.
  4. Image download — Shopify-hosted images are downloaded and re-uploaded to Siyahfy’s storage.
  5. Customer import — Separately import Shopify customer data.
  6. Order import — Separately import Shopify order history.
  7. Review import — Import product reviews from Shopify exports.

Bulk Stock Update

Bulk stock update lets vendors update inventory for many products at once:

  • Replace mode — Set all selected products to a specific quantity.
  • Add mode — Add a quantity to the current stock of all selected products.
  • Both legacy (product_inventory) and new (inventory_items) inventory systems are updated.
  • Back-in-stock notifications are triggered when applicable.

Bulk Delete

Bulk delete removes products and all associated data in a single transaction:

  1. Fetch SKUs and images for selected products.
  2. Delete from products table.
  3. Delete from product_inventory table.
  4. Delete from productsSku table.
  5. Clean up image files from storage.

Key API Endpoints

CSV Bulk Upload

POST/api/bulkupload

Bulk upload products from parsed CSV data with image download and storage

Bulk Stock Update

POST/api/bulkStockUpdateAuth Required

Bulk update stock quantities for multiple products (add or replace mode)

Bulk Delete

POST/api/deleteProductsListofVendors

Bulk delete multiple products by ID array (cascades to inventory, SKUs, images)

Shopify Import

POST/api/shopifyBulkUploadAuth Required

Import products from a Shopify CSV export with variant and image handling

POST/api/shopifyBulkUploadCustomerAuth Required

Import customers from a Shopify customer CSV export

POST/api/shopifyBulkUploadOrdersAuth Required

Import orders from a Shopify order CSV export

POST/api/shopifyReviewUploadAuth Required

Import product reviews from a Shopify review export

Bulk Collections

POST/api/getProductsForCollectionsAuth Required

Get products eligible for collection assignment with bulk selection

Bulk Status Update

PUT/api/updateProductsStatusAuth Required

Bulk update product status (Draft, Active, Archived) for selected products

Database Tables

TablePurpose
productsTarget table for bulk product inserts and deletes
productsSkuSKU uniqueness registry — checked during upload, cleaned during delete
product_inventoryLegacy inventory records created/updated/deleted during bulk operations
inventory_itemsNew inventory records synced during bulk stock updates
customersTarget table for Shopify customer import
ordersTarget table for Shopify order import
reviewsTarget table for Shopify review import
collectionsCollections managed via bulk assignment
  • Products — Bulk operations act on the product catalog
  • Inventory — Stock quantities are updated in bulk
  • Integrations — Shopify import is a key integration path
  • Orders — Shopify order import populates order history