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

API

Costing API (costing)

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

costing modülü hesaplama ve onay yaşam döngüsüyle maliyet analizlerini, işçilik oranlarını ve genel gider oranlarını sunar. 30 uç noktanın tamamı /api/v1/costing altındadır. İş anlamı için Costing modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/costing src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/costing/module.py:46
Yönlendiriciler 3 dosyada 3 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/costing/module.py:32
Uç noktalar 30; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/costing/costing_analyses/routes.py, src/cluster_erp/modules/costing/labor_rates/routes.py, src/cluster_erp/modules/costing/overhead_rates/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ı 30 yolun 30 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("costing") src/cluster_erp/modules/costing/module.py:51
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ğı
costing_analyses router (/analyses) 18 src/cluster_erp/modules/costing/costing_analyses/routes.py:31
labor_rates router (/labor-rates) 6 src/cluster_erp/modules/costing/labor_rates/routes.py:22
overhead_rates router (/overhead-rates) 6 src/cluster_erp/modules/costing/overhead_rates/routes.py:22

Maliyet analizleri uç noktaları

Analiz kayıtları, hesaplama ve yeniden hesaplama, nihai fiyat, onaya gönderme, onaylama, reddetme, taslağa döndürme, yerine geçirme, kırılım, karşılaştırma, senaryo olarak klonlama ve oran anlık görüntüleri.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/costing/analyses/ list_analyses costing_analysis.read yok status, bom_id, quote_id, is_scenario, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:34
POST /api/v1/costing/analyses/ create_analysis costing_analysis.create CostingAnalysisCreate yok CostingAnalysisRead 201 src/cluster_erp/modules/costing/costing_analyses/routes.py:66
GET /api/v1/costing/analyses/{analysis_id} get_analysis costing_analysis.read yok yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:78
PUT /api/v1/costing/analyses/{analysis_id} update_analysis costing_analysis.update CostingAnalysisUpdate yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:92
DELETE /api/v1/costing/analyses/{analysis_id} delete_analysis costing_analysis.delete yok yok yok 204 src/cluster_erp/modules/costing/costing_analyses/routes.py:105
POST /api/v1/costing/analyses/bulk-delete bulk_delete_analyses costing_analysis.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:117
POST /api/v1/costing/analyses/{analysis_id}/calculate calculate_analysis costing_analysis.calculate yok yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:129
POST /api/v1/costing/analyses/{analysis_id}/recalculate recalculate_analysis costing_analysis.calculate yok yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:144
POST /api/v1/costing/analyses/{analysis_id}/set-final-price set_final_price costing_analysis.update SetFinalPrice yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:159
POST /api/v1/costing/analyses/{analysis_id}/submit-for-approval submit_for_approval costing_analysis.submit yok yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:175
POST /api/v1/costing/analyses/{analysis_id}/approve approve_analysis costing_analysis.approve CostingApproveRequest yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:190
POST /api/v1/costing/analyses/{analysis_id}/reject reject_analysis costing_analysis.reject CostingRejectRequest yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:206
POST /api/v1/costing/analyses/{analysis_id}/return-to-draft return_to_draft costing_analysis.update yok yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:222
POST /api/v1/costing/analyses/{analysis_id}/supersede supersede_analysis costing_analysis.supersede CostingSupersedeRequest yok CostingAnalysisRead 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:237
GET /api/v1/costing/analyses/{analysis_id}/breakdown get_breakdown costing_analysis.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:253
POST /api/v1/costing/analyses/compare compare_analyses costing_analysis.read CostingCompareRequest yok dict 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:264
POST /api/v1/costing/analyses/{analysis_id}/clone-as-scenario clone_as_scenario costing_analysis.create ScenarioOverrides yok CostingAnalysisRead 201 src/cluster_erp/modules/costing/costing_analyses/routes.py:275
GET /api/v1/costing/analyses/{analysis_id}/rate-snapshots get_rate_snapshots costing_analysis.read yok yok list 200 (varsayılan) src/cluster_erp/modules/costing/costing_analyses/routes.py:292

İşçilik oranları uç noktaları

İşçilik oranı kayıtları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/costing/labor-rates/ list_labor_rates labor_rate.read yok work_center_id, operation_type, rate_type, active_only, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/costing/labor_rates/routes.py:25
POST /api/v1/costing/labor-rates/ create_labor_rate labor_rate.create LaborRateCreate yok LaborRateRead 201 src/cluster_erp/modules/costing/labor_rates/routes.py:57
GET /api/v1/costing/labor-rates/{rate_id} get_labor_rate labor_rate.read yok yok LaborRateRead 200 (varsayılan) src/cluster_erp/modules/costing/labor_rates/routes.py:69
PUT /api/v1/costing/labor-rates/{rate_id} update_labor_rate labor_rate.update LaborRateUpdate yok LaborRateRead 200 (varsayılan) src/cluster_erp/modules/costing/labor_rates/routes.py:83
POST /api/v1/costing/labor-rates/bulk-delete bulk_delete_labor_rates labor_rate.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/costing/labor_rates/routes.py:98
DELETE /api/v1/costing/labor-rates/{rate_id} delete_labor_rate labor_rate.delete yok yok yok 204 src/cluster_erp/modules/costing/labor_rates/routes.py:110

Genel gider oranları uç noktaları

Genel gider oranı kayıtları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/costing/overhead-rates/ list_overhead_rates overhead_rate.read yok rate_type, active_only, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/costing/overhead_rates/routes.py:25
POST /api/v1/costing/overhead-rates/ create_overhead_rate overhead_rate.create OverheadRateCreate yok OverheadRateRead 201 src/cluster_erp/modules/costing/overhead_rates/routes.py:53
GET /api/v1/costing/overhead-rates/{rate_id} get_overhead_rate overhead_rate.read yok yok OverheadRateRead 200 (varsayılan) src/cluster_erp/modules/costing/overhead_rates/routes.py:65
PUT /api/v1/costing/overhead-rates/{rate_id} update_overhead_rate overhead_rate.update OverheadRateUpdate yok OverheadRateRead 200 (varsayılan) src/cluster_erp/modules/costing/overhead_rates/routes.py:79
POST /api/v1/costing/overhead-rates/bulk-delete bulk_delete_overhead_rates overhead_rate.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/costing/overhead_rates/routes.py:94
DELETE /api/v1/costing/overhead-rates/{rate_id} delete_overhead_rate overhead_rate.delete yok yok yok 204 src/cluster_erp/modules/costing/overhead_rates/routes.py:106

Hata kodları

Tablo, src/cluster_erp/modules/costing/ 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
CONCURRENCY_VERSION_CONFLICT 409 costing_analyses, labor_rates, overhead_rates src/cluster_erp/modules/costing/costing_analyses/services.py:221
COSTING_BOM_NOT_FOUND 404 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:272
COSTING_BOM_NO_ITEMS 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:287
COSTING_COMPARE_MAX_ITEMS 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:967
COSTING_COMPARE_MIN_ITEMS 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:962
COSTING_CURRENCY_MISMATCH 422 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:304
COSTING_FINAL_PRICE_REQUIRED 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:751
COSTING_IMMUTABLE 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:120
COSTING_INVALID_STATUS 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:113
COSTING_NOT_FOUND 404 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:103
COSTING_RATE_INVALID_DATES 400 labor_rates, overhead_rates src/cluster_erp/modules/costing/labor_rates/services.py:160
COSTING_SCENARIO_SOURCE_INVALID 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:1039
COSTING_SUPERSEDE_SAME_BOM 400 costing_analyses src/cluster_erp/modules/costing/costing_analyses/services.py:874
RESOURCE_NOT_FOUND 404 costing_analyses, labor_rates, overhead_rates src/cluster_erp/modules/costing/costing_analyses/routes.py:88

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/costing/ 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
CostingApproved 1 src/cluster_erp/modules/costing/costing_analyses/services.py:786
CostingCalculated 1 src/cluster_erp/modules/costing/costing_analyses/services.py:674
CostingCreated 1 src/cluster_erp/modules/costing/costing_analyses/services.py:200
CostingRateUpdated 2 src/cluster_erp/modules/costing/labor_rates/services.py:218
CostingRejected 1 src/cluster_erp/modules/costing/costing_analyses/services.py:828
CostingSuperseded 1 src/cluster_erp/modules/costing/costing_analyses/services.py:886
LowMarginAlert 1 src/cluster_erp/modules/costing/costing_analyses/services.py:694
QuoteCostingCompleted 1 src/cluster_erp/modules/costing/costing_analyses/services.py:800

İlgili sayfalar


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

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