Geliştiriciler · API v1.0.0
Sürüm Desteği ve Versiyonlama Politikası
Mevcut sürüm
| Güncel API sürümü | 1.0.0 |
| Base path | /api/v1 |
| Desteklenen en eski sürüm | 1.0.0 |
| Sürüm sorgulama | GET /api/v1/version ve her yanıtta X-NotiPilot-API-Version başlığı |
API sürüm durumu
| Sürüm | Base path | Durum | Destek sonu |
|---|---|---|---|
| 1.x | /api/v1 |
✅ Aktif | Belirlenmedi (v2 yayımlandıktan en az 12 ay sonra) |
| Sürümsüz (legacy) | /api/ |
⚠️ Uyumluluk için korunuyor, v1 ile birebir aynı davranır | v2 yayımlandığında duyurulacak |
Yeni entegrasyonlarda her zaman /api/v1 kullanın.
Versiyonlama kuralları
NotiPilot API'si Semantic Versioning (MAJOR.MINOR.PATCH) kullanır:
| Değişiklik türü | Örnek | Sürüm | Mobil uygulamada değişiklik gerekir mi? |
|---|---|---|---|
| PATCH | Hata düzeltmesi, performans iyileştirmesi | 1.0.0 → 1.0.1 |
Hayır |
| MINOR | Yeni opsiyonel alan, yeni endpoint, yanıta yeni alan eklenmesi | 1.0.x → 1.1.0 |
Hayır |
| MAJOR | Alan kaldırma/yeniden adlandırma, zorunlu alan ekleme, davranış değişikliği | 1.x → 2.0.0 |
Evet — yeni base path (/api/v2) |
Geriye dönük uyumluluk taahhüdü (aynı MAJOR sürüm içinde):
- Mevcut istek alanları kaldırılmaz, yeniden adlandırılmaz ve zorunlu hale getirilmez.
- Yanıtlara yeni alanlar eklenebilir; istemciler bilinmeyen alanları yok saymalıdır.
- Yeni
errorkodları eklenebilir; istemciler bilinmeyen kodları HTTP durum koduna göre ele almalıdır. - Yeni bir MAJOR sürüm yayımlandığında önceki MAJOR sürüm en az 12 ay desteklenmeye devam eder. Kullanımdan kaldırma, panel ve e-posta ile en az 6 ay önceden duyurulur.
Platform destek matrisi
NotiPilot API'si standart HTTPS + JSON kullandığı için HTTP isteği atabilen her istemci ile çalışır. Aşağıdaki tablo, rehberlerde anlatılan push bildirim akışının test edildiği ve desteklendiği sürümleri gösterir.
| Platform | Minimum | Önerilen | Push token yöntemi | Rehber |
|---|---|---|---|---|
| Expo | SDK 50 | Güncel SDK | expo-notifications → Expo Push Token |
expo.md |
| React Native (bare) | RN 0.74 | Güncel RN | expo-notifications (önerilen) veya Firebase Messaging + token dönüşümü |
react-native.md |
| Flutter | Flutter 3.22, Dart 3.4 | Güncel stable | firebase_messaging → Expo Push Token dönüşümü |
flutter.md |
| Ionic (Capacitor) | Capacitor 6, Ionic 7 | Güncel | @capacitor/push-notifications → Expo Push Token dönüşümü |
ionic.md |
| Firebase (FCM) | Android BoM 33, iOS SDK 10 | Güncel | FCM (Android) / APNs (iOS) token → Expo Push Token dönüşümü | firebase.md |
| Shopify mağaza uygulamaları | Storefront API 2025-01 |
Güncel API sürümü | Uygulamanın teknolojisine göre | shopify.md |
| Android (Java) | Android 6.0 (API 23), Java 11 | targetSdk 35+, Java 17 |
FCM → Expo Push Token dönüşümü | android.md |
| Kotlin | Android 6.0 (API 23), Kotlin 1.9 | targetSdk 35+, Kotlin 2.x |
FCM → Expo Push Token dönüşümü | kotlin.md |
| iOS (Objective-C) | iOS 13.0, Xcode 15 | iOS 15+ | APNs → Expo Push Token dönüşümü | ios.md |
| Swift | iOS 13.0, Swift 5.9, Xcode 15 | iOS 15+, Swift 6 | APNs → Expo Push Token dönüşümü | swift.md |
| Web / PWA | – | – | API platform: "web" değerini kabul eder, ancak 1.0.0'da web push teslimatı desteklenmez |
– |
Platforma özel notlar
- Android 13+ (API 33): Bildirim göstermek için
POST_NOTIFICATIONSçalışma zamanı izni zorunludur. - Android 8.0+ (API 26): Bildirimler kanal gerektirir. NotiPilot
defaultkanal ID'sini kullanır. - iOS: Push bildirimleri için ücretli Apple Developer hesabı, Push Notifications capability'si ve fiziksel cihaz gerekir. Debug build'ler APNs sandbox, TestFlight/App Store build'leri production ortamını kullanır.
- Expo Go: Uzaktan push bildirimleri Expo Go'da desteklenmez; development build kullanın.
Teslimat sağlayıcısı desteği (API 1.0.0)
provider |
Kayıt | Segmentlerde görünür | Bildirim teslimatı |
|---|---|---|---|
expo |
✅ | ✅ | ✅ Expo Push Service üzerinden |
fcm |
✅ | ✅ | ❌ Yol haritasında |
apns |
✅ | ✅ | ❌ Yol haritasında |
Native uygulamalar, rehberlerde anlatılan yöntemle FCM/APNs token'ını Expo Push Token'a dönüştürerek bugün tam teslimat desteği alabilir.
Değişiklik günlüğü
1.0.0 — Eylül 2026
- İlk kararlı sürüm.
/api/v1base path'i veGET /api/v1/versionendpoint'i eklendi. Sürümsüz/api/*adresleri uyumluluk için korunuyor.- Standart hata formatı:
success,error(makine tarafından okunabilir kod),message,errors(alan bazlı). app_idartık NotiPilot'ta kayıtlı olmalı; aksi halde404 unknown_app.- Alan doğrulamaları: tip ve uzunluk sınırları, attributes/tags limitleri.
attributesartık birleştirilerek güncellenir; gönderilmeyen anahtarlar silinmez. Anahtar silmek içinnullgönderin.- IP başına dakikada 300 istek rate limit (
429+Retry-After). - Her yanıtta
X-NotiPilot-API-Versionbaşlığı.