Cluster ERP'nin HTTP rotalarının çoğu bir modüle aittir ve /api/v1/<module> altında durur. Daha küçük bir küme sunucunun kendisindedir: src/cluster_erp/server/routes/ içindeki on rota dosyası ve create_app içinde satır içi tanımlanan yedi rota. Bu sayfa onları listeler, her birinin ne zaman bağlandığını söyler ve arkasındaki çekirdek kodu adlandırır. Her rotanın istek ve yanıt şemaları sunucu rotaları ve sistem uçları sayfalarında belgelenir.
Kapsam ve kaynak¶
- Tanımlandığı yer:
src/cluster_erp/server/routes/*.py,src/cluster_erp/server/app.py - Sayı: 68 rota dekoratörü taşıyan 10 rota dosyası (dosya başına
grep -c -E '@(router|overlay_router)\.(get|post|put|patch|delete)\('ile sayıldı) vecreate_appiçinde 7 satır içi rota (@app.getdekoratörlerinden sayıldı,src/cluster_erp/server/app.py:1450-1571)
Rota dosyaları¶
| Dosya | Önek | Rotalar | Bağlanma | Çekirdek servis veya hedef | Kaynak |
|---|---|---|---|---|---|
notes.py |
/api/v1/notes |
6 | her zaman | core/notes.py |
src/cluster_erp/server/routes/notes.py:14, src/cluster_erp/server/app.py:1432 |
party_composite.py |
/api/v1/parties |
1 | her zaman | parties, crm, owned_organisations, procurement servisleri |
src/cluster_erp/server/routes/party_composite.py:27, src/cluster_erp/server/app.py:1433 |
party_roles.py |
/api/v1/parties |
3 | her zaman | Müşteri, tedarikçi ve çalışan facet servisleri | src/cluster_erp/server/routes/party_roles.py:31, src/cluster_erp/server/app.py:1434 |
tenant_fields.py (router) |
/api/v1/{module}/_fields |
17 | her zaman | core/tenant_fields.py |
src/cluster_erp/server/routes/tenant_fields.py:42, src/cluster_erp/server/app.py:1435 |
tenant_fields.py (overlay_router) |
/api/v1 |
1 | her zaman | core/tenant_fields.py |
src/cluster_erp/server/routes/tenant_fields.py:43, src/cluster_erp/server/app.py:1436 |
attachments.py |
/api/v1/attachments |
8 | her zaman | core/attachments.py, core/storage.py, core/upload_policy.py |
src/cluster_erp/server/routes/attachments.py:27, src/cluster_erp/server/app.py:1437 |
email.py |
/api/v1/email |
3 | her zaman | core/system_mail.py, server/services/record_formatter.py |
src/cluster_erp/server/routes/email.py:22, src/cluster_erp/server/app.py:1438 |
chat.py |
/api/v1/chat |
1 | her zaman | ai/intent_engine.py |
src/cluster_erp/server/routes/chat.py:23, src/cluster_erp/server/app.py:1439 |
signup.py |
/api/v1/signup |
6 | yalnızca çok kiracılı kipte | server/signup.py |
src/cluster_erp/server/routes/signup.py:39, src/cluster_erp/server/app.py:1440-1447 |
vendor.py |
/api/v1/vendor |
15 | yalnızca çok kiracılı kipte | server/operators.py, core/tenancy.py |
src/cluster_erp/server/routes/vendor.py:68-70, src/cluster_erp/server/app.py:1448-1450 |
currencies.py |
yok; currencies modülü /api/v1/currencies altında ekler |
7 | currencies modülü yüklendiğinde |
core/currencies.py |
src/cluster_erp/server/routes/currencies.py:18, src/cluster_erp/modules/currencies/module.py:74-82 |
Her grubu anlatan sayfalar:
- Notlar ve ekler: ekler, notlar ve depolama.
- Yönlendirmeli taraf oluşturma ve rol facet'leri: taraf birleştirme.
- Kiracı alanları: kiracı alanları.
- E-posta: PDF ve sistem postası.
- Sohbet: niyet asistanı.
- Kayıt: kayıt.
- Satıcı konsolu: operatör konsolu.
- Para birimleri: referans veriler ve çekirdek i18n.
Tek tek dosyalara ilişkin notlar¶
POST /api/v1/parties/composite, bir tarafı ve tek bir formda seçilen rol facet'lerini tek bir işlemde oluşturur.party.createiznini ister (src/cluster_erp/server/routes/party_composite.py:1-9,src/cluster_erp/server/routes/party_composite.py:54-60).party_roles.py,customer.create,supplier.createveemployee.createizinlerini isteyenPOST /api/v1/parties/{party_id}/roles/customer,/supplierve/employeerotalarını ekler. Bir rolü kaldırmak burada bir rota değil, facet'in kendi kullanımdan kaldırmasıdır (src/cluster_erp/server/routes/party_roles.py:1-14,src/cluster_erp/server/routes/party_roles.py:58-106).POST /api/v1/chat/message,dashboard.readiznini ister. Niyet motoru ilk kullanımda süreç başına bir kez yüklenir (src/cluster_erp/server/routes/chat.py:24-34,src/cluster_erp/server/routes/chat.py:1191-1197).- Satıcı yönlendiricisi kiracı jetonlarını değil yalnızca operatör jetonlarını kabul eder ve ekranlarını
GET /api/v1/vendor/_metaüzerinden metadata olarak sunar (src/cluster_erp/server/routes/vendor.py:1-16,src/cluster_erp/server/routes/vendor.py:149).
create_app içindeki satır içi rotalar¶
| Yöntem ve yol | Erişim | Amaç | Kaynak |
|---|---|---|---|
GET /api/v1/signup/ |
herkese açık, yalnızca tek kiracılı kipte | Giriş ekranı kayıt kapısı göstermesin diye {"signup": "closed"} yanıtı verir |
src/cluster_erp/server/app.py:1451-1457 |
GET /.well-known/security.txt |
herkese açık | Güvenlik iletişim belgesi; security_contact boşsa 404 |
src/cluster_erp/server/app.py:1459-1466 |
GET /health |
herkese açık | Canlılık: dış denetim olmadan {"status": "healthy", "version":...} |
src/cluster_erp/server/app.py:1468-1473 |
GET /ready |
herkese açık | Hazır olma: her veritabanına readiness_timeout_seconds içinde basit bir soru sorar; her denetimi adlandırarak 200 veya 503 |
src/cluster_erp/server/app.py:1475-1504 |
GET /api/v1/modules |
oturum açmış | Yüklü her modülün adı, sürümü ve açıklaması | src/cluster_erp/server/app.py:1507-1516 |
GET /api/v1/_meta |
oturum açmış | Tüm modüllerin metadata belgesi | src/cluster_erp/server/app.py:1518-1556 |
GET /api/v1/_switches |
oturum açmış | DescribeDisplaySwitches yanıtlarından birleştirilen kiracı görüntüleme anahtarları |
src/cluster_erp/server/app.py:1558-1572 |
include_in_schema=False, kayıt ve security.txt rotalarını OpenAPI şemasından gizler (src/cluster_erp/server/app.py:1455, src/cluster_erp/server/app.py:1459). API belge sayfaları yalnızca hata ayıklama kipinde vardır (src/cluster_erp/server/app.py:1300-1301). Hazır olma ve security.txt security.txt ve hazır olma sayfasında belgelenir.
Kısıtlar ve doğrulama¶
- Sunucu rotaları modül kodunu içe aktarır; modül kodu başka modülleri içe aktaramaz (
tests/test_architecture_boundaries.py:46-57). Sınır testi yalnızcasrc/cluster_erp/modulesaltındaki dosyaları denetler.
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| shared route | server/routes |
Bir modül yerine sunucunun tanımladığı HTTP rotası. | ortak rota | src/cluster_erp/server/app.py:1432-1450 |
| readiness probe | /ready |
Her depoya bir soru sorarak sürecin trafik alıp alamayacağını söyleyen /ready rotası. |
hazırlık yoklaması | src/cluster_erp/server/app.py:1475 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.