analytics modülü analiz kataloğunu, olgu profillerini, betimsel istatistikleri, istatistiksel testleri, sınıflandırmaları, kayıtlı modelleri, raporları ve özet yenilemelerini HTTP üzerinden sunar. 47 uç noktanın tamamı /api/v1/analytics altındadır. İş anlamı için Analytics modülü sayfasına bakın.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yol | /api/v1/analytics |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/analytics/module.py:55 |
| Yönlendiriciler | 1 dosyada 1 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir | src/cluster_erp/modules/analytics/module.py:47 |
| Uç noktalar | 47; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı |
src/cluster_erp/modules/analytics/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ı | 47 yolun 47 tanesi require_permission bildirir |
src/cluster_erp/modules/auth/guards.py:205-240 |
| Uygulama yetkilendirme kapısı | bağlanan her yönlendiricide require_app("analytics") |
src/cluster_erp/modules/analytics/module.py:55 |
| 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ğı |
|---|---|---|---|
routes |
router (/analysis) |
47 | src/cluster_erp/modules/analytics/routes.py:28 |
Analiz uç noktaları¶
/analysis altındaki tek yönlendirici katalog ve profil okumalarını yanıtlar, anlık analizleri ve tarifleri çalıştırır, testleri (t-testi, ANOVA, ki-kare, regresyon ve diğerleri), sınıflandırmaları (ABC, SBC), PCA ve k-ortalamaları hesaplar; kayıtlı modelleri, kalemli raporları ve özet durumlarını yönetir.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/analytics/analysis/catalogue |
get_catalogue |
analysis.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:37 |
GET |
/api/v1/analytics/analysis/profile/{fact_key} |
profile_fact |
analysis.read |
yok | columns |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:56 |
POST |
/api/v1/analytics/analysis/run |
run_analysis |
analysis.run |
AnalysisSpec |
yok | AnalysisResult |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:80 |
POST |
/api/v1/analytics/analysis/prepare |
run_recipe |
analysis.run |
RecipeDefinition |
yok | RecipeRunResult |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:96 |
GET |
/api/v1/analytics/analysis/statistics/{fact_key}/{column} |
describe_column |
analysis.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:117 |
GET |
/api/v1/analytics/analysis/outliers/{fact_key}/{column} |
screen_outliers |
analysis.read |
yok | method, limit |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:141 |
GET |
/api/v1/analytics/analysis/series/{fact_key} |
period_series |
analysis.read |
yok | date_column, grain, date_from, date_to, value_column, aggregation, gap_policy |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:168 |
GET |
/api/v1/analytics/analysis/baselines/{fact_key} |
baseline_comparison |
analysis.read |
yok | date_column, grain, date_from, date_to, value_column, horizon, m, min_train, gap_policy |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:204 |
GET |
/api/v1/analytics/analysis/abc/{fact_key} |
abc_classification |
analysis.read |
yok | group_by, measure, date_column, grain, date_from, date_to |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:243 |
GET |
/api/v1/analytics/analysis/sbc/{fact_key} |
sbc_classification |
analysis.read |
yok | date_column, grain, date_from, date_to, value_column, gap_policy |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:277 |
GET |
/api/v1/analytics/analysis/stratified/{fact_key} |
stratified_ratio |
analysis.read |
yok | group_by, stratum, numerator_field, numerator_value |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:310 |
GET |
/api/v1/analytics/analysis/levels/{fact_key} |
dimension_levels |
analysis.read |
yok | dimension |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:385 |
GET |
/api/v1/analytics/analysis/tests/ttest/{fact_key} |
t_test |
analysis.read |
yok | value, group_by, group_a, group_b, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:410 |
GET |
/api/v1/analytics/analysis/tests/anova/{fact_key} |
one_way_anova |
analysis.read |
yok | value, group_by, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:445 |
GET |
/api/v1/analytics/analysis/tests/mannwhitney/{fact_key} |
mann_whitney |
analysis.read |
yok | value, group_by, group_a, group_b, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:467 |
GET |
/api/v1/analytics/analysis/tests/pairedt/{fact_key} |
paired_t |
analysis.read |
yok | column_a, column_b, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:498 |
GET |
/api/v1/analytics/analysis/tests/chisquare/{fact_key} |
chi_square |
analysis.read |
yok | rows, columns, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:524 |
GET |
/api/v1/analytics/analysis/tests/correlation/{fact_key} |
correlation |
analysis.read |
yok | x, y, method, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:547 |
GET |
/api/v1/analytics/analysis/tests/kruskal/{fact_key} |
kruskal_wallis |
analysis.read |
yok | value, group_by, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:570 |
GET |
/api/v1/analytics/analysis/tests/levene/{fact_key} |
levene |
analysis.read |
yok | value, group_by, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:593 |
GET |
/api/v1/analytics/analysis/tests/wilcoxon/{fact_key} |
wilcoxon |
analysis.read |
yok | column_a, column_b, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:615 |
GET |
/api/v1/analytics/analysis/tests/normality/{fact_key} |
normality |
analysis.read |
yok | value, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:642 |
GET |
/api/v1/analytics/analysis/tests/shapiro/{fact_key} |
shapiro |
analysis.read |
yok | value, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:664 |
GET |
/api/v1/analytics/analysis/cross/compare/{fact_a} |
cross_compare |
analysis.read |
yok | dim_a, level_a, date_a, fact_b, date_b, grain, date_from, date_to, value_b, agg_b, lag, filters_a, filters_b |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:686 |
GET |
/api/v1/analytics/analysis/cross/correlate/{fact_a} |
cross_correlate |
analysis.read |
yok | date_a, fact_b, date_b, grain, date_from, date_to, value_a, agg_a, share_dim_a, share_level_a, value_b, agg_b, lag, filters_a, filters_b |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:735 |
GET |
/api/v1/analytics/analysis/pca/{fact_key} |
principal_components_analysis |
analysis.read |
yok | columns, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:787 |
GET |
/api/v1/analytics/analysis/cluster/{fact_key} |
kmeans_clustering |
analysis.read |
yok | columns, k, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:812 |
GET |
/api/v1/analytics/analysis/tests/rmanova/{fact_key} |
repeated_measures_anova_test |
analysis.read |
yok | columns, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:840 |
GET |
/api/v1/analytics/analysis/tests/logistic/{fact_key} |
logistic_regression_test |
analysis.read |
yok | outcome, predictors, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:865 |
GET |
/api/v1/analytics/analysis/tests/regression/{fact_key} |
regression |
analysis.read |
yok | outcome, predictors, filters |
dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:893 |
GET |
/api/v1/analytics/analysis/models |
list_saved_models |
analysis.read |
yok | yok | list[dict[str, Any]] |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:946 |
POST |
/api/v1/analytics/analysis/models |
create_saved_model |
analysis.manage |
SavedModelCreate |
yok | dict |
201 |
src/cluster_erp/modules/analytics/routes.py:955 |
GET |
/api/v1/analytics/analysis/models/{model_id} |
get_saved_model |
analysis.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:973 |
PUT |
/api/v1/analytics/analysis/models/{model_id} |
update_saved_model |
analysis.manage |
SavedModelUpdate |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:982 |
POST |
/api/v1/analytics/analysis/models/{model_id}/deactivate |
deactivate_saved_model |
analysis.manage |
SavedModelDeactivate |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1001 |
POST |
/api/v1/analytics/analysis/models/{model_id}/run |
run_saved_model |
analysis.run |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1017 |
GET |
/api/v1/analytics/analysis/reports |
list_reports |
analysis.read |
yok | yok | list[dict[str, Any]] |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1071 |
POST |
/api/v1/analytics/analysis/reports |
create_report |
analysis.manage |
ReportCreate |
yok | dict |
201 |
src/cluster_erp/modules/analytics/routes.py:1080 |
GET |
/api/v1/analytics/analysis/reports/{report_id} |
get_report |
analysis.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1094 |
PUT |
/api/v1/analytics/analysis/reports/{report_id} |
update_report |
analysis.manage |
ReportUpdate |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1104 |
POST |
/api/v1/analytics/analysis/reports/{report_id}/deactivate |
deactivate_report |
analysis.manage |
SavedModelDeactivate |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1120 |
POST |
/api/v1/analytics/analysis/reports/{report_id}/items |
add_report_item |
analysis.manage |
ReportItemCreate |
yok | dict |
201 |
src/cluster_erp/modules/analytics/routes.py:1136 |
PUT |
/api/v1/analytics/analysis/reports/{report_id}/items/{item_id} |
update_report_item |
analysis.manage |
ReportItemUpdate |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1156 |
POST |
/api/v1/analytics/analysis/reports/{report_id}/items/{item_id}/move |
move_report_item |
analysis.manage |
ReportItemMove |
yok | list[dict[str, Any]] |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1173 |
POST |
/api/v1/analytics/analysis/reports/{report_id}/items/{item_id}/remove |
remove_report_item |
analysis.manage |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1190 |
GET |
/api/v1/analytics/analysis/summaries |
summary_states |
analysis.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1207 |
POST |
/api/v1/analytics/analysis/summaries/refresh |
refresh_summaries |
analysis.manage |
SummaryRefreshRequest \| None |
yok | dict |
200 (varsayılan) | src/cluster_erp/modules/analytics/routes.py:1224 |
Hata kodları¶
Tablo, src/cluster_erp/modules/analytics/ 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.
Tarama bir atma konumu bulmadı.
Yayımlanan olaylar¶
Tablo, src/cluster_erp/modules/analytics/ 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 |
|---|---|---|
DescribeAnalyticsFacts |
1 | src/cluster_erp/modules/analytics/registry.py:253 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.