Bu doküman, Structra platformunun sunduğu temel API endpoint'lerini ve veri yapılarını açıklar. API, hem web panelinden hem de mobil uygulamadan gelen istekleri yönetmek üzere tasarlanmıştır.
Tüm API istekleri yetkilendirme gerektirir. İki tür yetkilendirme desteklenir:
- Web (Session): NextAuth.js tarafından yönetilen session cookie'leri.
- Mobil (Bearer Token): Mobil giriş işlemi sonrası alınan JWT token.
Header Örneği (Mobil):
Authorization: Bearer <your_jwt_token>
X-Platform: mobile
GET /api/worker/jobs: Giriş yapmış çalışana atanan aktif işleri listeler.GET /api/jobs/[id]: Belirli bir işin tüm detaylarını, adımlarını ve atamalarını getirir.POST /api/worker/jobs/[id]/start: İşi başlatır (zaman damgası vurur).POST /api/worker/jobs/[id]/complete: İşi tamamlandı olarak işaretler (onay sürecini başlatır).
PATCH /api/worker/jobs/[id]/steps/[stepId]/toggle: Ana iş adımını tamamlandı/tamamlanmadı olarak işaretler.POST /api/worker/substeps/[substepId]/start: Alt görevi başlatır.PATCH /api/worker/jobs/[id]/steps/[stepId]/substeps/[sid]/toggle: Alt görevi tamamlar.POST /api/worker/jobs/[id]/steps/[stepId]/block: Adımı bloklar (neden belirtilmelidir).
POST /api/worker/jobs/[id]/steps/[stepId]/photos: Belirli bir adıma fotoğraf yükler.DELETE /api/admin/photos/[publicId]: Fotoğrafı siler.
POST /api/worker/costs: Yeni masraf girişi yapar.GET /api/admin/costs: Onay bekleyen tüm masrafları listeler.PATCH /api/admin/costs/[id]: Masrafı onaylar veya reddeder.
GET /api/notifications: Kullanıcının bildirimlerini getirir.PATCH /api/notifications/[id]/read: Bildirimi okundu olarak işaretler.
{
"id": "cuid",
"jobNo": "TR-2024-0001",
"title": "Kazan Montajı",
"status": "IN_PROGRESS",
"priority": "HIGH",
"progress": 45,
"steps": [...]
}Tüm hata yanıtları standart bir format izler:
{
"error": "Hata mesajı detayı",
"code": "ERROR_CODE"
}- API, performans için veritabanı düzeyinde indekslenmiştir.
- Büyük veri setleri için
pagevelimitparametreleri ile sayfalama (pagination) desteklenir. - Tüm zaman damgaları UTC ISO formatındadır.