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

API

Nesting API (nesting)

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

nesting modülü onay, maliyetlendirme, malzeme rezervasyonu, dışa aktarma ve sonuç içe aktarma, parça çekme, özetler ve SVG ile DXF çıktısıyla yerleşim işlerini; ayrıca yerleşim parçalarını, artıkları ve bir KPI okumasını sunar. 27 uç noktanın tamamı /api/v1/nesting altındadır. İş anlamı için Nesting modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/nesting src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/nesting/module.py:49
Yönlendiriciler 4 dosyada 4 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/nesting/module.py:32
Uç noktalar 27; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/nesting/kpi/routes.py, src/cluster_erp/modules/nesting/nesting_jobs/routes.py, src/cluster_erp/modules/nesting/nesting_parts/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ı 27 yolun 27 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("nesting") src/cluster_erp/modules/nesting/module.py:55
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ğı
kpi router (/nesting-jobs) 1 src/cluster_erp/modules/nesting/kpi/routes.py:13
nesting_jobs router (/nesting-jobs) 15 src/cluster_erp/modules/nesting/nesting_jobs/routes.py:30
nesting_parts router (/nesting-parts) 6 src/cluster_erp/modules/nesting/nesting_parts/routes.py:25
nesting_remnants router (/nesting-remnants) 5 src/cluster_erp/modules/nesting/nesting_remnants/routes.py:27

Yerleşim KPI uç noktaları

/nesting-jobs/kpi altında tek bir KPI okuması.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/nesting/nesting-jobs/kpi get_nesting_kpi nesting_job.read yok period_start, period_end, granularity, material_grade NestingKpiResponse 200 (varsayılan) src/cluster_erp/modules/nesting/kpi/routes.py:16

Yerleşim işleri uç noktaları

İş kayıtları, onaylama, maliyet hesaplama, malzeme rezerve etme, dışa aktarma, sonuç içe aktarma, siparişlerden parça çekme, özet, SVG ve DXF.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/nesting/nesting-jobs/ list_nesting_jobs nesting_job.read yok search, status, material_grade, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:121
GET /api/v1/nesting/nesting-jobs/{job_id} get_nesting_job nesting_job.read yok yok NestingJobRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:147
POST /api/v1/nesting/nesting-jobs/ create_nesting_job nesting_job.create NestingJobCreate yok NestingJobRead 201 src/cluster_erp/modules/nesting/nesting_jobs/routes.py:161
PUT /api/v1/nesting/nesting-jobs/{job_id} update_nesting_job nesting_job.update NestingJobUpdate yok NestingJobRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:173
DELETE /api/v1/nesting/nesting-jobs/{job_id} delete_nesting_job nesting_job.delete yok yok yok 204 src/cluster_erp/modules/nesting/nesting_jobs/routes.py:188
POST /api/v1/nesting/nesting-jobs/bulk-delete bulk_delete_nesting_jobs nesting_job.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:201
POST /api/v1/nesting/nesting-jobs/{job_id}/approve approve_nesting_job nesting_job.approve yok yok NestingJobRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:213
POST /api/v1/nesting/nesting-jobs/{job_id}/calculate-costs calculate_costs nesting_job.update yok yok NestingJobRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:227
POST /api/v1/nesting/nesting-jobs/{job_id}/reserve-material reserve_material nesting_job.update yok yok NestingJobRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:239
POST /api/v1/nesting/nesting-jobs/{job_id}/export export_nesting_job nesting_job.read yok yok dict[str, Any] 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:251
POST /api/v1/nesting/nesting-jobs/{job_id}/import-result import_nesting_result nesting_job.run NestingImportResult yok NestingJobRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:267
POST /api/v1/nesting/nesting-jobs/{job_id}/pull-parts pull_parts_from_orders nesting_job.update yok yok list[NestingPartRead] 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:284
GET /api/v1/nesting/nesting-jobs/{job_id}/summary get_nesting_summary nesting_job.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:296
GET /api/v1/nesting/nesting-jobs/{job_id}/svg get_nesting_svg nesting_job.read yok sheet_index PlainTextResponse 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:307
GET /api/v1/nesting/nesting-jobs/{job_id}/dxf get_nesting_dxf nesting_job.read yok yok Response 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_jobs/routes.py:364

Yerleşim parçaları uç noktaları

Yerleşim parçası kayıtları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/nesting/nesting-parts/ list_nesting_parts nesting_part.read yok nesting_job_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_parts/routes.py:28
GET /api/v1/nesting/nesting-parts/{part_id} get_nesting_part nesting_part.read yok yok NestingPartRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_parts/routes.py:50
POST /api/v1/nesting/nesting-parts/ create_nesting_part nesting_part.create NestingPartCreate yok NestingPartRead 201 src/cluster_erp/modules/nesting/nesting_parts/routes.py:64
PUT /api/v1/nesting/nesting-parts/{part_id} update_nesting_part nesting_part.update NestingPartUpdate yok NestingPartRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_parts/routes.py:76
DELETE /api/v1/nesting/nesting-parts/{part_id} delete_nesting_part nesting_part.delete yok yok yok 204 src/cluster_erp/modules/nesting/nesting_parts/routes.py:91
POST /api/v1/nesting/nesting-parts/bulk-delete bulk_delete_nesting_parts nesting_part.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_parts/routes.py:104

Artıklar uç noktaları

Artık kayıtları, kullanılabilir artıklar ve hurdaya ayırma.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/nesting/nesting-remnants/ list_nesting_remnants nesting_remnant.read yok nesting_job_id, status, material_grade, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_remnants/routes.py:30
GET /api/v1/nesting/nesting-remnants/available get_available_remnants nesting_remnant.read yok material_grade, thickness_mm, min_width, min_height, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_remnants/routes.py:56
GET /api/v1/nesting/nesting-remnants/{remnant_id} get_nesting_remnant nesting_remnant.read yok yok NestingRemnantRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_remnants/routes.py:84
PUT /api/v1/nesting/nesting-remnants/{remnant_id} update_nesting_remnant nesting_remnant.update NestingRemnantUpdate yok NestingRemnantRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_remnants/routes.py:98
POST /api/v1/nesting/nesting-remnants/{remnant_id}/scrap scrap_nesting_remnant nesting_remnant.update NestingRemnantScrap yok NestingRemnantRead 200 (varsayılan) src/cluster_erp/modules/nesting/nesting_remnants/routes.py:113

Hata kodları

Tablo, src/cluster_erp/modules/nesting/ 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 nesting_jobs, nesting_parts, nesting_remnants src/cluster_erp/modules/nesting/nesting_jobs/services.py:200
NESTING_ALREADY_APPROVED 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:327
NESTING_COST_MISSING_UNIT_PRICE 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:589
NESTING_IMPORT_FAILED 400 integration src/cluster_erp/modules/nesting/integration/services.py:345
NESTING_IMPORT_INVALID_PARTS 400 integration src/cluster_erp/modules/nesting/integration/services.py:91
NESTING_INVALID_STATUS 400 integration, nesting_jobs, nesting_parts src/cluster_erp/modules/nesting/integration/services.py:179
NESTING_LOW_UTILIZATION 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:337
NESTING_MATERIAL_ALREADY_CONSUMED 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:476
NESTING_MATERIAL_ALREADY_RESERVED 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:410
NESTING_MATERIAL_NOT_RESERVED 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:482
NESTING_NOT_COMPLETED 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:321
NESTING_NO_PARTS 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:692
NESTING_ORDER_MATERIAL_MISMATCH 400 nesting_jobs src/cluster_erp/modules/nesting/nesting_jobs/services.py:731
NESTING_PART_TOO_LARGE 400 nesting_parts src/cluster_erp/modules/nesting/nesting_parts/services.py:100
NESTING_REMNANT_INVALID_STATUS 400 nesting_remnants src/cluster_erp/modules/nesting/nesting_remnants/services.py:189
RESOURCE_CONFLICT 400 nesting_parts src/cluster_erp/modules/nesting/nesting_parts/services.py:89
RESOURCE_NOT_FOUND 404 integration, nesting_jobs, nesting_parts, nesting_remnants src/cluster_erp/modules/nesting/integration/services.py:119

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/nesting/ 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
NestingApproved 1 src/cluster_erp/modules/nesting/nesting_jobs/services.py:353
NestingCompleted 1 src/cluster_erp/modules/nesting/integration/services.py:352
NestingCostCalculated 1 src/cluster_erp/modules/nesting/nesting_jobs/services.py:661
NestingMaterialConsumed 1 src/cluster_erp/modules/nesting/nesting_jobs/services.py:544
NestingMaterialReserved 1 src/cluster_erp/modules/nesting/nesting_jobs/services.py:458
NestingRemnantConsumed 1 src/cluster_erp/modules/nesting/nesting_remnants/services.py:236
NestingRemnantCreated 1 src/cluster_erp/modules/nesting/nesting_remnants/services.py:166
NestingRemnantScrapped 1 src/cluster_erp/modules/nesting/nesting_remnants/services.py:272
NestingScrapRecorded 1 src/cluster_erp/modules/nesting/nesting_jobs/services.py:380

İlgili sayfalar


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

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