Skip to Content
FeaturesProducts

Products

Overview

The Products feature is the foundation of every Siyahfy store. It lets vendors create, manage, and organize their product catalog — from simple single-item listings to complex variable products with multiple variants (size, color, material, etc.). Products support rich media, SEO metadata, categories, tags, pricing rules, and downloadable files.

Whether you are listing five products or five thousand, Siyahfy provides individual product creation, bulk CSV upload, and one-click Shopify import so you can get your catalog online fast.

How It Works

Product Creation Flow

  1. Form submission — The vendor fills in name, description, price, SKU, images, categories, and variant options.
  2. SKU uniqueness check — The system verifies the SKU does not already exist in the products or productsSku tables.
  3. Image upload — Images are uploaded to Cloudflare R2 (or Backblaze B2 for legacy accounts) and the resulting URLs are stored.
  4. Database insert — A new row is inserted into the products table with all metadata.
  5. Inventory initialization — Corresponding rows are created in product_inventory (one per variant combination) with initial stock of zero.
  6. Variant handling — If the product has variants, every combination is generated and stored in variation_products JSON and individual inventory rows.

Product Types

TypeDescription
SimpleA single product with one price and one SKU
VariableA product with multiple variants (e.g., Small/Red, Medium/Blue)
DownloadableA digital product with download limits and expiry

Key API Endpoints

Vendor (Admin Panel) APIs

GET/api/getProductsListofVendorsAuth Required

List all products for a vendor's store with pagination, search, and filters

GET/api/getProductsListofInventoryAuth Required

List products with inventory details for the inventory management view

GET/api/products/searchAuth Required

Search products by name or SKU within a vendor's store

GET/api/allproducts/searchAuth Required

Search across all products with advanced filters

GET/api/getProductDetails/:idAuth Required

Get full details of a single product by ID

GET/api/products/:id/variantsAuth Required

Get all variant combinations for a product

GET/api/getProductTagsAuth Required

Get all tags used across vendor products

POST/api/updateProductsStatusAuth Required

Bulk update product status (Draft, Active, Archived)

DELETE/api/deleteProduct/:id

Delete a single product and its associated images, inventory, and SKU records

POST/api/deleteProductsListofVendors

Bulk delete multiple products by ID array

POST/api/updateVariantRecord

Update variant details (price, SKU, images) for a product

POST/api/updateVariantSingle

Update a single variant's price, compare-at price, and cost

DELETE/api/deleteVariantSingle

Remove a single variant from a product

POST/api/removeVariantImageAuth Required

Remove an image from a specific variant

POST/api/remove-product-image

Remove an image from the product gallery

POST/api/upsell_productsAuth Required

Configure upsell and cross-sell product relationships

POST/api/updateInventoryDetails/:storeAuth Required

Update inventory quantities for a product or its variants

GET/api/inventory/editAuth Required

Get detailed inventory edit view for a product

GET/api/brands

Get all brands used in the store

Storefront (Customer-Facing) APIs

GET/api/products/:type

Get products by type (all, featured, on_sale) for the storefront

GET/api/getProductBySlug/:slug

Get full product details by URL slug for the product detail page

GET/api/getSearchProductKeywords

Autocomplete search suggestions for the storefront search bar

GET/api/getProductsSEOFields

Get SEO metadata (title, description, OG tags) for product pages

GET/api/variants/stock/:product_id

Check real-time stock availability for product variants

Bulk Upload

POST/api/bulkupload

Bulk upload products from CSV with image download and storage

POST/api/bulkStockUpdateAuth Required

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

Database Tables

TablePurpose
productsMain product data — name, slug, price, description, images, categories, variants, SEO fields
productsSkuSKU uniqueness registry (both parent and variant SKUs)
product_inventoryStock tracking per product/variant — available, on_hand, committed, unavailable
inventory_itemsNew inventory system with location-based stock tracking
product_metafieldsCustom metadata key-value pairs for products
  • Inventory — Stock tracking, locations, and low-stock alerts
  • Bulk Operations — CSV upload, Shopify import, bulk delete
  • Orders — Products drive order creation and fulfillment
  • Analytics — Product performance metrics and leaderboards
  • Storefront — How products appear to customers