Files
PriceForge/bible/api.md
Michael Chus a4457a0a28 Add partnumber book snapshots for QuoteForge integration
- Migrations 026-028: qt_partnumber_books + qt_partnumber_book_items
  tables; is_primary_pn on lot_partnumbers; version VARCHAR(30);
  description VARCHAR(10000) on items (required by QuoteForge sync)
- Service: CreateSnapshot expands bundles, filters empty lot_name and
  ignored PNs, copies description, activates new book atomically,
  applies GFS retention (7d/5w/12m/10y) with explicit item deletion
- Task type TaskTypePartnumberBookCreate; handlers ListPartnumberBooks
  and CreatePartnumberBook; routes GET/POST /api/admin/pricing/partnumber-books
- UI: snapshot list + "Создать снапшот сопоставлений" button with
  progress polling on /vendor-mappings page
- Bible: history, api, background-tasks, vendor-mapping updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 22:16:16 +03:00

3.1 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 /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 /api/admin/pricing/vendor-mappings Vendor partnumber mappings
GET /api/admin/pricing/alerts Alerts list
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)

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