Files
PriceForge/bible-local/api.md
2026-03-13 10:24:34 +03:00

4.6 KiB

API Endpoints

Web Pages

Method URL Handler Description
GET / Index Redirect → /admin/pricing
GET /admin/pricing AdminPricing Pricing admin (Estimate / Warehouse / Alerts tabs)
GET /lot Lot LOT management (LOT / Mappings tabs)
GET /pricelists Pricelists Pricelist listing
GET /pricelists/:id PricelistDetail Single pricelist view
GET /vendor-mappings VendorMappings Vendor mapping UI
GET /admin/competitors Competitors Competitor management UI
GET /partials/components ComponentsPartial Components partial
GET/POST /setup Setup DB connection setup

System

Method URL Description
GET /health Health check
GET /api/ping Ping
GET /api/db-status DB connection status (optional counts)
GET /api/current-user Current DB user info
POST /api/restart Graceful process restart
GET/POST /api/connection-settings DB config UI

Components

Method URL Description
GET /api/components Component list with search/filter
GET /api/components/:lot_name Component details
GET /api/categories Category list

Pricelists

Method URL Description
GET /api/pricelists List all pricelists
POST /api/pricelists Create pricelist (returns task_id)
GET /api/pricelists/:id Pricelist details
DELETE /api/pricelists/:id Delete pricelist
GET /api/pricelists/:id/items Pricelist items
GET /api/pricelists/:id/export-csv CSV export (streaming)
GET /api/pricelists/latest Latest pricelist per source

Pricing Admin (/api/admin/pricing/*)

Method URL Description
GET /api/admin/pricing/stats Statistics
GET /api/admin/pricing/components Components with pricing
POST /api/admin/pricing/recalculate-all Recalculate all prices (returns task_id)
GET /api/admin/pricing/lots LOT list
GET/POST /api/admin/pricing/stock-mappings Stock partnumber mappings
GET/POST/DELETE /api/admin/pricing/vendor-mappings Vendor partnumber mappings (DELETE removes mapping and seen-row from global list)
POST /api/admin/pricing/vendor-mappings/import-csv Import vendor mappings from CSV (;, UTF-8/BOM, columns: vendor;partnumber;lot_name;description;ignore; if ignore is set and lot_name empty → mark ignored)
GET /api/admin/pricing/vendor-mappings/export-unmapped-csv Export CSV template of unmapped vendor partnumbers for user filling (vendor;partnumber;lot_name;description;ignore)
GET /api/admin/pricing/alerts Alerts list
GET /api/admin/pricing/scheduler-runs Embedded scheduler job state (qt_scheduler_runs)
GET /api/admin/pricing/partnumber-books List all partnumber book snapshots with item counts
POST /api/admin/pricing/partnumber-books Create partnumber book snapshot (returns task_id)

Competitors (/api/competitors/*)

Method URL Description
GET /api/competitors List all competitors with unique p/n + total quote counts
POST /api/competitors Create competitor
GET /api/competitors/:id Get competitor by ID
PUT /api/competitors/:id Update competitor (name, delivery_basis, currency, discount, column_mapping)
DELETE /api/competitors/:id Delete competitor
PATCH /api/competitors/:id/active Set is_active
POST /api/competitors/:id/import Import Excel quote file (returns task_id, type: competitor_import)
POST /api/competitors/pricelist Rebuild combined competitor pricelist from all stored quotes (returns task_id)
POST /api/competitors/parse-headers Parse XLSX headers/preview for column mapping UI

Tasks (polling)

Method URL Description
GET /api/tasks/:id Task status and result

Sync (diagnostics)

Method URL Description
GET /api/sync/status Sync status
GET /api/sync/info Sync info
POST /api/sync/components Pull components
POST /api/sync/pricelists Pull pricelists

Setup

Method URL Description
GET/POST /setup DB setup page
POST /setup/test Test DB connection
GET /setup/status Setup status