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

API

Purchasing quotations API (purchasing_quotations)

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

purchasing_quotations modülü tedarikçi teklif kaydını sunar: yaşam döngüsüyle teklifler, kalemler, fiyat koşulları, miktar ölçekleri, karşılaştırma ve bir kayıt okuması. 27 uç noktanın tamamı /api/v1/purchasing_quotations altındadır. İş anlamı için Purchasing quotations modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/purchasing_quotations src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/purchasing_quotations/module.py:47
Yönlendiriciler 1 dosyada 1 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/purchasing_quotations/module.py:39
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/purchasing_quotations/quotations/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("purchasing_quotations") src/cluster_erp/modules/purchasing_quotations/module.py:49
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ğı
quotations router 27 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:39

Tedarikçi teklifleri uç noktaları

Teklif kayıtları, eksiksizlik, gönderme, ihale, reddetme, tamamlama, iptal, yeniden açma, revize etme, kalemler, koşullar, ölçekler, karşılaştırma ve kayıt. Koşullar ve ölçekler ORM üzerinden fiziksel olarak kaldırılır (src/cluster_erp/modules/purchasing_quotations/quotations/services.py:932-936, src/cluster_erp/modules/purchasing_quotations/quotations/services.py:985); projenin yazılı mühendislik kuralları bu satırları bilinçli istisna olarak adlandırır.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/purchasing_quotations/purchasing-quotations/ list_quotations purchasing_quotation.read yok search, status, source, vendor_party_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:61
POST /api/v1/purchasing_quotations/purchasing-quotations/ create_quotation purchasing_quotation.create PurchasingQuotationCreate yok PurchasingQuotationRead 201 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:99
GET /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id} get_quotation purchasing_quotation.read yok yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:110
PUT /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id} update_quotation purchasing_quotation.update PurchasingQuotationUpdate yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:123
DELETE /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id} delete_quotation purchasing_quotation.delete yok yok yok 204 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:137
POST /api/v1/purchasing_quotations/purchasing-quotations/bulk-delete bulk_delete purchasing_quotation.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:148
GET /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/completeness get_completeness purchasing_quotation.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:163
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/submit submit purchasing_quotation.submit PurqTransition yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:178
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/award award purchasing_quotation.award PurchasingQuotationAwardRequest yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:192
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/reject reject purchasing_quotation.reject PurqReasonTransition yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:214
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/complete complete purchasing_quotation.complete PurqTransition yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:231
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/cancel cancel purchasing_quotation.update PurqReasonTransition yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:245
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/reopen reopen purchasing_quotation.update PurqTransition yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:262
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/revise revise purchasing_quotation.revise yok yok PurchasingQuotationRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:276
GET /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/lines list_lines purchasing_quotation.read yok yok list[PurchasingQuotationLineRead] 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:288
POST /api/v1/purchasing_quotations/purchasing-quotations/{quotation_id}/lines add_line purchasing_quotation.update PurchasingQuotationLineCreate yok PurchasingQuotationLineRead 201 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:302
PUT /api/v1/purchasing_quotations/purchasing-quotation-lines/{line_id} update_line purchasing_quotation.update PurchasingQuotationLineUpdate yok PurchasingQuotationLineRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:318
DELETE /api/v1/purchasing_quotations/purchasing-quotation-lines/{line_id} delete_line purchasing_quotation.update yok yok yok 204 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:335
GET /api/v1/purchasing_quotations/purchasing-quotation-lines/{line_id}/conditions list_conditions purchasing_quotation.read yok yok list[PurchasingQuotationConditionRead] 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:347
POST /api/v1/purchasing_quotations/purchasing-quotation-lines/{line_id}/conditions add_condition purchasing_quotation.update PurchasingQuotationConditionCreate yok PurchasingQuotationConditionRead 201 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:361
PUT /api/v1/purchasing_quotations/purchasing-quotation-conditions/{condition_id} update_condition purchasing_quotation.update PurchasingQuotationConditionUpdate yok PurchasingQuotationConditionRead 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:377
DELETE /api/v1/purchasing_quotations/purchasing-quotation-conditions/{condition_id} delete_condition purchasing_quotation.update yok yok yok 204 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:394
GET /api/v1/purchasing_quotations/purchasing-quotation-lines/{line_id}/scales list_scales purchasing_quotation.read yok yok list[PurchasingQuotationScaleRead] 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:406
POST /api/v1/purchasing_quotations/purchasing-quotation-lines/{line_id}/scales add_scale purchasing_quotation.update PurchasingQuotationScaleCreate yok PurchasingQuotationScaleRead 201 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:420
DELETE /api/v1/purchasing_quotations/purchasing-quotation-scales/{scale_id} delete_scale purchasing_quotation.update yok yok yok 204 src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:436
GET /api/v1/purchasing_quotations/purchasing-quotation-compare compare purchasing_quotation.read yok product_id, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:450
GET /api/v1/purchasing_quotations/purchasing-quotation-register register purchasing_quotation.read yok origin, vendor_party_id, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:473

Hata kodları

Tablo, src/cluster_erp/modules/purchasing_quotations/ 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 quotations src/cluster_erp/modules/purchasing_quotations/quotations/services.py:201
PURQ_AWARD_INVALID 422 quotations src/cluster_erp/modules/purchasing_quotations/quotations/services.py:302
PURQ_INCOMPLETE 409 quotations src/cluster_erp/modules/purchasing_quotations/quotations/services.py:273
PURQ_INVALID_STATUS 409 quotations src/cluster_erp/modules/purchasing_quotations/quotations/services.py:230
RESOURCE_NOT_FOUND 404 quotations src/cluster_erp/modules/purchasing_quotations/quotations/routes.py:119

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/purchasing_quotations/ 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
SupplierQuotationAwarded 1 src/cluster_erp/modules/purchasing_quotations/quotations/services.py:376

İlgili sayfalar


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

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