⚠️ ÖNEMLİ: V1 Versiyonu Kapatılacaktır
RestBI API V1 sürümü, 01.06.2026 tarihinde tamamen kapatılacaktır. Kesintisiz hizmet için lütfen projelerinizi V2 sürümüne taşıyınız.
Migrasyon Rehberine GitGiriş (Introduction)
Naeron RestBI Veri Entegrasyon Servisi'ne hoş geldiniz.
RestBI, Naeron Flight School Management sistemleri ile PowerBI, Tableau ve Qlik gibi kurumsal İş Zekası (BI) araçları arasında köprü kurmak için tasarlanmış, yüksek performanslı bir API'dir.
Kurumsal Hazır Yapı
V2 API'miz, cursor-tabanlı sayfalama, delta senkronizasyonu ve donanım düzeyinde çoklu-kiracı (tenancy) izolasyonu ile ölçeklenebilir yapıdadır.
Base URL (Temel Adres)
Kimlik Doğrulama ve Güvenlik (Authentication & Security)
RestBI, verilere erişimi güvenli hale getirmek için API Anahtarı (API Key) kullanır. Bu anahtar, sadece kuruluşunuza ait verilere erişmenizi sağlar.
Anahtarınızı Güvende Tutun
API anahtarınız kuruluşunuzun hassas verilerine tam okuma yetkisi verir. Lütfen anahtarınızı halka açık yerlerde paylaşmayın.
Header Gereksinimi
Tüm API istekleri x-api-key başlığını içermelidir.
V2 API Özellikleri (Features) Stable
Versiyon 2, tüm entegrasyonlar için önerilen standarttır. Eski API'nin kısıtlamalarını ortadan kaldırarak modern veri senkronizasyon yetenekleri sunar.
| Özellik | Açıklama |
|---|---|
| Cursor Sayfalama | Milyonlarca kaydı performans kaybı olmadan tarayın. |
| Incremental Sync | Sadece değişen verileri çekin (Delta Sync). |
| Hard Delete Log | Silinen kayıtları takip ederek veri deponuzu güncel tutun. |
| 7/24 Erişim | V1'deki saat kısıtlaması (03:00-06:00) kaldırılmıştır. |
V2 API Endpointleri (Endpoints)
RestBI V2 API, modern BI araçlarının ihtiyaç duyduğu tüm veri çekme yöntemlerini kapsayan 4 temel endpoint sunar. Her bir endpoint, tutarlı bir sayfalama ve yetkilendirme yapısına sahiptir.
| Metot | Endpoint | Açıklama | Kullanım Senaryosu |
|---|---|---|---|
| GET | /v2/tables |
Tablo Listesi (Discovery) | Erişilebilir tabloları ve özelliklerini keşfetmek için. |
| GET | /v2/tables/:tableName/snapshot |
Tüm Kayıtlar (Full Snapshot) | İlk yükleme veya tablonun tamamını yenilemek için. |
| GET | /v2/tables/:tableName/changes |
Değişen Kayıtlar (Incremental) | Sadece yeni veya güncellenmiş kayıtları çekmek için. |
| GET | /v2/tables/:tableName/deleted |
Silinen Kayıtlar (Hard Delete Log) | Kaynaktan silinen kayıtları temizlemek için. |
Dinamik Parametre Desteği
Tüm veri endpointleri (Snapshot, Changes, Deleted) limit ve cursor parametrelerini standart olarak destekler. Bazı tablolar ek olarak startDate ve endDate gibi dinamik filtreleri de kabul eder.
Tablo Listesi (Discovery)
Erişilebilir tüm tabloları, birincil anahtarları ve desteklenen özellikleri öğrenin. Bu endpoint, BI araçlarınızın veri şemasını otomatik olarak tanıması için meta-veri sağlar.
Endpoint
GET /v2/tables
Yanıt Alanları (Response Fields)
| Alan (Key) | Tip | Açıklama |
|---|---|---|
name |
String | API endpoint'lerinde kullanılacak tablo ID'si (Örn: bi_students). |
pk |
String | Tablonun birincil anahtar (Primary Key) kolonu. Sayfalama ve veri tekilleştirme için kullanılır. |
dateColumn |
String | Artımlı yükleme (incremental) için baz alınan zaman damgası kolonu. |
supportsIncremental |
Boolean | true ise /changes endpoint'i kullanılabilir. |
supportsHardDelete |
Boolean | true ise /deleted endpoint'i üzerinden silinen kayıt takibi yapılabilir. |
queryParams |
Array | Tablo bazlı dinamik filtreler. Örn: Başlangıç ve bitiş tarihi filtreleri. |
Örnek Yanıt
Tüm Kayıtlar (Snapshot)
Tabloyu tamamen yeniden yüklemek istediğinizde kullanılır. Büyük tablolar için PK (Primary Key) tabanlı cursor sayfalama sistemini destekler.
GET /v2/tables/{tableName}/snapshot
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
limit |
Integer | Hayır | Dönecek maksimum kayıt sayısı (Varsayılan: 1000, Max: 10000). |
cursor |
String | Hayır * | Bir önceki yanıttan dönen nextCursor değeri. Snapshot'ta PK tabanlı ilerleme sağlar. (* Sayfalama için gereklidir) |
Değişen Kayıtlar (Incremental Sync)
BI verilerinizi güncel tutmanın en verimli yolu. Sadece son senkronizasyondan sonra eklenen veya güncellenen kayıtları döner.
Endpoint
GET /v2/tables/{tableName}/changes
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
limit |
Integer | Hayır | Dönecek maksimum kayıt sayısı (Varsayılan: 1000, Max: 10000). |
sinceDate |
String | Hayır | Moment.js tarafından desteklenen herhangi bir tarih formatı (Örn: 2025-01-01, 2025-01-01T00:00:00Z). Belirtilen tarihten sonraki verileri filtreler. |
cursor |
String | Hayır * | Bir önceki yanıttan dönen nextCursor değeri. Sayfalama için kullanılır. (* Sayfalama için gereklidir) |
Silinen Kayıtlar (Deleted Records)
Kaynaktan (Naeron) kalıcı olarak silinen (Hard Delete) verileri kendi sisteminizden temizlemek için bu endpoint'i kullanın.
GET /v2/tables/{tableName}/deleted
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
limit |
Integer | Hayır | Dönen kayıt sayısı (1-10000, Varsayılan: 1000). |
sinceDate |
String | Hayır | Belirli bir tarihten sonraki silinenleri almak için (Esnek format, Örn: 2025-01-01). |
cursor |
String | Hayır * | Bir sonraki veri kümesini almak için kullanılan Base64 imleç. (* Sayfalama için gereklidir) |
Hata Kodları (Error Codes)
API bir hata ile karşılaştığında standart bir JSON formatında yanıt döner. Bu yanıt error objesi altında code, message ve statusCode alanlarını içerir.
| Hata Kodu | HTTP Durumu | Açıklama |
|---|---|---|
MISSING_API_KEY |
401 | x-api-key başlığı (header) eksik. |
INVALID_API_KEY |
403 | Geçersiz veya inaktif API anahtarı. |
TABLE_NOT_FOUND |
404 | İstenen tablo mevcut değil veya erişime açık değil. |
INVALID_PARAM |
400 | Parametre formatı hatalı (Örn: geçersiz tarih formatı). |
INVALID_LIMIT |
400 | limit parametresi pozitif bir tam sayı değil. |
INVALID_CURSOR |
400 | cursor değeri bozuk veya süresi dolmuş. |
INCREMENTAL_NOT_SUPPORTED |
400 | İlgili tablo artımlı yüklemeyi (incremental) desteklemiyor. |
DATABASE_ERROR |
500 | Sunucu tarafında veritabanı hatası oluştu. |
EXTERNAL_API_ERROR |
500 | Harici veri kaynağından veri çekilirken hata oluştu. |
DATA_TRANSFORM_ERROR |
500 | Veri dönüştürme işlemi sırasında hata oluştu. |
V1 → V2 Migrasyon Rehberi (Migration Guide)
V1'den V2'ye geçiş son derece kolaydır. Kimlik doğrulama aynı kalmıştır, sadece URL ve yanıt formatı güncellenmelidir.
| Özellik | Legacy (V1) | Modern (V2) |
|---|---|---|
| Base URL | /v1 |
/v2 |
| Yanıt Formatı | Array [...] |
Object { meta, data } |
| Erişim Saatleri | 03:00 - 06:00 | 7/24 |
| Pagination | Yok | Cursor Based |
| Durum | Deprecated | Aktif |
Migrasyon Kontrol Listesi
/v2 olarak güncelleyin./snapshot, /changes).res.data içerisinden okuyun.RestBI API V1 (Legacy)
Bu sürüm artık geliştirilmemekte olup yakında kapatılacaktır.
V1 Giriş
V1 servisi, Naeron verilerine eski usul (tek seferde tüm veri) erişim sağlar.
Çalışma Saatleri
V1 sadece sunucu saatiyle 03:00 - 06:00 arasında veri döndürür.
Base URL: https://api.naeron.com:3110/v1
V1 Endpointler
GET /v1/tableNames- Tablo isimleriGET /v1/tables- Tüm tablolarGET /v1/tables/{tableName}- Tek tablo verisi
V1 Tablolar
| Tablo Adı | Açıklama |
|---|---|
| bi_students | Öğrenci Bilgileri |
| bi_employees | Personel Bilgileri |
| bi_flights | Uçuş Kayıtları |
| bi_aircrafts_simulators | Uçak ve Simülatörler |