subscriptions modülü abonelik planlarını ve etkinleştirme, duraklatma, sürdürme, yenileme, iptal ve tarama içeren müşteri aboneliklerini sunar. 20 uç noktanın tamamı /api/v1/subscriptions altındadır. İş anlamı için Subscriptions modülü sayfasına bakın.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yol | /api/v1/subscriptions |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/subscriptions/module.py:41 |
| Yönlendiriciler | 2 dosyada 2 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir | src/cluster_erp/modules/subscriptions/module.py:33 |
| Uç noktalar | 20; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı |
src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py, src/cluster_erp/modules/subscriptions/plans/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ı | 20 yolun 20 tanesi require_permission bildirir |
src/cluster_erp/modules/auth/guards.py:205-240 |
| 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ğı |
|---|---|---|---|
plans |
router (/subscription-plans) |
8 | src/cluster_erp/modules/subscriptions/plans/routes.py:25 |
customer_subscriptions |
router |
12 | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:34 |
Abonelik planları uç noktaları¶
Plan kayıtları, etkinleştirme ve emekliye ayırma.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/subscriptions/subscription-plans/ |
list_plans |
subscription_plan.read |
yok | active_only, search |
dict |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/plans/routes.py:42 |
POST |
/api/v1/subscriptions/subscription-plans/ |
create_plan |
subscription_plan.create |
PlanCreate |
yok | PlanRead |
201 |
src/cluster_erp/modules/subscriptions/plans/routes.py:65 |
GET |
/api/v1/subscriptions/subscription-plans/{plan_id} |
get_plan |
subscription_plan.read |
yok | yok | PlanRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/plans/routes.py:74 |
PUT |
/api/v1/subscriptions/subscription-plans/{plan_id} |
update_plan |
subscription_plan.update |
PlanUpdate |
yok | PlanRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/plans/routes.py:86 |
POST |
/api/v1/subscriptions/subscription-plans/{plan_id}/activate |
activate_plan |
subscription_plan.activate |
yok | yok | PlanRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/plans/routes.py:99 |
POST |
/api/v1/subscriptions/subscription-plans/{plan_id}/retire |
retire_plan |
subscription_plan.retire |
yok | yok | PlanRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/plans/routes.py:111 |
DELETE |
/api/v1/subscriptions/subscription-plans/{plan_id} |
delete_plan |
subscription_plan.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/subscriptions/plans/routes.py:123 |
POST |
/api/v1/subscriptions/subscription-plans/bulk-delete |
bulk_delete_plans |
subscription_plan.bulk_delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/plans/routes.py:133 |
Müşteri abonelikleri uç noktaları¶
Yönlendiricinin öneki yoktur; abonelik yolları doğrudan modül temel yolunun altındadır (src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:30-34). Dört eylem yolu add_api_route ve ortak bir işleyici fabrikasıyla eklenir (src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:110-148).
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/subscriptions/ |
list_subscriptions |
customer_subscription.read |
yok | customer_id, status, search |
dict |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:51 |
POST |
/api/v1/subscriptions/ |
create_subscription |
customer_subscription.create |
SubscriptionCreate |
yok | SubscriptionRead |
201 |
src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:76 |
GET |
/api/v1/subscriptions/{sub_id} |
get_subscription |
customer_subscription.read |
yok | yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:85 |
PUT |
/api/v1/subscriptions/{sub_id} |
update_subscription |
customer_subscription.update |
SubscriptionUpdate |
yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:97 |
POST |
/api/v1/subscriptions/{sub_id}/activate |
activate_subscription |
customer_subscription.activate |
yok | yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:125 |
POST |
/api/v1/subscriptions/{sub_id}/pause |
pause_subscription |
customer_subscription.pause |
yok | yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:131 |
POST |
/api/v1/subscriptions/{sub_id}/resume |
resume_subscription |
customer_subscription.resume |
yok | yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:137 |
POST |
/api/v1/subscriptions/{sub_id}/renew |
renew_subscription |
customer_subscription.renew |
yok | yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:143 |
POST |
/api/v1/subscriptions/{sub_id}/cancel |
cancel_subscription |
customer_subscription.cancel |
CancelRequest \| None |
yok | SubscriptionRead |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:151 |
DELETE |
/api/v1/subscriptions/{sub_id} |
delete_subscription |
customer_subscription.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:164 |
POST |
/api/v1/subscriptions/sweep |
run_sweep |
customer_subscription.renew |
yok | as_of |
dict |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:174 |
POST |
/api/v1/subscriptions/bulk-delete |
bulk_delete_subscriptions |
customer_subscription.bulk_delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:190 |
Hata kodları¶
Tablo, src/cluster_erp/modules/subscriptions/ 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 |
customer_subscriptions, plans |
src/cluster_erp/modules/subscriptions/customer_subscriptions/services.py:215 |
RESOURCE_CONFLICT |
409 |
customer_subscriptions, plans |
src/cluster_erp/modules/subscriptions/customer_subscriptions/services.py:132 |
RESOURCE_NOT_FOUND |
404 |
customer_subscriptions, plans |
src/cluster_erp/modules/subscriptions/customer_subscriptions/routes.py:93 |
Yayımlanan olaylar¶
Tablo, src/cluster_erp/modules/subscriptions/ 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 |
|---|---|---|
event_cls |
1 | src/cluster_erp/modules/subscriptions/customer_subscriptions/services.py:428 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.