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

API

Procurement API: Satın alma siparişleri uç noktaları (purchase_orders)

procurement modülünün purchase_orders alt modülünün HTTP uç noktaları: yetkiler, şemalar, durum kodları ve hata kodlarıyla 18 yol.

Bu sayfa procurement modülünün purchase_orders alt modülündeki 18 uç noktayı /api/v1/procurement altında listeler. Kapsam: Sipariş kayıtları, satın alma talebinden oluşturma, teslim alınabilir kalemler, gönderme, onaylama, yolda, kalem bazında teslim alma, kapatma, iptal ve sipariş kalemleri. Modül giriş sayfası Procurement API sayfasıdır.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/procurement src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/procurement/module.py:70
Yönlendiriciler 1 dosyada 1 yönlendirici nesnesi; Uç noktalar bölümünde listelenir src/cluster_erp/modules/procurement/module.py:35
Uç noktalar 18; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/procurement/purchase_orders/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ı 18 yolun 18 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("procurement") src/cluster_erp/modules/procurement/module.py:82
Hata biçimi JSON gövdesi {"error": {...}}; bkz. Hatalar src/cluster_erp/server/error_handler.py:33-46

Uç noktalar

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/procurement/purchase-orders/ list_purchase_orders purchase_order.read yok status, vendor_id, search, product_ids, project_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:58
POST /api/v1/procurement/purchase-orders/ create_purchase_order purchase_order.create PurchaseOrderCreate yok PurchaseOrderRead 201 src/cluster_erp/modules/procurement/purchase_orders/routes.py:98
POST /api/v1/procurement/purchase-orders/from-pr/{pr_id} create_from_pr purchase_order.create CreateFromPrRequest yok PurchaseOrderRead 201 src/cluster_erp/modules/procurement/purchase_orders/routes.py:110
GET /api/v1/procurement/purchase-orders/receivable-lines receivable_lines purchase_order.read yok po_id, vendor_id list[dict[str, Any]] 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:129
GET /api/v1/procurement/purchase-orders/{po_id} get_purchase_order purchase_order.read yok yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:147
PUT /api/v1/procurement/purchase-orders/{po_id} update_purchase_order purchase_order.update PurchaseOrderUpdate yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:161
DELETE /api/v1/procurement/purchase-orders/{po_id} delete_purchase_order purchase_order.delete yok yok yok 204 src/cluster_erp/modules/procurement/purchase_orders/routes.py:174
POST /api/v1/procurement/purchase-orders/bulk-delete bulk_delete_purchase_orders purchase_order.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:186
POST /api/v1/procurement/purchase-orders/{po_id}/send send_purchase_order purchase_order.send yok yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:201
POST /api/v1/procurement/purchase-orders/{po_id}/acknowledge acknowledge_purchase_order purchase_order.update yok yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:213
POST /api/v1/procurement/purchase-orders/{po_id}/in-transit mark_in_transit purchase_order.update yok yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:225
POST /api/v1/procurement/purchase-orders/{po_id}/items/{item_id}/receive receive_item purchase_order.receive ReceiveItemRequest yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:237
POST /api/v1/procurement/purchase-orders/items/{item_id}/receive receive_item_by_line purchase_order.receive ReceiveItemRequest yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:254
POST /api/v1/procurement/purchase-orders/{po_id}/close close_purchase_order purchase_order.update yok yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:269
POST /api/v1/procurement/purchase-orders/{po_id}/cancel cancel_purchase_order purchase_order.update PoCancelRequest yok PurchaseOrderRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:281
POST /api/v1/procurement/purchase-orders/{po_id}/items add_item purchase_order.update PurchaseOrderItemCreate yok PurchaseOrderItemRead 201 src/cluster_erp/modules/procurement/purchase_orders/routes.py:297
PUT /api/v1/procurement/purchase-orders/{po_id}/items/{item_id} update_item purchase_order.update PurchaseOrderItemUpdate yok PurchaseOrderItemRead 200 (varsayılan) src/cluster_erp/modules/procurement/purchase_orders/routes.py:314
DELETE /api/v1/procurement/purchase-orders/{po_id}/items/{item_id} remove_item purchase_order.update yok yok yok 204 src/cluster_erp/modules/procurement/purchase_orders/routes.py:331

Hata kodları

Tablo, src/cluster_erp/modules/procurement/purchase_orders/ 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 services src/cluster_erp/modules/procurement/purchase_orders/services.py:429
PO_GOODS_RECEIPT_FAILED 400 services src/cluster_erp/modules/procurement/purchase_orders/services.py:821
PO_INVALID_STATUS 400, 409 services src/cluster_erp/modules/procurement/purchase_orders/services.py:86
PO_ITEM_ALREADY_RECEIVED 400 services src/cluster_erp/modules/procurement/purchase_orders/services.py:735
PO_NO_ORDER_DATE 400 services src/cluster_erp/modules/procurement/purchase_orders/services.py:630
PO_NO_TECHNICAL_ATTACHMENT 400 services src/cluster_erp/modules/procurement/purchase_orders/services.py:637
PO_RECEIVE_QTY_EXCEEDS 400 services src/cluster_erp/modules/procurement/purchase_orders/services.py:743
PO_VENDOR_BLACKLISTED 400 services src/cluster_erp/modules/procurement/purchase_orders/services.py:233
RESOURCE_NOT_FOUND 404 routes, services src/cluster_erp/modules/procurement/purchase_orders/routes.py:157

İlgili sayfalar


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

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