Dokümantasyon
REST API'nin tam, etkileşimli referansı canlı olarak sunulur. Aşağıdaki özet, uç gruplarını ve kritik davranışları listeler; geliştirmeye başlamadan önce hata formatını okumanızı öneririz.
Not: Swagger, API sunucusunun /docs yolunda yayınlanır (production'da erişim kısıtlanabilir).
Kimlik & Organizasyon
- POST
/api/v1/auth/registerOrganizasyon + OWNER kullanıcısı
- POST
/api/v1/auth/loginHttpOnly oturum çerezi
- GET
/api/v1/auth/meOturum sahibi bilgisi
Cihazlar & Lisanslar
- POST
/api/v1/devices/registerHWID kaydı → device_token
- POST
/api/v1/devices/{id}/hwid-reset30 günde 1 self-service taşıma
- POST
/api/v1/licenses/activateEd25519 imzalı lisans bileti
- GET
/api/v1/keys/{kid}Lisans public key (kid rotasyonu)
Telemetri (Parçalı Yükleme)
- POST
/api/v1/telematics/sessionsSeans ilanı: boyut + SHA-256
- PUT
/api/v1/telematics/sessions/{id}/chunks/{idx}1–16 MB binary chunk
- POST
/api/v1/telematics/sessions/{id}/completeARQ worker devreye girer
- GET
/api/v1/telematics/sessions/{id}/series/{signal}1 dk rollup serisi
Ticaret & Ödeme
- POST
/api/v1/orders/checkoutİyzico/PayTR 3D Secure başlatma
- GET
/api/v1/pricing/tiersPublic fiyat kataloğu
- POST
/api/v1/webhooks/iyzicoHMAC doğrulamalı (sağlayıcı)
- POST
/api/v1/webhooks/paytrCallback hash doğrulamalı
Raporlar
- POST
/api/v1/reportsPDF rapor kaydı (masaüstü export)
- POST
/api/v1/reports/verifyPUBLIC SHA-256 doğrulama
Hata Formatı
- ANY
—Her hata: {error: {code, message, request_id}}
- 429
—Retry-After başlığı ile birlikte
- 413
—16 MB chunk / 256 MB pack tavanı
Hızlı Başlangıç: curl ile ilk telemetri seansı
# 1) Organizasyon kur (oturum çerezi saklanır)
curl -c jar.txt -X POST http://localhost:8000/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"organization_name":"Atolye","email":"a@b.com","full_name":"Teknisyen","password":"GucluParola1!"}'
# 2) Seans ilanı (2 MB payload, 1 MB chunk'lar)
curl -b jar.txt -X POST http://localhost:8000/api/v1/telematics/sessions \
-H "Content-Type: application/json" \
-d '{"declared_size_bytes":2097152,"declared_sha256":"<sha256>","chunk_size_bytes":1048576}'
# 3) Chunk yükle (1..16 MB binary gövde)
curl -b jar.txt -X PUT \
http://localhost:8000/api/v1/telematics/sessions/<id>/chunks/0 \
--data-binary @chunk0.bin -H "Content-Type: application/octet-stream"Tüm uçlar API_SPEC §9 hata zarfını döndürür; her yanıtta X-Request-ID başlığı vardır.