Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / API referansı

API

Projects API (projects)

/api/v1/projects altındaki projects modülünün HTTP uç noktaları: yetkiler, şemalar, durum kodları ve hata kodlarıyla 64 yol.

projects modülü üretim özeti ve kazanılmış değer okumalarıyla projeleri, çizelgeleri, başlangıç toplantılarını, toplantıları, aksiyonları, fikstürleri, proje kalemlerini, ilişkiler ve malzeme bağlantılarıyla faaliyetleri ve proje panosunu sunar. 64 uç noktanın tamamı /api/v1/projects altındadır. İş anlamı için Projects modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/projects src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/projects/module.py:67
Yönlendiriciler 9 dosyada 9 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/projects/module.py:35
Uç noktalar 64; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/projects/actions/routes.py, src/cluster_erp/modules/projects/activities/routes.py, src/cluster_erp/modules/projects/board_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ı 64 yolun 64 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("projects") src/cluster_erp/modules/projects/module.py:78
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ğı
projects router (/projects) 9 src/cluster_erp/modules/projects/projects/routes.py:28
schedules router (/schedules) 7 src/cluster_erp/modules/projects/schedules/routes.py:19
kickoffs router (/kickoffs) 7 src/cluster_erp/modules/projects/kickoffs/routes.py:20
meetings router (/meetings) 6 src/cluster_erp/modules/projects/meetings/routes.py:20
actions router (/actions) 8 src/cluster_erp/modules/projects/actions/routes.py:22
fixtures router (/fixtures) 7 src/cluster_erp/modules/projects/fixtures/routes.py:21
items router (/project-items) 7 src/cluster_erp/modules/projects/items/routes.py:22
activities router (/activities) 12 src/cluster_erp/modules/projects/activities/routes.py:24
board_routes router (/project-board) 1 src/cluster_erp/modules/projects/board_routes.py:17

Projeler uç noktaları

Proje kayıtları, üretim özeti, kazanılmış değer (EVM) ve durum geçişi.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/projects/ list_projects project.read yok search, status, customer_id, project_manager_id, limit, offset dict 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:40
POST /api/v1/projects/projects/ create_project project.create ProjectCreate yok ProjectRead 201 src/cluster_erp/modules/projects/projects/routes.py:76
GET /api/v1/projects/projects/{project_id} get_project project.read yok yok ProjectRead 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:88
GET /api/v1/projects/projects/{project_id}/production-rollup project_production_rollup project.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:102
GET /api/v1/projects/projects/{project_id}/evm project_evm project.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:125
PUT /api/v1/projects/projects/{project_id} update_project project.update ProjectUpdate yok ProjectRead 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:270
POST /api/v1/projects/projects/{project_id}/transition transition_project project.update TransitionRequest yok ProjectRead 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:285
DELETE /api/v1/projects/projects/{project_id} delete_project project.delete yok yok yok 204 src/cluster_erp/modules/projects/projects/routes.py:298
POST /api/v1/projects/projects/bulk-delete bulk_delete_projects project.bulk_delete BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/projects/projects/routes.py:310

Çizelgeler uç noktaları

Bir projenin çizelgeleri, yayımlama ve müşteriyle paylaşma.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/schedules/by-project/{project_id} list_schedules_by_project project.read yok yok list[ScheduleRead] 200 (varsayılan) src/cluster_erp/modules/projects/schedules/routes.py:22
POST /api/v1/projects/schedules/ create_schedule project.update ScheduleCreate yok ScheduleRead 201 src/cluster_erp/modules/projects/schedules/routes.py:34
GET /api/v1/projects/schedules/{schedule_id} get_schedule project.read yok yok ScheduleRead 200 (varsayılan) src/cluster_erp/modules/projects/schedules/routes.py:46
PUT /api/v1/projects/schedules/{schedule_id} update_schedule project.update ScheduleUpdate yok ScheduleRead 200 (varsayılan) src/cluster_erp/modules/projects/schedules/routes.py:60
POST /api/v1/projects/schedules/{schedule_id}/publish publish_schedule project.update yok yok ScheduleRead 200 (varsayılan) src/cluster_erp/modules/projects/schedules/routes.py:75
POST /api/v1/projects/schedules/{schedule_id}/share-with-customer share_schedule_with_customer project.update yok yok ScheduleRead 200 (varsayılan) src/cluster_erp/modules/projects/schedules/routes.py:87
DELETE /api/v1/projects/schedules/{schedule_id} delete_schedule project.update yok yok yok 204 src/cluster_erp/modules/projects/schedules/routes.py:99

Başlangıç toplantıları uç noktaları

Bir projenin başlangıç toplantısı, kontrol listesi ve yapıldı işaretleme.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/kickoffs/by-project/{project_id} get_kickoff_by_project project.read yok yok KickoffRead \| None 200 (varsayılan) src/cluster_erp/modules/projects/kickoffs/routes.py:23
POST /api/v1/projects/kickoffs/ create_kickoff meeting.record KickoffCreate yok KickoffRead 201 src/cluster_erp/modules/projects/kickoffs/routes.py:37
GET /api/v1/projects/kickoffs/{kickoff_id} get_kickoff project.read yok yok KickoffRead 200 (varsayılan) src/cluster_erp/modules/projects/kickoffs/routes.py:49
PUT /api/v1/projects/kickoffs/{kickoff_id} update_kickoff meeting.record KickoffUpdate yok KickoffRead 200 (varsayılan) src/cluster_erp/modules/projects/kickoffs/routes.py:63
POST /api/v1/projects/kickoffs/{kickoff_id}/checklist update_checklist meeting.record list[ChecklistItemUpdate] yok KickoffRead 200 (varsayılan) src/cluster_erp/modules/projects/kickoffs/routes.py:76
POST /api/v1/projects/kickoffs/{kickoff_id}/mark-held mark_held meeting.record yok yok KickoffRead 200 (varsayılan) src/cluster_erp/modules/projects/kickoffs/routes.py:89
DELETE /api/v1/projects/kickoffs/{kickoff_id} delete_kickoff meeting.record yok yok yok 204 src/cluster_erp/modules/projects/kickoffs/routes.py:101

Toplantılar uç noktaları

Bir projenin toplantıları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/meetings/by-project/{project_id} list_meetings_by_project project.read yok yok list[MeetingRead] 200 (varsayılan) src/cluster_erp/modules/projects/meetings/routes.py:23
POST /api/v1/projects/meetings/ create_meeting meeting.record MeetingCreate yok MeetingRead 201 src/cluster_erp/modules/projects/meetings/routes.py:35
GET /api/v1/projects/meetings/{meeting_id} get_meeting project.read yok yok MeetingRead 200 (varsayılan) src/cluster_erp/modules/projects/meetings/routes.py:47
PUT /api/v1/projects/meetings/{meeting_id} update_meeting meeting.record MeetingUpdate yok MeetingRead 200 (varsayılan) src/cluster_erp/modules/projects/meetings/routes.py:61
DELETE /api/v1/projects/meetings/{meeting_id} delete_meeting meeting.record yok yok yok 204 src/cluster_erp/modules/projects/meetings/routes.py:74
POST /api/v1/projects/meetings/bulk-delete bulk_delete_meetings meeting.record BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/projects/meetings/routes.py:85

Aksiyonlar uç noktaları

Bir projenin aksiyonları, geciken aksiyonlar ve geçiş.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/actions/by-project/{project_id} list_by_project project.read yok status list[ActionListRead] 200 (varsayılan) src/cluster_erp/modules/projects/actions/routes.py:25
GET /api/v1/projects/actions/overdue list_overdue project.read yok yok list[ActionListRead] 200 (varsayılan) src/cluster_erp/modules/projects/actions/routes.py:38
POST /api/v1/projects/actions/ create_action action.assign ActionCreate yok ActionRead 201 src/cluster_erp/modules/projects/actions/routes.py:49
GET /api/v1/projects/actions/{action_id} get_action project.read yok yok ActionRead 200 (varsayılan) src/cluster_erp/modules/projects/actions/routes.py:61
PUT /api/v1/projects/actions/{action_id} update_action project.update ActionUpdate yok ActionRead 200 (varsayılan) src/cluster_erp/modules/projects/actions/routes.py:75
POST /api/v1/projects/actions/{action_id}/transition transition_action action.assign ActionTransition yok ActionRead 200 (varsayılan) src/cluster_erp/modules/projects/actions/routes.py:88
DELETE /api/v1/projects/actions/{action_id} delete_action project.update yok yok yok 204 src/cluster_erp/modules/projects/actions/routes.py:101
POST /api/v1/projects/actions/bulk-delete bulk_delete_actions project.update BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/projects/actions/routes.py:113

Fikstürler uç noktaları

Bir projenin fikstürleri ve geçiş.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/fixtures/by-project/{project_id} list_by_project project.read yok yok list[FixtureRead] 200 (varsayılan) src/cluster_erp/modules/projects/fixtures/routes.py:24
POST /api/v1/projects/fixtures/ create_fixture project.update FixtureCreate yok FixtureRead 201 src/cluster_erp/modules/projects/fixtures/routes.py:36
GET /api/v1/projects/fixtures/{fixture_id} get_fixture project.read yok yok FixtureRead 200 (varsayılan) src/cluster_erp/modules/projects/fixtures/routes.py:48
PUT /api/v1/projects/fixtures/{fixture_id} update_fixture project.update FixtureUpdate yok FixtureRead 200 (varsayılan) src/cluster_erp/modules/projects/fixtures/routes.py:62
POST /api/v1/projects/fixtures/{fixture_id}/transition transition_fixture project.update FixtureTransition yok FixtureRead 200 (varsayılan) src/cluster_erp/modules/projects/fixtures/routes.py:75
DELETE /api/v1/projects/fixtures/{fixture_id} delete_fixture project.update yok yok yok 204 src/cluster_erp/modules/projects/fixtures/routes.py:88
POST /api/v1/projects/fixtures/bulk-delete bulk_delete_fixtures project.update BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/projects/fixtures/routes.py:100

Proje kalemleri uç noktaları

Bir projenin kalemleri ve bir kalem için üretim emri oluşturma.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/project-items/by-project/{project_id} list_by_project project.read yok yok list[ProjectItemRead] 200 (varsayılan) src/cluster_erp/modules/projects/items/routes.py:25
POST /api/v1/projects/project-items/ create_project_item project.update ProjectItemCreate yok ProjectItemRead 201 src/cluster_erp/modules/projects/items/routes.py:37
GET /api/v1/projects/project-items/{item_id} get_project_item project.read yok yok ProjectItemRead 200 (varsayılan) src/cluster_erp/modules/projects/items/routes.py:49
PUT /api/v1/projects/project-items/{item_id} update_project_item project.update ProjectItemUpdate yok ProjectItemRead 200 (varsayılan) src/cluster_erp/modules/projects/items/routes.py:63
DELETE /api/v1/projects/project-items/{item_id} delete_project_item project.update yok yok yok 204 src/cluster_erp/modules/projects/items/routes.py:76
POST /api/v1/projects/project-items/{item_id}/create-production-order create_production_order_for_item CreateProductionOrderForProject.REQUIRED_PERMISSION yok yok dict 200 (varsayılan) src/cluster_erp/modules/projects/items/routes.py:88
POST /api/v1/projects/project-items/bulk-delete bulk_delete_project_items project.update BulkDeleteRequest yok BulkDeleteResponse 200 (varsayılan) src/cluster_erp/modules/projects/items/routes.py:139

Faaliyetler uç noktaları

Çizelgeye ve projeye göre faaliyetler, ilişkiler ve malzeme bağlantıları.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/activities/by-schedule/{schedule_id} list_activities project.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/projects/activities/routes.py:27
GET /api/v1/projects/activities/for-project list_activities_for_project project.read yok project_id dict 200 (varsayılan) src/cluster_erp/modules/projects/activities/routes.py:43
GET /api/v1/projects/activities/by-project/{project_id} list_activities_by_project project.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/projects/activities/routes.py:55
GET /api/v1/projects/activities/{activity_id} get_activity project.read yok yok ActivityRead 200 (varsayılan) src/cluster_erp/modules/projects/activities/routes.py:90
POST /api/v1/projects/activities/ create_activity project.update ActivityCreate yok ActivityRead 201 src/cluster_erp/modules/projects/activities/routes.py:105
PUT /api/v1/projects/activities/{activity_id} update_activity project.update ActivityUpdate yok ActivityRead 200 (varsayılan) src/cluster_erp/modules/projects/activities/routes.py:117
DELETE /api/v1/projects/activities/{activity_id} delete_activity project.update yok yok yok 204 src/cluster_erp/modules/projects/activities/routes.py:132
POST /api/v1/projects/activities/relations add_relation project.update RelationCreate yok RelationRead 201 src/cluster_erp/modules/projects/activities/routes.py:144
DELETE /api/v1/projects/activities/relations/{relation_id} delete_relation project.update yok yok yok 204 src/cluster_erp/modules/projects/activities/routes.py:156
GET /api/v1/projects/activities/{activity_id}/materials list_material_links project.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/projects/activities/routes.py:168
POST /api/v1/projects/activities/materials add_material_link project.update MaterialLinkCreate yok MaterialLinkRead 201 src/cluster_erp/modules/projects/activities/routes.py:180
DELETE /api/v1/projects/activities/materials/{link_id} delete_material_link project.update yok yok yok 204 src/cluster_erp/modules/projects/activities/routes.py:192

Proje panosu uç noktaları

src/cluster_erp/modules/projects/board_routes.py içinde tanımlı, proje panosu için tek bir okuma modeli.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/projects/project-board/ get_project_board project.read yok date_from, date_to, scope dict 200 (varsayılan) src/cluster_erp/modules/projects/board_routes.py:20

Hata kodları

Tablo, src/cluster_erp/modules/projects/ 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 activities src/cluster_erp/modules/projects/activities/services.py:128
PROJECTS_ITEM_NO_PRODUCT 422 items src/cluster_erp/modules/projects/items/routes.py:119
PROJECT_ACTION_ALREADY_CLOSED 400 actions src/cluster_erp/modules/projects/actions/services.py:161
PROJECT_ACTION_INVALID_TRANSITION 400 actions src/cluster_erp/modules/projects/actions/services.py:167
PROJECT_ACTIVITY_CYCLE 422 activities src/cluster_erp/modules/projects/activities/services.py:186
PROJECT_ACTIVITY_INVALID 404, 422 activities src/cluster_erp/modules/projects/activities/services.py:100
PROJECT_FIXTURE_INVALID_TRANSITION 400 fixtures src/cluster_erp/modules/projects/fixtures/services.py:139
PROJECT_INVALID_STATUS 400 projects src/cluster_erp/modules/projects/projects/services.py:305
PROJECT_SCHEDULE_NOT_DRAFT 400 schedules src/cluster_erp/modules/projects/schedules/services.py:78
RESOURCE_NOT_FOUND 404 actions, activities, fixtures, items, kickoffs, meetings, projects, schedules src/cluster_erp/modules/projects/actions/routes.py:71

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/projects/ 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
ProjectActionCreated 1 src/cluster_erp/modules/projects/actions/services.py:93
ProjectActivityChanged 1 src/cluster_erp/modules/projects/activities/services.py:49
ProjectClosed 1 src/cluster_erp/modules/projects/projects/services.py:279
ProjectCreated 1 src/cluster_erp/modules/projects/projects/services.py:142
ProjectFixtureRequired 1 src/cluster_erp/modules/projects/fixtures/services.py:76
ProjectKickoffCompleted 2 src/cluster_erp/modules/projects/kickoffs/services.py:113
ProjectSchedulePublished 1 src/cluster_erp/modules/projects/schedules/services.py:138
ProjectScheduleShared 1 src/cluster_erp/modules/projects/schedules/services.py:162
ProjectStatusChanged 1 src/cluster_erp/modules/projects/projects/services.py:261

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13