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

API

Sales orders API (sales_orders)

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

sales_orders modülü sipariş kontrolleri, revizyonlar, kilometre taşları ve durum adımlarıyla satış siparişlerini, ürün ağacı oluşturmalı sipariş kalemlerini, birimleri, kalemler, birimler, paketler ve olaylarla sevkiyatları, ticari belgeleri ve zincir ayarlarını sunar. 68 uç noktanın tamamı /api/v1/sales_orders altındadır. İş anlamı için Sales orders modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/sales_orders src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/sales_orders/module.py:61
Yönlendiriciler 6 dosyada 6 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/sales_orders/module.py:38
Uç noktalar 68; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/sales_orders/order_lines/routes.py, src/cluster_erp/modules/sales_orders/orders/routes.py, src/cluster_erp/modules/sales_orders/settings/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ı 68 yolun 68 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("sales_orders") src/cluster_erp/modules/sales_orders/module.py:71
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ğı
shipments router 32 src/cluster_erp/modules/sales_orders/shipments/routes.py:40
units router 5 src/cluster_erp/modules/sales_orders/units/routes.py:21
trade_documents router 4 src/cluster_erp/modules/sales_orders/trade_documents/routes.py:24
settings router 3 src/cluster_erp/modules/sales_orders/settings/routes.py:16
orders router 17 src/cluster_erp/modules/sales_orders/orders/routes.py:33
order_lines router 7 src/cluster_erp/modules/sales_orders/order_lines/routes.py:24

Sevkiyatlar uç noktaları

Bir siparişin ve tüm siparişlerin sevkiyatları, durum adımları (hazır, sevk, yolda, teslim, bekletme, sürdürme, iptal), sevkiyat kalemleri, sevkiyat birimleri, paketler ve sevkiyat olayları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/sales_orders/sales-orders/shipments/ list_shipments shipment.read yok sales_order_id, project_id, status, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:85
GET /api/v1/sales_orders/sales-orders/{order_id}/shipments list_order_shipments shipment.read yok yok list[ShipmentRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:121
POST /api/v1/sales_orders/sales-orders/{order_id}/shipments create_shipment shipment.create ShipmentCreate yok ShipmentRead 201 src/cluster_erp/modules/sales_orders/shipments/routes.py:135
GET /api/v1/sales_orders/sales-orders/shipments/{shipment_id} get_shipment shipment.read yok yok ShipmentDetailRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:151
PATCH /api/v1/sales_orders/sales-orders/shipments/{shipment_id} update_shipment shipment.update ShipmentUpdate yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:164
GET /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/order-lines shipment_order_lines shipment.read yok yok list[dict[str, Any]] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:179
GET /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/available-units shipment_available_units shipment.read yok yok list[dict[str, Any]] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:192
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/ready ready_shipment shipment.update yok yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:208
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/ship ship_shipment shipment.dispatch yok yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:219
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/in-transit in_transit_shipment shipment.update InTransitBody yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:230
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/deliver deliver_shipment shipment.deliver DeliverBody \| None yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:242
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/hold hold_shipment shipment.update ReasonBody yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:254
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/resume resume_shipment shipment.update yok yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:266
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/cancel cancel_shipment shipment.cancel ReasonBody yok ShipmentRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:277
GET /api/v1/sales_orders/sales-orders/shipment-lines/ list_shipment_lines shipment_line.read yok shipment_id list[ShipmentLineRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:292
GET /api/v1/sales_orders/sales-orders/shipment-lines/{line_id} get_shipment_line shipment_line.read yok yok ShipmentLineRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:303
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/lines add_shipment_line shipment_line.create ShipmentLineInput yok ShipmentLineRead 201 src/cluster_erp/modules/sales_orders/shipments/routes.py:316
PUT /api/v1/sales_orders/sales-orders/shipment-lines/{line_id} update_shipment_line shipment_line.update ShipmentLineUpdate yok ShipmentLineRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:332
DELETE /api/v1/sales_orders/sales-orders/shipment-lines/{line_id} remove_shipment_line shipment_line.delete yok yok yok 204 src/cluster_erp/modules/sales_orders/shipments/routes.py:344
GET /api/v1/sales_orders/sales-orders/shipment-units/ list_shipment_units shipment_unit.read yok shipment_id list[ShipmentUnitRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:357
GET /api/v1/sales_orders/sales-orders/shipment-units/{row_id} get_shipment_unit shipment_unit.read yok yok ShipmentUnitRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:368
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/units add_shipment_unit shipment_unit.create ShipmentUnitCreate yok ShipmentUnitRead 201 src/cluster_erp/modules/sales_orders/shipments/routes.py:381
PUT /api/v1/sales_orders/sales-orders/shipment-units/{row_id} update_shipment_unit shipment_unit.update ShipmentUnitUpdate yok ShipmentUnitRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:397
DELETE /api/v1/sales_orders/sales-orders/shipment-units/{row_id} remove_shipment_unit shipment_unit.delete yok yok yok 204 src/cluster_erp/modules/sales_orders/shipments/routes.py:409
GET /api/v1/sales_orders/sales-orders/packages/ list_packages shipment_package.read yok shipment_id list[PackageRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:422
GET /api/v1/sales_orders/sales-orders/packages/{package_id} get_package shipment_package.read yok yok PackageRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:433
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/packages add_package shipment_package.create PackageCreate yok PackageRead 201 src/cluster_erp/modules/sales_orders/shipments/routes.py:443
PUT /api/v1/sales_orders/sales-orders/packages/{package_id} update_package shipment_package.update PackageUpdate yok PackageRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:459
DELETE /api/v1/sales_orders/sales-orders/packages/{package_id} remove_package shipment_package.delete yok yok yok 204 src/cluster_erp/modules/sales_orders/shipments/routes.py:471
GET /api/v1/sales_orders/sales-orders/shipment-events/ list_shipment_events shipment_event.read yok shipment_id list[ShipmentEventRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:484
GET /api/v1/sales_orders/sales-orders/shipment-events/{event_id} get_shipment_event shipment_event.read yok yok ShipmentEventRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/shipments/routes.py:495
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/events add_shipment_event shipment_event.create ShipmentEventCreate yok ShipmentEventRead 201 src/cluster_erp/modules/sales_orders/shipments/routes.py:508

Birimler uç noktaları

Bir sipariş kaleminin birimleri ve birim üretme.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/sales_orders/sales-orders/units/ list_units sales_order_unit.read yok sales_order_id, sales_order_line_id, project_id, status, unshipped, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/sales_orders/units/routes.py:24
POST /api/v1/sales_orders/sales-orders/lines/{line_id}/units create_unit sales_order_unit.create UnitCreate yok UnitRead 201 src/cluster_erp/modules/sales_orders/units/routes.py:56
POST /api/v1/sales_orders/sales-orders/lines/{line_id}/generate-units generate_units sales_order_unit.create GenerateUnitsBody yok list[UnitRead] 201 src/cluster_erp/modules/sales_orders/units/routes.py:70
GET /api/v1/sales_orders/sales-orders/units/{unit_id} get_unit sales_order_unit.read yok yok UnitRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/units/routes.py:86
PUT /api/v1/sales_orders/sales-orders/units/{unit_id} update_unit sales_order_unit.update UnitUpdate yok UnitRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/units/routes.py:99

Ticari belgeler uç noktaları

Ticari belgeler, indirme ve bir sevkiyat için üretme.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/sales_orders/sales-orders/trade-documents/ list_trade_documents trade_document.read yok shipment_id, sales_order_id, doc_type, current_only, search, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/sales_orders/trade_documents/routes.py:37
GET /api/v1/sales_orders/sales-orders/trade-documents/{document_id} get_trade_document trade_document.read yok yok TradeDocumentDetailRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/trade_documents/routes.py:68
GET /api/v1/sales_orders/sales-orders/trade-documents/{document_id}/download download_trade_document trade_document.read yok yok Response 200 (varsayılan) src/cluster_erp/modules/sales_orders/trade_documents/routes.py:84
POST /api/v1/sales_orders/sales-orders/shipments/{shipment_id}/generate-documents generate_documents trade_document.create GenerateDocumentsBody \| None yok list[TradeDocumentRead] 201 src/cluster_erp/modules/sales_orders/trade_documents/routes.py:102

Zincir ayarları uç noktaları

Siparişten sevkiyata zincir ayar satırı.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/sales_orders/settings/chain/ list_chain_settings sales_order_settings.read yok yok list[SalesOrderSettingsRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/settings/routes.py:19
GET /api/v1/sales_orders/settings/chain/{settings_id} get_chain_settings sales_order_settings.read yok yok SalesOrderSettingsRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/settings/routes.py:30
PATCH /api/v1/sales_orders/settings/chain/{settings_id} update_chain_settings sales_order_settings.update SalesOrderSettingsUpdate yok SalesOrderSettingsRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/settings/routes.py:44

Satış siparişleri uç noktaları

Müşteri satın alma siparişinden oluşturulan siparişler, sipariş kontrolleri, revizyon isteme ve revize siparişi alma, kabul, durum ilerletme, iptal, bekletme, sürdürme, kilometre taşları ve sipariş revizyonları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/sales_orders/sales-orders/ list_orders sales_order.read yok search, status, customer_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:52
POST /api/v1/sales_orders/sales-orders/from-po create_from_po sales_order.create SalesOrderCreate yok SalesOrderRead 201 src/cluster_erp/modules/sales_orders/orders/routes.py:86
GET /api/v1/sales_orders/sales-orders/{order_id} get_order sales_order.read yok yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:98
POST /api/v1/sales_orders/sales-orders/{order_id}/run-po-check run_po_check sales_order.create yok yok PoCheckRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:115
GET /api/v1/sales_orders/sales-orders/{order_id}/po-checks list_po_checks sales_order.read yok yok list[PoCheckRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:130
POST /api/v1/sales_orders/sales-orders/{order_id}/request-revision request_revision sales_order.create RequestRevisionBody yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:148
POST /api/v1/sales_orders/sales-orders/{order_id}/receive-revised-po receive_revised_po sales_order.create SalesOrderCreate yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:164
POST /api/v1/sales_orders/sales-orders/{order_id}/accept accept_order sales_order.accept yok yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:183
POST /api/v1/sales_orders/sales-orders/{order_id}/advance/{target_status} advance_status sales_order.create yok yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:201
POST /api/v1/sales_orders/sales-orders/{order_id}/cancel cancel_order sales_order.cancel CancelOrderBody yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:220
POST /api/v1/sales_orders/sales-orders/{order_id}/hold hold_order sales_order.create HoldOrderBody yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:239
POST /api/v1/sales_orders/sales-orders/{order_id}/resume resume_order sales_order.create yok yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:255
PATCH /api/v1/sales_orders/sales-orders/{order_id} update_order sales_order.create SalesOrderUpdate yok SalesOrderRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:273
GET /api/v1/sales_orders/sales-orders/{order_id}/milestones list_milestones sales_order.read yok yok list[MilestoneRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:292
PATCH /api/v1/sales_orders/sales-orders/{order_id}/milestones/{milestone_type} update_milestone sales_order.create MilestoneUpdate yok MilestoneRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:307
GET /api/v1/sales_orders/sales-orders/{order_id}/po-revisions list_po_revisions po_revision.read yok yok list[PoRevisionRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:327
GET /api/v1/sales_orders/sales-orders/po-revisions/{revision_id} get_po_revision po_revision.read yok yok PoRevisionDetailRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/orders/routes.py:338

Sipariş kalemleri uç noktaları

Bir siparişin kalemleri ve bir kalem için ürün ağacı oluşturma.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/sales_orders/sales-orders/{order_id}/lines list_order_lines sales_order.read yok yok list[SalesOrderLineRead] 200 (varsayılan) src/cluster_erp/modules/sales_orders/order_lines/routes.py:27
POST /api/v1/sales_orders/sales-orders/{order_id}/lines create_order_line sales_order.create SalesOrderLineCreate yok SalesOrderLineRead 201 src/cluster_erp/modules/sales_orders/order_lines/routes.py:42
GET /api/v1/sales_orders/sales-orders/lines/{line_id} get_order_line sales_order.read yok yok SalesOrderLineRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/order_lines/routes.py:59
PUT /api/v1/sales_orders/sales-orders/lines/{line_id} update_order_line sales_order.create SalesOrderLineUpdate yok SalesOrderLineRead 200 (varsayılan) src/cluster_erp/modules/sales_orders/order_lines/routes.py:75
DELETE /api/v1/sales_orders/sales-orders/lines/{line_id} delete_order_line sales_order.delete yok yok yok 204 src/cluster_erp/modules/sales_orders/order_lines/routes.py:91
POST /api/v1/sales_orders/sales-orders/lines/{line_id}/create-bom create_bom_for_order_line CreateBomForProduct.REQUIRED_PERMISSION yok yok dict 200 (varsayılan) src/cluster_erp/modules/sales_orders/order_lines/routes.py:106
POST /api/v1/sales_orders/sales-orders/lines/bulk-delete bulk_delete_order_lines sales_order.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/sales_orders/order_lines/routes.py:165

Hata kodları

Tablo, src/cluster_erp/modules/sales_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 order_lines, orders, settings, shipments, units src/cluster_erp/modules/sales_orders/order_lines/services.py:103
ORDER_INVALID_STATUS 400, 409, 422 orders, shipments src/cluster_erp/modules/sales_orders/orders/services.py:194
ORDER_PO_CHECK_REQUIRED 400 orders src/cluster_erp/modules/sales_orders/orders/services.py:603
RESOURCE_CONFLICT 409 units src/cluster_erp/modules/sales_orders/units/services.py:187
RESOURCE_NOT_FOUND 404 order_lines, orders, settings, shipments, trade_documents, units src/cluster_erp/modules/sales_orders/order_lines/routes.py:71
SALES_DELIVERY_NON_WORKING 422 orders src/cluster_erp/modules/sales_orders/orders/services.py:108
SALES_ORDER_LINE_NO_PRODUCT 422 order_lines src/cluster_erp/modules/sales_orders/order_lines/routes.py:143
SHIPMENT_CHECK_FAILED 409, 422 shipments src/cluster_erp/modules/sales_orders/shipments/services.py:810
SHIPMENT_INVALID_STATUS 400 shipments src/cluster_erp/modules/sales_orders/shipments/services.py:1062
TRADE_DOCUMENT_BLOCKED 404, 422 trade_documents src/cluster_erp/modules/sales_orders/trade_documents/services.py:66
UNIT_FROZEN 409 units src/cluster_erp/modules/sales_orders/units/services.py:283
UNIT_LIMIT_EXCEEDED 409, 422 units src/cluster_erp/modules/sales_orders/units/services.py:201
VALIDATION_ERROR 404, 422 settings src/cluster_erp/modules/sales_orders/settings/services.py:28

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/sales_orders/ 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
SalesOrderCancelled 1 src/cluster_erp/modules/sales_orders/orders/services.py:737
SalesOrderClosed 1 src/cluster_erp/modules/sales_orders/orders/services.py:684
SalesOrderDelivered 2 src/cluster_erp/modules/sales_orders/orders/services.py:674
SalesOrderMatched 1 src/cluster_erp/modules/sales_orders/orders/services.py:451
SalesOrderMismatchDetected 1 src/cluster_erp/modules/sales_orders/orders/services.py:439
SalesOrderOpened 1 src/cluster_erp/modules/sales_orders/orders/services.py:635
SalesOrderPartiallyShipped 1 src/cluster_erp/modules/sales_orders/shipments/services.py:1371
SalesOrderPoReceived 2 src/cluster_erp/modules/sales_orders/orders/services.py:330
SalesOrderRevisionRequested 1 src/cluster_erp/modules/sales_orders/orders/services.py:487
SalesOrderShipped 2 src/cluster_erp/modules/sales_orders/orders/services.py:664

İlgili sayfalar


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

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