Store Backup & Recovery
Extend product trash, create catalog snapshots, and restore missing or trashed products (merchant add-on).
Technical Guides · Backup & DR
Ścieżka: Store → Backup · Store → Products → Trash
Definicja
Store → Backup → enable add-on (pay invoice) → Snapshot now → Restore snapshot Store → Products → Trash → restore / restore bulk
Store Backup & Recovery is the merchant-facing layer. Free stores keep soft-deleted products in Trash for a short window (default 14 days). The paid add-on extends trash (default 90 days), creates daily catalog snapshots, and lets you restore products from a snapshot. Snapshot restore undeletes trashed matches and recreates permanently missing SKUs/slugs — it does not overwrite live edited products.
Compatibility
- Store owner (or billing-capable staff) for add-on subscribe/pay.
- Add-on unlocks only after the pending Backup & Recovery invoice is paid (same path as plan upgrades).
- Snapshot create/list/restore APIs require the add-on feature flag on the store.
- Trash restore works within retention even without the add-on (shorter window).
- Platform MongoDB dumps are separate — this add-on does not replace Super Admin DR.
Use Trash for accidental deletes. Use Snapshots after large catalog mistakes or mass deletes. Use platform DR only when the whole database is at risk.
Path & APIs
Store → /store/backup GET /stores/:id/backup/addon POST /stores/:id/backup/addon/enable → pending invoice POST /stores/:id/backup/addon/disable GET|POST /stores/:id/backup/snapshots POST /stores/:id/backup/snapshots/:snapshotId/restore Trash: POST /stores/:id/products/:productId/restore POST /stores/:id/products-trash/restore-bulk
Default add-on price/retention come from backup config (commonly BDT 199/month, 90-day trash, ~30-day snapshot retention).
Behavior
- enable creates a pending invoice only — feature turns on after payment succeeds.
- Nightly jobs snapshot paid stores and purge trash older than free/paid retention.
- Snapshot restore: if product exists and isDeleted → restore(); if missing → recreate from snapshot; if live → skip.
- Manual Snapshot now creates an on-demand catalog snapshot when the add-on is active.
- Disabling the add-on stops paid retention/snapshots; existing trash may still purge on free rules.
Enable Backup & Recovery
- Open Store → Backup.
- Choose Subscribe / Enable — the API creates a pending invoice.
- Confirm payment (payInvoice) or finish from Store → Billing if payment was interrupted.
- Refresh Backup — status should show enabled and trash retention days for the add-on.
- Optionally click Snapshot now to capture the current catalog.
Restore from Trash
- Open Store → Products → Trash.
- Find the product within your retention window.
- Restore one product, or use bulk restore when available.
- Confirm the product is live again under Products (not overwritten incorrectly).
Restore from a catalog snapshot
- Confirm the add-on is enabled under Store → Backup.
- Pick a snapshot (label/date, product count).
- Click Restore and confirm — live products are not overwritten.
- Read the result: restored count vs skipped (already live).
- Spot-check titles, SKUs, prices, and images on the storefront.
Examples
Example — accidental delete: Product in Trash → Restore within 14 days (free) or 90 days (add-on).
Example — mass delete yesterday: Open yesterday’s snapshot → Restore → missing/trashed SKUs return; still-live SKUs skipped.
Example — pay later: Enable created invoice but closed browser → Store → Billing → pay pending → Backup unlocks.
Common errors
- Snapshots 403 / add-on required — pay the Backup & Recovery invoice first.
- Restore restored=0 — everything in the snapshot is already live; use Trash for soft-deletes if still deleted.
- Trash empty / product gone — retention elapsed; only a snapshot (add-on) or platform DB restore can help.
- Confused with Super Admin Backups — that is platform DR, not store catalog snapshots.