mail modülü posta alan adlarını, sağlayıcı başına OAuth uygulama yapılandırmalarını, bağlı posta hesaplarını (OAuth ve IMAP) ve eşitleme, gönderme, taslaklar, ekler, okundu durumu, çöp kutusu ve konu dizileriyle iletileri sunar. 28 uç noktanın tamamı /api/v1/mail altındadır. İş anlamı için Mail modülü sayfasına bakın.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yol | /api/v1/mail |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/mail/module.py:42 |
| Yönlendiriciler | 4 dosyada 4 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir | src/cluster_erp/modules/mail/module.py:34 |
| Uç noktalar | 28; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı |
src/cluster_erp/modules/mail/accounts/routes.py, src/cluster_erp/modules/mail/domains/routes.py, src/cluster_erp/modules/mail/messages/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ı | 28 yolun 28 tanesi require_permission bildirir |
src/cluster_erp/modules/auth/guards.py:205-240 |
| Uygulama yetkilendirme kapısı | bağlanan her yönlendiricide require_app("mail") |
src/cluster_erp/modules/mail/module.py:42 |
| 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ğı |
|---|---|---|---|
domains |
router (/domains) |
5 | src/cluster_erp/modules/mail/domains/routes.py:21 |
providers |
router (/oauth-apps) |
3 | src/cluster_erp/modules/mail/providers/routes.py:27 |
accounts |
router (/accounts) |
7 | src/cluster_erp/modules/mail/accounts/routes.py:30 |
messages |
router (/messages) |
13 | src/cluster_erp/modules/mail/messages/routes.py:33 |
Posta alan adları uç noktaları¶
Posta alan adı kayıtları.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/mail/domains/ |
list_domains |
mail_domain.read |
yok | search, limit, offset |
MailDomainListResponse |
200 (varsayılan) | src/cluster_erp/modules/mail/domains/routes.py:24 |
GET |
/api/v1/mail/domains/{domain_id} |
get_domain |
mail_domain.read |
yok | yok | MailDomainRead |
200 (varsayılan) | src/cluster_erp/modules/mail/domains/routes.py:43 |
POST |
/api/v1/mail/domains/ |
create_domain |
mail_domain.create |
MailDomainCreate |
yok | MailDomainRead |
201 |
src/cluster_erp/modules/mail/domains/routes.py:55 |
PUT |
/api/v1/mail/domains/{domain_id} |
update_domain |
mail_domain.update |
MailDomainUpdate |
yok | MailDomainRead |
200 (varsayılan) | src/cluster_erp/modules/mail/domains/routes.py:65 |
DELETE |
/api/v1/mail/domains/{domain_id} |
delete_domain |
mail_domain.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/mail/domains/routes.py:78 |
OAuth uygulama yapılandırmaları uç noktaları¶
Sağlayıcı OAuth uygulama yapılandırmaları: listeleme, ekleme veya güncelleme ve kaldırma.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/mail/oauth-apps/ |
list_provider_configs |
mail_provider.read |
yok | yok | MailProviderListResponse |
200 (varsayılan) | src/cluster_erp/modules/mail/providers/routes.py:30 |
PUT |
/api/v1/mail/oauth-apps/{provider} |
upsert_provider_config |
mail_provider.update |
MailProviderUpsert |
yok | MailProviderRead |
200 (varsayılan) | src/cluster_erp/modules/mail/providers/routes.py:44 |
DELETE |
/api/v1/mail/oauth-apps/{provider} |
delete_provider_config |
mail_provider.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/mail/providers/routes.py:57 |
Posta hesapları uç noktaları¶
Bağlı hesaplar, kullanılabilir sağlayıcılar, OAuth başlatma ve geri çağırma, IMAP bağlama ve bağlantıyı kesme.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/mail/accounts/ |
list_accounts |
mail_account.read |
yok | yok | MailAccountListResponse |
200 (varsayılan) | src/cluster_erp/modules/mail/accounts/routes.py:33 |
GET |
/api/v1/mail/accounts/providers |
get_providers |
mail_account.read |
yok | yok | ProviderInfo |
200 (varsayılan) | src/cluster_erp/modules/mail/accounts/routes.py:47 |
POST |
/api/v1/mail/accounts/oauth/{provider}/start |
oauth_start |
mail_account.connect |
yok | yok | OAuthStartResponse |
200 (varsayılan) | src/cluster_erp/modules/mail/accounts/routes.py:66 |
POST |
/api/v1/mail/accounts/oauth/callback |
oauth_callback |
mail_account.connect |
OAuthCallbackRequest |
yok | MailAccountRead |
200 (varsayılan) | src/cluster_erp/modules/mail/accounts/routes.py:99 |
POST |
/api/v1/mail/accounts/imap |
connect_imap |
mail_account.connect |
ImapConnectRequest |
yok | MailAccountRead |
200 (varsayılan) | src/cluster_erp/modules/mail/accounts/routes.py:166 |
GET |
/api/v1/mail/accounts/{account_id} |
get_account |
mail_account.read |
yok | yok | MailAccountRead |
200 (varsayılan) | src/cluster_erp/modules/mail/accounts/routes.py:185 |
DELETE |
/api/v1/mail/accounts/{account_id} |
disconnect_account |
mail_account.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/mail/accounts/routes.py:197 |
İletiler uç noktaları¶
Eşitleme, gönderme, taslaklar, ekler, okundu durumu, çöp kutusu, konu dizileri, listeleme ve okuma.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/mail/messages/sync |
sync_messages |
mail_message.sync |
yok | account_id |
MailSyncResponse |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:43 |
POST |
/api/v1/mail/messages/send |
send_message |
mail_message.send |
MailSendRequest |
yok | MailMessageSummary |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:57 |
POST |
/api/v1/mail/messages/drafts |
save_draft |
mail_message.create |
MailDraftRequest |
yok | MailMessageSummary |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:84 |
POST |
/api/v1/mail/messages/drafts/{draft_id}/discard |
discard_draft |
mail_message.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/mail/messages/routes.py:105 |
GET |
/api/v1/mail/messages/{message_id}/attachments |
list_attachments |
mail_message.read |
yok | yok | list[MailAttachmentRead] |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:119 |
POST |
/api/v1/mail/messages/{draft_id}/attachments |
upload_attachment |
mail_message.update |
çok parçalı file |
yok | MailAttachmentRead |
201 |
src/cluster_erp/modules/mail/messages/routes.py:130 |
POST |
/api/v1/mail/messages/{draft_id}/attachments/{attachment_id}/remove |
remove_attachment |
mail_message.update |
yok | yok | yok | 204 |
src/cluster_erp/modules/mail/messages/routes.py:151 |
GET |
/api/v1/mail/messages/{message_id}/attachments/{attachment_id}/content |
download_attachment |
mail_message.read |
yok | yok | Response |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:162 |
POST |
/api/v1/mail/messages/{message_id}/read |
set_read_state |
mail_message.update |
MailReadState |
yok | yok | 204 |
src/cluster_erp/modules/mail/messages/routes.py:185 |
POST |
/api/v1/mail/messages/{message_id}/trash |
trash_message |
mail_message.update |
yok | yok | yok | 204 |
src/cluster_erp/modules/mail/messages/routes.py:197 |
GET |
/api/v1/mail/messages/{message_id}/thread |
message_thread |
mail_message.read |
yok | yok | list[MailMessageSummary] |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:208 |
GET |
/api/v1/mail/messages/ |
list_messages |
mail_message.read |
yok | folder, account_id, search, limit, offset |
MailMessageListResponse |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:220 |
GET |
/api/v1/mail/messages/{message_id} |
get_message |
mail_message.read |
yok | yok | MailMessageDetail |
200 (varsayılan) | src/cluster_erp/modules/mail/messages/routes.py:243 |
Hata kodları¶
Tablo, src/cluster_erp/modules/mail/ 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 |
|---|---|---|---|
RESOURCE_NOT_FOUND |
404 |
accounts, domains, messages, providers |
src/cluster_erp/modules/mail/accounts/routes.py:193 |
VALIDATION_ERROR |
400, 404, 500, 502 |
accounts, messages, providers |
src/cluster_erp/modules/mail/accounts/routes.py:77 |
Yayımlanan olaylar¶
Tablo, src/cluster_erp/modules/mail/ 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.
Tarama bir olay bulmadı.
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.