Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / API referansı

API

BOM API (bom)

/api/v1/bom altındaki bom modülünün HTTP uç noktaları: yetkiler, şemalar, durum kodları ve hata kodlarıyla 39 yol.

bom modülü ürün ağaçlarını, yaşam döngüsü ve okuma modelleriyle (ağaç, patlatma, nerede kullanıldığı, satın alma kapsamı) ürün ağacı sürümlerini, ürün ağacı kalemlerini ve ürün ağacı şablonlarını sunar. 39 uç noktanın tamamı /api/v1/bom altındadır. İş anlamı için BOM modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/bom src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/bom/module.py:53
Yönlendiriciler 4 dosyada 4 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/bom/module.py:36
Uç noktalar 39; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/bom/bom_items/routes.py, src/cluster_erp/modules/bom/bom_templates/routes.py, src/cluster_erp/modules/bom/bom_versions/routes.py ...
Kimlik doğrulama Bearer başlığı veya oturum çerezi, get_current_user ile çözülür; bkz. Kimlik doğrulama ve başlıklar src/cluster_erp/modules/auth/guards.py:85-167
Yetki koruması 39 yolun 39 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("bom") src/cluster_erp/modules/bom/module.py:59
Hata biçimi JSON gövdesi {"error": {...}}; bkz. Hatalar src/cluster_erp/server/error_handler.py:33-46

Uç nokta özeti

Alt modül klasörü başına bir satır. Yönlendirici öneki temel yola eklenir.

Alt modül Yönlendiriciler Uç noktalar Yönlendirici kaynağı
boms router (/boms) 6 src/cluster_erp/modules/bom/boms/routes.py:31
bom_versions router (/bom-versions) 15 src/cluster_erp/modules/bom/bom_versions/routes.py:26
bom_items router (/bom-items) 8 src/cluster_erp/modules/bom/bom_items/routes.py:31
bom_templates router (/bom-templates) 10 src/cluster_erp/modules/bom/bom_templates/routes.py:29

Ürün ağacı başlıkları uç noktaları

Ürün ağacı başlık kayıtları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/bom/boms/ list_boms bom.read yok search, status, product_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/bom/boms/routes.py:43
GET /api/v1/bom/boms/{bom_id} get_bom bom.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/bom/boms/routes.py:96
POST /api/v1/bom/boms/ create_bom bom.create BomCreate yok BomRead 201 src/cluster_erp/modules/bom/boms/routes.py:128
PUT /api/v1/bom/boms/{bom_id} update_bom bom.create BomUpdate yok BomRead 200 (varsayılan) src/cluster_erp/modules/bom/boms/routes.py:140
DELETE /api/v1/bom/boms/{bom_id} delete_bom bom.create yok yok yok 204 src/cluster_erp/modules/bom/boms/routes.py:155
POST /api/v1/bom/boms/bulk-delete bulk_delete_boms bom.create BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/bom/boms/routes.py:167

Ürün ağacı sürümleri uç noktaları

Sürüm kayıtları, etkinleştirme, klonlama, yerine geçirme, şablondan kopyalama, yeniden hesaplama ve okuma modelleri: ağaç, satın alma kapsamı, patlatma, nerede kullanıldığı ve bir ürünün etkin sürümü.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/bom/bom-versions/ list_bom_versions bom.read yok bom_id, status, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:29
GET /api/v1/bom/bom-versions/active-for-product/{product_id} active_bom_version_for_product bom.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:72
GET /api/v1/bom/bom-versions/{version_id} get_bom_version bom.read yok yok BomVersionRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:92
POST /api/v1/bom/bom-versions/ create_bom_version bom.create BomVersionCreate yok BomVersionRead 201 src/cluster_erp/modules/bom/bom_versions/routes.py:106
PUT /api/v1/bom/bom-versions/{version_id} update_bom_version bom.create BomVersionUpdate yok BomVersionRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:118
DELETE /api/v1/bom/bom-versions/{version_id} delete_bom_version bom.create yok yok yok 204 src/cluster_erp/modules/bom/bom_versions/routes.py:133
POST /api/v1/bom/bom-versions/{version_id}/activate activate_bom_version bom.activate yok yok BomVersionRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:145
POST /api/v1/bom/bom-versions/{version_id}/clone clone_bom_version bom.create yok yok BomVersionRead 201 src/cluster_erp/modules/bom/bom_versions/routes.py:157
POST /api/v1/bom/bom-versions/{version_id}/supersede supersede_bom_version bom.activate BomVersionSupersedeRequest yok BomVersionRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:170
POST /api/v1/bom/bom-versions/{version_id}/copy-from-template copy_from_template bom.create BomVersionCopyFromTemplateRequest yok BomVersionRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:187
POST /api/v1/bom/bom-versions/{version_id}/recalculate recalculate_bom_version bom.create yok yok BomVersionRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:204
GET /api/v1/bom/bom-versions/{version_id}/tree bom_version_tree bom.read yok yok BomTreeResponse 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:216
GET /api/v1/bom/bom-versions/{version_id}/purchase-coverage purchase_coverage_bom_version bom.read yok lot_qty, need_date dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:227
GET /api/v1/bom/bom-versions/{version_id}/explosion explosion_bom_version bom.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:244
GET /api/v1/bom/bom-versions/{version_id}/where-used where_used_bom_version bom.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_versions/routes.py:292

Ürün ağacı kalemleri uç noktaları

Kalem kayıtları, kalemi ağaç içinde taşıma ve bir parçanın nerede kullanıldığı.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/bom/bom-items/ list_bom_items bom.read yok bom_version_id, parent_item_id, part_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_items/routes.py:54
GET /api/v1/bom/bom-items/where-used/{part_id} where_used_part bom.read yok limit WhereUsedResponse 200 (varsayılan) src/cluster_erp/modules/bom/bom_items/routes.py:121
GET /api/v1/bom/bom-items/{item_id} get_bom_item bom.read yok yok BomItemRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_items/routes.py:216
POST /api/v1/bom/bom-items/ create_bom_item bom.create BomItemCreate yok BomItemRead 201 src/cluster_erp/modules/bom/bom_items/routes.py:230
PUT /api/v1/bom/bom-items/{item_id} update_bom_item bom.create BomItemUpdate yok BomItemRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_items/routes.py:242
POST /api/v1/bom/bom-items/{item_id}/move move_bom_item bom.create BomItemMove yok BomItemRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_items/routes.py:257
DELETE /api/v1/bom/bom-items/{item_id} delete_bom_item bom.create yok yok yok 204 src/cluster_erp/modules/bom/bom_items/routes.py:278
POST /api/v1/bom/bom-items/bulk-delete bulk_delete_bom_items bom.create BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/bom/bom_items/routes.py:290

Ürün ağacı şablonları uç noktaları

Şablon kayıtları ve şablon kalemleri.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/bom/bom-templates/ list_bom_templates bom.read yok search, family, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_templates/routes.py:32
GET /api/v1/bom/bom-templates/items/ list_bom_template_items bom.read yok template_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/bom/bom_templates/routes.py:62
POST /api/v1/bom/bom-templates/items/ create_bom_template_item bom.create BomTemplateItemCreate yok BomTemplateItemRead 201 src/cluster_erp/modules/bom/bom_templates/routes.py:104
PUT /api/v1/bom/bom-templates/items/{item_id} update_bom_template_item bom.create BomTemplateItemUpdate yok BomTemplateItemRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_templates/routes.py:116
DELETE /api/v1/bom/bom-templates/items/{item_id} delete_bom_template_item bom.create yok yok yok 204 src/cluster_erp/modules/bom/bom_templates/routes.py:131
GET /api/v1/bom/bom-templates/{template_id} get_bom_template bom.read yok yok BomTemplateRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_templates/routes.py:143
POST /api/v1/bom/bom-templates/ create_bom_template bom.create BomTemplateCreate yok BomTemplateRead 201 src/cluster_erp/modules/bom/bom_templates/routes.py:157
PUT /api/v1/bom/bom-templates/{template_id} update_bom_template bom.create BomTemplateUpdate yok BomTemplateRead 200 (varsayılan) src/cluster_erp/modules/bom/bom_templates/routes.py:169
DELETE /api/v1/bom/bom-templates/{template_id} delete_bom_template bom.create yok yok yok 204 src/cluster_erp/modules/bom/bom_templates/routes.py:184
POST /api/v1/bom/bom-templates/bulk-delete bulk_delete_bom_templates bom.create BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/bom/bom_templates/routes.py:196

Hata kodları

Tablo, src/cluster_erp/modules/bom/ altındaki kodun attığı hata kodlarını listeler. Kodlar, AppError(...) çağrıları, src/cluster_erp/core/errors.py içindeki fabrikalar (not_found, conflict, protected, permission_denied, privilege_escalation, check_version) ve HTTPException(...) için yapılan bir sözdizimi ağacı taramasıyla bulundu. 400 durumu AppError varsayılanıdır (src/cluster_erp/core/errors.py:23). Koruma hataları (401, 403), yetkilendirme kodları ve doğrulama hataları (422) her yol için geçerlidir ve Hatalar sayfasında listelenir.

Kod HTTP durumu Atıldığı yer İlk konum
BOM_ACTIVE_VERSION_EXISTS 400 bom_versions src/cluster_erp/modules/bom/bom_versions/services.py:439
BOM_ACTIVE_VERSION_LOCKED 400 bom_items, bom_versions src/cluster_erp/modules/bom/bom_items/services.py:415
BOM_INVALID_QTY 400 bom_items, bom_templates src/cluster_erp/modules/bom/bom_items/services.py:142
BOM_INVALID_STATUS 400 bom_versions, boms src/cluster_erp/modules/bom/bom_versions/services.py:314
BOM_MAX_DEPTH_EXCEEDED 400 bom_items src/cluster_erp/modules/bom/bom_items/services.py:174
BOM_TEMPLATE_EMPTY 400 bom_versions src/cluster_erp/modules/bom/bom_versions/services.py:569
BOM_VERSION_EMPTY 422 bom_versions src/cluster_erp/modules/bom/bom_versions/services.py:664
CONCURRENCY_VERSION_CONFLICT 409 bom_items, bom_templates, bom_versions, boms src/cluster_erp/modules/bom/bom_items/services.py:251
RESOURCE_NOT_FOUND 404 bom_items, bom_templates, bom_versions, boms src/cluster_erp/modules/bom/bom_items/routes.py:226
VALIDATION_ERROR 422 bom_items src/cluster_erp/modules/bom/bom_items/services.py:118

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/bom/ altındaki kodun EventBus.emit çağrısına doğrudan verdiği sözleşme sınıflarını listeler; sözdizimi ağacı taramasıyla bulundu. Önce bir değişkene kurulan olaylar sayılmaz. Sözleşmeler Sözleşmeler başvurusu sayfasında anlatılır.

Sözleşme Konum sayısı İlk konum
BomActivated 2 src/cluster_erp/modules/bom/bom_versions/services.py:455
BomDraftCreated 3 src/cluster_erp/modules/bom/bom_versions/services.py:256
BomItemChanged 3 src/cluster_erp/modules/bom/bom_items/services.py:226
BomSuperseded 1 src/cluster_erp/modules/bom/bom_versions/services.py:515
BomVersionActivated 2 src/cluster_erp/modules/bom/bom_versions/services.py:464

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13