Entwickler · API v1.0.0
Versionsunterstützung und Versionierungsrichtlinie
Aktuelle Version
| Aktuelle API-Version | 1.0.0 |
| Base path | /api/v1 |
| Älteste unterstützte Version | 1.0.0 |
| Versionsabfrage | GET /api/v1/version sowie der Header X-NotiPilot-API-Version in jeder Antwort |
Status der API-Versionen
| Version | Base path | Status | Supportende |
|---|---|---|---|
| 1.x | /api/v1 |
✅ Aktiv | Noch nicht festgelegt (frühestens 12 Monate nach Veröffentlichung von v2) |
| Unversioniert (Legacy) | /api/ |
⚠️ Aus Kompatibilitätsgründen beibehalten, verhält sich exakt wie v1 | Wird mit der Veröffentlichung von v2 bekannt gegeben |
Verwenden Sie für neue Integrationen immer /api/v1.
Versionierungsregeln
Die NotiPilot-API folgt Semantic Versioning (MAJOR.MINOR.PATCH):
| Art der Änderung | Beispiel | Version | Ist eine Anpassung der mobilen App nötig? |
|---|---|---|---|
| PATCH | Fehlerbehebung, Performance-Verbesserung | 1.0.0 → 1.0.1 |
Nein |
| MINOR | Neues optionales Feld, neuer Endpoint, neues Feld in der Antwort | 1.0.x → 1.1.0 |
Nein |
| MAJOR | Entfernen/Umbenennen eines Felds, neues Pflichtfeld, geändertes Verhalten | 1.x → 2.0.0 |
Ja — neuer Base path (/api/v2) |
Zusage zur Abwärtskompatibilität (innerhalb derselben MAJOR-Version):
- Bestehende Request-Felder werden weder entfernt noch umbenannt noch zu Pflichtfeldern gemacht.
- Antworten können neue Felder erhalten; Clients müssen unbekannte Felder ignorieren.
- Neue
error-Codes können hinzukommen; Clients sollten unbekannte Codes anhand des HTTP-Statuscodes behandeln. - Nach Veröffentlichung einer neuen MAJOR-Version wird die vorherige MAJOR-Version mindestens 12 Monate weiter unterstützt. Eine Abkündigung wird mindestens 6 Monate im Voraus über das Dashboard und per E-Mail angekündigt.
Plattform-Supportmatrix
Da die NotiPilot-API auf Standard-HTTPS + JSON basiert, funktioniert sie mit jedem Client, der HTTP-Requests senden kann. Die folgende Tabelle zeigt die Versionen, mit denen der in den Leitfäden beschriebene Push-Benachrichtigungsablauf getestet und unterstützt wird.
| Plattform | Minimum | Empfohlen | Push-Token-Methode | Leitfaden |
|---|---|---|---|---|
| Expo | SDK 50 | Aktuelles SDK | expo-notifications → Expo Push Token |
expo.md |
| React Native (bare) | RN 0.74 | Aktuelles RN | expo-notifications (empfohlen) oder Firebase Messaging + Token-Konvertierung |
react-native.md |
| Flutter | Flutter 3.22, Dart 3.4 | Aktuelles Stable | firebase_messaging → Konvertierung in Expo Push Token |
flutter.md |
| Ionic (Capacitor) | Capacitor 6, Ionic 7 | Aktuell | @capacitor/push-notifications → Konvertierung in Expo Push Token |
ionic.md |
| Firebase (FCM) | Android BoM 33, iOS SDK 10 | Aktuell | FCM- (Android) / APNs-Token (iOS) → Konvertierung in Expo Push Token | firebase.md |
| Shopify-Shop-Apps | Storefront API 2025-01 |
Aktuelle API-Version | Abhängig von der Technologie der App | shopify.md |
| Android (Java) | Android 6.0 (API 23), Java 11 | targetSdk 35+, Java 17 |
FCM → Konvertierung in Expo Push Token | android.md |
| Kotlin | Android 6.0 (API 23), Kotlin 1.9 | targetSdk 35+, Kotlin 2.x |
FCM → Konvertierung in Expo Push Token | kotlin.md |
| iOS (Objective-C) | iOS 13.0, Xcode 15 | iOS 15+ | APNs → Konvertierung in Expo Push Token | ios.md |
| Swift | iOS 13.0, Swift 5.9, Xcode 15 | iOS 15+, Swift 6 | APNs → Konvertierung in Expo Push Token | swift.md |
| Web / PWA | – | – | Die API akzeptiert den Wert platform: "web", die Zustellung von Web Push wird in 1.0.0 jedoch nicht unterstützt |
– |
Plattformspezifische Hinweise
- Android 13+ (API 33): Zum Anzeigen von Benachrichtigungen ist die Laufzeitberechtigung
POST_NOTIFICATIONSerforderlich. - Android 8.0+ (API 26): Benachrichtigungen benötigen einen Kanal. NotiPilot verwendet die Kanal-ID
default. - iOS: Für Push-Benachrichtigungen sind ein kostenpflichtiger Apple-Developer-Account, die Capability Push Notifications und ein physisches Gerät erforderlich. Debug-Builds nutzen die APNs-Sandbox, TestFlight-/App-Store-Builds die Production-Umgebung.
- Expo Go: Remote-Push-Benachrichtigungen werden in Expo Go nicht unterstützt; verwenden Sie einen Development Build.
Unterstützung der Zustellungsanbieter (API 1.0.0)
provider |
Registrierung | In Segmenten sichtbar | Zustellung von Benachrichtigungen |
|---|---|---|---|
expo |
✅ | ✅ | ✅ Über den Expo Push Service |
fcm |
✅ | ✅ | ❌ Auf der Roadmap |
apns |
✅ | ✅ | ❌ Auf der Roadmap |
Native Apps erhalten schon heute volle Zustellungsunterstützung, indem sie den FCM-/APNs-Token mit der in den Leitfäden beschriebenen Methode in einen Expo Push Token konvertieren.
Änderungsprotokoll
1.0.0 — September 2026
- Erste stabile Version.
- Base path
/api/v1und EndpointGET /api/v1/versionhinzugefügt. Die unversionierten Adressen/api/*bleiben aus Kompatibilitätsgründen erhalten. - Einheitliches Fehlerformat:
success,error(maschinenlesbarer Code),message,errors(feldbezogen). app_idmuss nun bei NotiPilot registriert sein; andernfalls404 unknown_app.- Feldvalidierungen: Typ- und Längenbeschränkungen, Limits für Attributes/Tags.
attributeswerden nun zusammengeführt aktualisiert; nicht gesendete Schlüssel werden nicht gelöscht. Um einen Schlüssel zu löschen, senden Sienull.- Rate Limit von 300 Requests pro Minute und IP (
429+Retry-After). - Header
X-NotiPilot-API-Versionin jeder Antwort.