BigCommerce was minipim’s first connector — it’s where this project started, as a catalog automation tool for BigCommerce merchants. The connector is mature and covers the full BigCommerce product model: products, variants, custom fields, metafields, images, and pricing.

Prerequisites

  • A minipim instance (self-hosted or Hosted)
  • A BigCommerce store with V2/V3 API access
  • The BigCommerce connector (included on all plans; available in the connector registry for self-hosted)

Step 1 — Create API credentials in BigCommerce

In your BigCommerce admin:

  1. Go to Settings → API → Store-level API accounts → Create API account → Create V2/V3 API token
  2. Give it a name (e.g. “minipim”)
  3. Set OAuth scopes:
    • Products: modify
    • Information & settings: read-only
    • Store content: modify (for images)
  4. Click Save and copy the Client ID, Client Secret, and Access Token

Step 2 — Add the connection in minipim

Go to Connectors → Add connector → BigCommerce.

Fill in:

  • Store hash — the alphanumeric hash in your BigCommerce admin URL (e.g. abc123)
  • Access token — from the API account you just created
  • Client ID and Client Secret

Click Test connection to verify, then save.

Step 3 — Map attribute families

BigCommerce products have a defined set of native fields (name, description, price, SKU, weight, brand, categories) plus open-ended custom fields and metafields for anything else.

Open the BigCommerce connector and go to Field mapping. Map your attributes:

minipim attributeBigCommerce destination
titleProduct name
description (richtext)Description (HTML)
pricePrice
sale_priceSale price
skuSKU
gtin / barcodeUPC
weightWeight
brandBrand name
galleryImages
care_guide, material, etc.Custom field or metafield

Custom fields are visible in the storefront by default (like a product specification table). Metafields are hidden from the storefront but accessible to the API and apps — use them for internal data, ERP codes, or anything you want available programmatically but not displayed.

Step 4 — Handle variants

BigCommerce variants are built from option sets. If your products have size/color variants, you need option sets in BigCommerce that match your minipim variant structure.

In the field mapping, go to Variant options and map each variant dimension:

  • minipim variant attribute size → BigCommerce option “Size”
  • minipim variant attribute color → BigCommerce option “Color”

The connector will create option values automatically if they don’t already exist. Each combination becomes a variant SKU, and variant-level attributes (price, weight, stock) sync at the variant level.

Step 5 — Set BigCommerce readiness rules

Go to Channels → BigCommerce → Readiness rules. Recommended starting set:

  • title — required
  • price — required
  • sku — required
  • weight — required (BigCommerce uses weight for shipping calculations)
  • gallery — at least 1 image required
  • description — required
  • gtin — recommended (Google Shopping feed requires it)

Step 6 — Categories

BigCommerce uses a tree of categories. In minipim, you can map products to BigCommerce categories either:

  • By attribute — add a bc_categories attribute (type: multiselect) to your family and map it to BigCommerce category IDs in the connector
  • By family — assign a default category to each attribute family in the connector settings; every product in that family lands in that category unless overridden

The second approach is simpler for most catalogs. The first is more flexible if products genuinely belong in multiple categories or if your category structure doesn’t align with your families.

Step 7 — Publish

Open a product, complete the attributes until the BigCommerce readiness score is 100%, then Publish → BigCommerce. The connector:

  1. Creates or updates the product via the V3 Catalog API
  2. Syncs variants with their option values, prices, and weights
  3. Uploads images and sets display order
  4. Writes custom fields and metafields
  5. Assigns categories

Subsequent publishes are incremental.

Pricing: multiple price lists

If you use BigCommerce’s Price Lists feature (customer group pricing, B2B pricing), you can map per-market prices in minipim to specific BigCommerce price lists. Set up the price list IDs in the connector’s Pricing tab and map your minipim market/locale price attributes to them.

Data shapes to check before importing

The BigCommerce importer is permissive — it’ll accept values that the API will later reject on round-trip. Two in particular to watch before a bulk import or family move:

Tags / keywords must be arrays, not strings. If your source data has keywords: "wool, merino, knitwear", normalize it to keywords: ["wool", "merino", "knitwear"] before import. The importer accepts the comma-joined string; the attribute type does not, and a bulk-move-family or re-validation will fail on it.

Money values must be numbers, not strings. retail_price: "1882.66" will import without complaint but fail type validation later. Cast money fields to proper numbers (1882.66) in your import script.

Neither issue produces a useful error message at the time of failure — you’ll get a generic validation error with no field name. Running a quick type-check pass over your import payload before sending it will save that debugging time.

Troubleshooting

Variants not creating — BigCommerce requires option sets to exist before variants can be created. If you’re seeing errors about options, check that the option names in your connector mapping exactly match the option names in BigCommerce (case-sensitive).

Images not syncing — BigCommerce has a rate limit on image uploads. The connector queues and retries, but for a first sync of a large catalog this can take time. Check the connector log for progress.

Custom fields appearing in the wrong order — BigCommerce displays custom fields in the order they were created. If order matters, create the custom fields manually in BigCommerce first; the connector will match by name rather than create new ones.

Generic “attribute payload failed validation” errors — no attribute code or value is included in the current error response. If you’re getting this on a bulk operation, diff a passing product against a failing one; the culprit is almost always a type mismatch on a money or multiselect field.