Bu sayfa src/cluster_erp/server/routes/ klasörünün tanımladığı ve create_app tarafından doğrudan eklenen 40 uç noktayı listeler (src/cluster_erp/server/app.py:1433-1440). Bunlar bir modülün parçası değildir; bu bağlamada require_app bağımlılığı eklenmez. Aynı klasörde currencies modülünün bağladığı currencies.py ile Sistem uç noktaları sayfasında belgelenen signup.py ve vendor.py de bulunur. Bu yolların arkasındaki mekanizma Paylaşılan sunucu yolları sayfasında anlatılır.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yollar | /api/v1/notes, /api/v1/attachments, /api/v1/email, /api/v1/chat, /api/v1/parties, /api/v1/{module}/_fields, /api/v1 |
Uç nokta özeti bölümünde listelenen yönlendirici tanımları |
| Uç noktalar | 40; yedi dosyadaki yol dekoratörlerinden sayıldı | src/cluster_erp/server/routes/ |
| Kimlik doğrulama | Bearer başlığı veya oturum çerezi; bkz. Kimlik doğrulama ve başlıklar | src/cluster_erp/modules/auth/guards.py:85-167 |
| Yetki koruması | 40 yolun 39 tanesi require_permission bildirir; GET /api/v1/_overlay get_current_user bağımlılığına dayanır |
src/cluster_erp/server/routes/tenant_fields.py:446-449 |
| Hata biçimi | Bkz. Hatalar | src/cluster_erp/server/error_handler.py:33-46 |
Uç nokta özeti¶
create_app tarafından eklenen src/cluster_erp/server/routes/ dosyası başına bir satır.
| Dosya | Yönlendiriciler | Uç noktalar | Yönlendirici kaynağı |
|---|---|---|---|
notes.py |
router (/api/v1/notes) |
6 | src/cluster_erp/server/routes/notes.py:14 |
attachments.py |
router (/api/v1/attachments) |
8 | src/cluster_erp/server/routes/attachments.py:27 |
email.py |
router (/api/v1/email) |
3 | src/cluster_erp/server/routes/email.py:22 |
chat.py |
router (/api/v1/chat) |
1 | src/cluster_erp/server/routes/chat.py:23 |
party_composite.py |
router (/api/v1/parties) |
1 | src/cluster_erp/server/routes/party_composite.py:27 |
party_roles.py |
router (/api/v1/parties) |
3 | src/cluster_erp/server/routes/party_roles.py:31 |
tenant_fields.py |
router (/api/v1/{module}/_fields), overlay_router (/api/v1) |
18 | src/cluster_erp/server/routes/tenant_fields.py:42, src/cluster_erp/server/routes/tenant_fields.py:43 |
Notlar uç noktaları¶
Varlık türü ve kimlikle herhangi bir kayda bağlanan notlar. Her yol ayrıca _assert_parent_readable ile üst varlığın okuma kodunu denetler (src/cluster_erp/server/routes/notes.py:17-29).
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/notes/{entity_type}/{entity_id} |
list_notes |
note.read |
yok | yok | list[NoteRead] |
200 (varsayılan) | src/cluster_erp/server/routes/notes.py:33 |
GET |
/api/v1/notes/count/{entity_type}/{entity_id} |
count_notes |
note.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/notes.py:46 |
POST |
/api/v1/notes/ |
create_note |
note.create |
NoteCreate |
yok | NoteRead |
201 |
src/cluster_erp/server/routes/notes.py:59 |
PUT |
/api/v1/notes/{note_id} |
update_note |
note.update |
NoteUpdate |
yok | NoteRead |
200 (varsayılan) | src/cluster_erp/server/routes/notes.py:71 |
POST |
/api/v1/notes/bulk-delete |
bulk_delete_notes |
note.bulk_delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/server/routes/notes.py:89 |
DELETE |
/api/v1/notes/{note_id} |
delete_note |
note.delete |
yok | yok | yok | 204 |
src/cluster_erp/server/routes/notes.py:104 |
Ekler uç noktaları¶
Herhangi bir kaydın dosya ekleri: yükleme, sayma, indirme, listeleme, dosyayı değiştirme, güncelleme, toplu kullanımdan kaldırma ve kullanımdan kaldırma. Her yol ayrıca üst varlığın okuma yetkisini ister (src/cluster_erp/server/routes/attachments.py:29-57).
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/attachments/ |
upload_attachment |
attachment.create |
çok parçalı entity_type, entity_id, description, file |
yok | AttachmentRead |
201 |
src/cluster_erp/server/routes/attachments.py:62 |
GET |
/api/v1/attachments/count/{entity_type}/{entity_id} |
count_attachments |
attachment.read |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/server/routes/attachments.py:88 |
GET |
/api/v1/attachments/{attachment_id}/download |
download_attachment |
attachment.download |
yok | yok | Response |
200 (varsayılan) | src/cluster_erp/server/routes/attachments.py:102 |
GET |
/api/v1/attachments/{entity_type}/{entity_id} |
list_attachments |
attachment.read |
yok | yok | list[AttachmentRead] |
200 (varsayılan) | src/cluster_erp/server/routes/attachments.py:124 |
PUT |
/api/v1/attachments/{attachment_id}/replace |
replace_attachment_file |
attachment.update |
çok parçalı file |
yok | AttachmentRead |
200 (varsayılan) | src/cluster_erp/server/routes/attachments.py:138 |
PUT |
/api/v1/attachments/{attachment_id} |
update_attachment |
attachment.update |
AttachmentUpdate |
yok | AttachmentRead |
200 (varsayılan) | src/cluster_erp/server/routes/attachments.py:165 |
POST |
/api/v1/attachments/bulk-delete |
bulk_delete_attachments |
attachment.bulk_delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/server/routes/attachments.py:184 |
DELETE |
/api/v1/attachments/{attachment_id} |
delete_attachment |
attachment.delete |
yok | yok | yok | 204 |
src/cluster_erp/server/routes/attachments.py:202 |
E-posta uç noktaları¶
Alıcı çözümleme, kayıtları e-postayla gönderme ve serbest e-posta gönderme.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/email/resolve |
resolve_emails |
email.send |
EmailResolveRequest |
yok | EmailResolveResponse |
200 (varsayılan) | src/cluster_erp/server/routes/email.py:95 |
POST |
/api/v1/email/send-records |
send_records |
email.send |
EmailSendRecordsRequest |
yok | EmailSendResponse |
200 (varsayılan) | src/cluster_erp/server/routes/email.py:122 |
POST |
/api/v1/email/send |
send_email |
email.send |
EmailSendRequest |
yok | EmailSendResponse |
200 (varsayılan) | src/cluster_erp/server/routes/email.py:187 |
Sohbet uç noktaları¶
Niyet motoruyla bir sohbet iletisini yanıtlayan tek yol; bkz. Niyet asistanı.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/chat/message |
chat_message |
dashboard.read |
ChatRequest |
yok | ChatResponse |
200 (varsayılan) | src/cluster_erp/server/routes/chat.py:1191 |
Bileşik taraf oluşturma uç noktaları¶
Bir tarafı rolleriyle tek istekte oluşturan tek yol; PartyCompositeCreate üzerine kurulur (src/cluster_erp/server/routes/party_composite.py:40-51).
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/parties/composite |
create_party_composite |
party.create |
PartyCompositeCreate |
yok | dict |
201 |
src/cluster_erp/server/routes/party_composite.py:54 |
Taraf rolleri uç noktaları¶
Var olan bir tarafın müşteri, tedarikçi veya çalışan rolünü açan üç yol.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/parties/{party_id}/roles/customer |
enable_customer_role |
customer.create |
dict[str, Any] |
yok | dict |
201 |
src/cluster_erp/server/routes/party_roles.py:58 |
POST |
/api/v1/parties/{party_id}/roles/supplier |
enable_supplier_role |
supplier.create |
dict[str, Any] |
yok | dict |
201 |
src/cluster_erp/server/routes/party_roles.py:80 |
POST |
/api/v1/parties/{party_id}/roles/employee |
enable_employee_role |
employee.create |
dict[str, Any] |
yok | dict |
201 |
src/cluster_erp/server/routes/party_roles.py:102 |
Kiracı alanları uç noktaları¶
İki yönlendirici: alan tanımları, alan ayarları ve alan kataloğu için /api/v1/{module}/_fields altındaki router ve /api/v1/_overlay için overlay_router. module yol bölümü bildirilen tanımlara karşı denetlenir (src/cluster_erp/server/routes/tenant_fields.py:1-9); bkz. Kiracı alanları.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/{module}/_fields/definitions/ |
list_definitions |
tenant_field_definition.read |
yok | module, entity_type |
list[FieldDefinitionRead] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:150 |
POST |
/api/v1/{module}/_fields/definitions/ |
create_definition |
tenant_field_definition.create |
FieldDefinitionCreate |
module |
FieldDefinitionRead |
201 |
src/cluster_erp/server/routes/tenant_fields.py:167 |
GET |
/api/v1/{module}/_fields/definitions/{definition_id} |
get_definition |
tenant_field_definition.read |
yok | module |
FieldDefinitionRead |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:181 |
PATCH |
/api/v1/{module}/_fields/definitions/{definition_id} |
update_definition |
tenant_field_definition.update |
FieldDefinitionUpdate |
module |
FieldDefinitionRead |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:197 |
POST |
/api/v1/{module}/_fields/definitions/{definition_id}/actions/close |
close_definition |
tenant_field_definition.update |
yok | module |
FieldDefinitionRead |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:215 |
POST |
/api/v1/{module}/_fields/definitions/{definition_id}/actions/reopen |
reopen_definition |
tenant_field_definition.update |
yok | module |
FieldDefinitionRead |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:232 |
GET |
/api/v1/{module}/_fields/settings/ |
list_settings |
tenant_field_setting.read |
yok | module, entity_type |
list[dict[str, Any]] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:252 |
GET |
/api/v1/{module}/_fields/settings/{setting_id} |
get_setting |
tenant_field_setting.read |
yok | module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:273 |
PATCH |
/api/v1/{module}/_fields/settings/{setting_id} |
update_setting |
tenant_field_setting.update |
FieldSettingUpdate |
module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:294 |
GET |
/api/v1/{module}/_fields/catalog/ |
list_catalog |
tenant_field_catalog.read |
yok | module |
list[dict[str, Any]] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:320 |
POST |
/api/v1/{module}/_fields/catalog/ |
create_catalog_entry |
tenant_field_catalog.create |
FieldCatalogCreate |
module |
dict[str, Any] |
201 |
src/cluster_erp/server/routes/tenant_fields.py:334 |
GET |
/api/v1/{module}/_fields/catalog/{entry_id} |
get_catalog_entry |
tenant_field_catalog.read |
yok | module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:348 |
PATCH |
/api/v1/{module}/_fields/catalog/{entry_id} |
update_catalog_entry |
tenant_field_catalog.update |
FieldCatalogUpdate |
module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:364 |
POST |
/api/v1/{module}/_fields/catalog/{entry_id}/actions/bind |
bind_catalog_entry |
tenant_field_catalog.update |
FieldCatalogBind |
module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:379 |
POST |
/api/v1/{module}/_fields/catalog/{entry_id}/actions/derive |
derive_catalog_entry |
tenant_field_catalog.update |
FieldCatalogDerive |
module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:397 |
POST |
/api/v1/{module}/_fields/catalog/{entry_id}/actions/close |
close_catalog_entry |
tenant_field_catalog.update |
yok | module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:415 |
POST |
/api/v1/{module}/_fields/catalog/{entry_id}/actions/reopen |
reopen_catalog_entry |
tenant_field_catalog.update |
yok | module |
dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:429 |
GET |
/api/v1/_overlay |
get_overlay |
oturum açmış kullanıcı (get_current_user) |
yok | yok | dict[str, Any] |
200 (varsayılan) | src/cluster_erp/server/routes/tenant_fields.py:446 |
Hata kodları¶
Tablo, yedi yol dosyasının attığı hata kodlarını modül sayfalarındaki aynı sözdizimi ağacı taramasıyla listeler. Koruma, yetkilendirme ve doğrulama hataları Hatalar sayfasında listelenir.
| Kod | HTTP durumu | Atıldığı yer | İlk konum |
|---|---|---|---|
AUTH_PERMISSION_DENIED |
403 |
`` | src/cluster_erp/server/routes/attachments.py:55 |
FILE_NOT_FOUND_ON_DISK |
404 |
`` | src/cluster_erp/server/routes/attachments.py:115 |
HTTP_404 |
404 |
`` | src/cluster_erp/server/routes/party_roles.py:54 |
HTTP_422 |
422 |
`` | src/cluster_erp/server/routes/party_composite.py:37 |
PARTY_ASSIGNMENT_INCOMPLETE |
422 |
`` | src/cluster_erp/server/routes/party_composite.py:134 |
RESOURCE_NOT_FOUND |
404 |
`` | src/cluster_erp/server/routes/attachments.py:112 |
SMTP_ERROR |
502 |
`` | src/cluster_erp/server/routes/email.py:184 |
SMTP_NOT_CONFIGURED |
503 |
`` | src/cluster_erp/server/routes/email.py:132 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.