Bu sayfa bir iş modülünün parçası olmayan 28 uç noktayı listeler: create_app fonksiyonunun src/cluster_erp/server/app.py içinde bildirdiği 7 yol, 6 kayıt yolu ve 15 operatör konsolu yolu. Kayıt ve operatör konsolu yolları yalnız multi_tenant açıkken vardır (src/cluster_erp/server/app.py:1440-1457). Burada yalnız mekanizma düzeyinde anlatılırlar.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Uç noktalar | 28: app.py içinde 7, signup.py içinde 6, vendor.py içinde 15 |
@app.get ve @router.* dekoratörleri |
| Bağlama koşulu | settings.multi_tenant doğruyken signup.py ve vendor.py yönlendiricileri; aksi halde yalnız kapalı kayıt yoklaması |
src/cluster_erp/server/app.py:1440-1457 |
| Operatör kimlik doğrulaması | Authorization başlığında ayrı bir operatör belirteci, require_operator ile okunur; yönlendirici ayrıca _client_address_allowed bağımlılığına dayanır |
src/cluster_erp/server/routes/vendor.py:68-70, src/cluster_erp/server/routes/vendor.py:84-95 |
| Çapraz köken erişimi | Yalnız /api/v1/vendor/fleet, yalnız yapılandırılmış konsol kökenleri için |
src/cluster_erp/server/app.py:1363-1389 |
| Hata biçimi | Bkz. Hatalar | src/cluster_erp/server/error_handler.py:33-46 |
Uygulama yolları¶
create_app bu yolları doğrudan @app.get ile bildirir. Sağlık ve hazır olma kimlik bilgisi olmadan yanıt verir; modül listesi, meta veri ve anahtarlar oturum açmış kullanıcı ister. Hazır olma sözleşmesi Security.txt ve hazır olma sayfasında anlatılır.
| Yöntem | Yol | İşleyici | Yetki | Yanıt | Notlar | Kaynak |
|---|---|---|---|---|---|---|
GET |
/api/v1/signup/ |
signup_closed |
yok | {"signup": "closed"} |
Yalnız multi_tenant kapalıyken kaydedilir; şemaya alınmaz. |
src/cluster_erp/server/app.py:1456 |
GET |
/.well-known/security.txt |
security_txt |
yok | text/plain veya 404 |
Gövde security_txt_body çağrısından gelir; None dönerse 404. Şemaya alınmaz. |
src/cluster_erp/server/app.py:1460 |
GET |
/health |
health |
yok | {"status": "healthy", "version": ...} |
Canlılık: dış denetim yok. | src/cluster_erp/server/app.py:1469 |
GET |
/ready |
ready |
yok | status ve checks ile 200 veya 503 |
Veritabanını ve varsa kontrol düzlemini readiness_timeout_seconds süresi içinde yoklar. |
src/cluster_erp/server/app.py:1475 |
GET |
/api/v1/modules |
list_modules |
oturum açmış kullanıcı (get_current_user) |
modül adından sürüme ve açıklamaya eşleme | app.state.registry.loaded okunur. |
src/cluster_erp/server/app.py:1508 |
GET |
/api/v1/_meta |
get_metadata |
oturum açmış kullanıcı (get_current_user) |
ETag ile meta veri JSON veya 304 |
Süreç başına bir kez üretilir; Accept-Encoding gzip içerirse gzip biçimi; If-None-Match eşleşirse 304. |
src/cluster_erp/server/app.py:1519 |
GET |
/api/v1/_switches |
get_display_switches |
oturum açmış kullanıcı (get_current_user) |
anahtar adından mantıksal değere eşleme | DescribeDisplaySwitches yanıtlarını birleştirir. |
src/cluster_erp/server/app.py:1559 |
Statik web uygulaması bağlamaları¶
webapp klasörü varsa create_app onu iki kez bağlar: /app/v dosyaları bir damga bölümü altında sunar, /app aynı dosyaları Cache-Control: no-cache ile ve kök için index.html ile sunar (src/cluster_erp/server/app.py:1634-1645). Web uygulaması Web uygulamasına genel bakış sayfasında anlatılır.
Kayıt uç noktaları¶
Herkese açık self servis kayıt akışı: kullanılabilirlik yoklaması, kayıt isteği, postalanan bağlantının doğrulanması, yeniden gönderme, iptal ve durum yoklaması. İş oluşturan istekler istemci başına hız sınırına tabidir; yoklama ve yeniden gönderme çağrıları kayıt belirtecini URL içinde değil gövdede taşır (src/cluster_erp/server/routes/signup.py:102-112). Akış Kayıt sayfasında anlatılır.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/signup/ |
signup_available |
yok (herkese açık) | yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/signup.py:114 |
POST |
/api/v1/signup/ |
create_signup |
yok (herkese açık) | SignupCreate |
yok | dict |
202 |
src/cluster_erp/server/routes/signup.py:146 |
POST |
/api/v1/signup/verify |
verify_signup |
yok (herkese açık) | VerifyTokenBody |
yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/signup.py:171 |
POST |
/api/v1/signup/resend |
resend_signup_verification |
yok (herkese açık) | SignupTokenBody |
yok | dict |
202 |
src/cluster_erp/server/routes/signup.py:192 |
POST |
/api/v1/signup/cancel |
cancel_signup_route |
yok (herkese açık) | SignupTokenBody |
yok | yok | 204 |
src/cluster_erp/server/routes/signup.py:205 |
POST |
/api/v1/signup/status |
signup_state |
yok (herkese açık) | SignupTokenBody |
yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/signup.py:222 |
Operatör konsolu uç noktaları¶
/api/v1/vendor altındaki operatör konsolu API'si: operatör oturum açma, operatörün kendi kaydı, konsol meta verisi, genel bakış, kiracılar, küçültülmüş filo görünümü, kayıtlar, operatör eylem günlüğü, üyelik değişiklikleri, tohum yenileme ve kiracı yedekleri. Oturum açma dışındaki her yol bir operatör belirteci ister; operatör hesapları ve belirteçleri kiracı kullanıcılarından ayrıdır. Konsol Operatör konsolu sayfasında anlatılır.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/vendor/login |
vendor_login |
yok (operatör oturum açma) | OperatorLogin |
yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:113 |
GET |
/api/v1/vendor/me |
vendor_me |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:141 |
GET |
/api/v1/vendor/_meta |
vendor_meta |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:149 |
GET |
/api/v1/vendor/overview |
vendor_overview |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:332 |
GET |
/api/v1/vendor/tenants |
vendor_tenants |
operatör belirteci (require_operator) |
yok | search |
dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:394 |
GET |
/api/v1/vendor/fleet |
vendor_fleet |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:456 |
GET |
/api/v1/vendor/tenants/{key} |
vendor_tenant |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:497 |
GET |
/api/v1/vendor/signups |
vendor_signups |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:540 |
GET |
/api/v1/vendor/actions |
vendor_actions |
operatör belirteci (require_operator) |
yok | limit |
dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:570 |
POST |
/api/v1/vendor/tenants/{key}/membership/extend |
vendor_extend |
operatör belirteci (require_operator) |
ExtendBody |
yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:607 |
POST |
/api/v1/vendor/tenants/{key}/membership/suspend |
vendor_suspend |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:626 |
POST |
/api/v1/vendor/tenants/{key}/membership/activate |
vendor_activate |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:639 |
POST |
/api/v1/vendor/tenants/{key}/refresh-seeds |
vendor_refresh_seeds |
operatör belirteci (require_operator) |
yok | yok | dict |
202 |
src/cluster_erp/server/routes/vendor.py:652 |
POST |
/api/v1/vendor/tenants/{key}/backup |
vendor_backup |
operatör belirteci (require_operator) |
BackupBody |
yok | dict |
202 |
src/cluster_erp/server/routes/vendor.py:690 |
GET |
/api/v1/vendor/tenants/{key}/backups |
vendor_backups |
operatör belirteci (require_operator) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/vendor.py:740 |
Hata kodları¶
src/cluster_erp/server/routes/signup.py, src/cluster_erp/server/routes/vendor.py ve kayıt hizmeti src/cluster_erp/server/signup.py içinde atılan hata kodları; Hatalar sayfasında anlatılan sözdizimi ağacı taramasıyla bulundu.
| Kod | HTTP durumu | Atıldığı yer | İlk konum |
|---|---|---|---|
CONSOLE_BACKUP_DISABLED |
403 |
`` | src/cluster_erp/server/routes/vendor.py:697 |
RESOURCE_NOT_FOUND |
404 |
`` | src/cluster_erp/server/routes/signup.py:182 |
SIGNUP_ALREADY_PROVISIONED |
409 |
`` | src/cluster_erp/server/routes/signup.py:215 |
SIGNUP_CLOSED |
403 |
`` | src/cluster_erp/server/signup.py:230 |
SIGNUP_DOMAIN_TAKEN |
409 |
`` | src/cluster_erp/server/signup.py:303 |
SIGNUP_INVALID |
402, 422, 500 |
`` | src/cluster_erp/server/signup.py:166 |
SIGNUP_NOTICE_MISSING |
409 |
`` | src/cluster_erp/server/signup.py:242 |
SIGNUP_NOTICE_REQUIRED |
422 |
`` | src/cluster_erp/server/signup.py:248 |
SIGNUP_RATE_LIMITED |
429 |
`` | src/cluster_erp/server/routes/signup.py:81 |
SIGNUP_VERIFY_EXPIRED |
410 |
`` | src/cluster_erp/server/routes/signup.py:184 |
VENDOR_ACCOUNT_LOCKED |
401 |
`` | src/cluster_erp/server/routes/vendor.py:124 |
VENDOR_AUTH_REQUIRED |
401, 403 |
`` | src/cluster_erp/server/routes/vendor.py:53 |
VENDOR_INVALID_CREDENTIALS |
401 |
`` | src/cluster_erp/server/routes/vendor.py:134 |
VENDOR_TOTP_NOT_ENROLLED |
403 |
`` | src/cluster_erp/server/routes/vendor.py:128 |
VENDOR_TOTP_REQUIRED |
401 |
`` | src/cluster_erp/server/routes/vendor.py:126 |
İlgili sayfalar¶
- API başvurusu
- Kayıt
- Operatör konsolu
- Çoklu kiracılık
- İstek hattı ve ara katmanlar
- Paylaşılan sunucu yolları API
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.