4.4 KiB
API-Abdeckung – Snapshot 0.1.0-alpha.5
HTTP-Publish-Endpunkte liefern nach Outbox-Commit 202 mit receipt.id.
Idempotency-Key dedupliziert pro Quelle/Kanal. Details: OPERATIONS.md.
Ingress
| Oberfläche | Stand | Hinweise |
|---|---|---|
| ntfy POST/PUT Text | funktionsfähig | /ntfy/{topic} und /in/ntfy/{topic} |
| ntfy JSON Publish | funktionsfähig | /ntfy und /in/ntfy, topic erforderlich |
| ntfy GET Trigger | funktionsfähig | trigger, send, publish |
| ntfy Auth | Basis | Bearer; Basic-Password wird als Topic-Token geprüft |
| Gotify POST message | funktionsfähig | /message und /in/gotify/message; Token via Query/Header/Bearer |
| Gotify vollständige Response-/Extras-Kompatibilität | geplant | M2 |
| Webhook JSON/Form/Text | funktionsfähig | /in/webhook/{channel} |
Zusätzliche Ausgänge (Provider-Erweiterung)
| Provider | Stand | Umfang |
|---|---|---|
| Discord | implementiert | Execute Webhook, Text, wait=true, keine Mentions, Dry-Run |
| HTTP-Webhook | implementiert | POST JSON, optional Bearer-Token, Timeout, Dry-Run |
| SMTP | implementiert | TLS/STARTTLS, MIME-Text, Plain-Auth |
| ntfy / Gotify | implementiert | JSON-Publish bzw. POST message mit App-Token |
| IMAP-Eingang | implementiert | TLS, UID-/UIDVALIDITY-Checkpoint, MIME-Text |
| Discord-Eingang | implementiert | POST /in/discord, signierte Slash-Commands und PING |
Konfiguration: outbounds[]; Regeln referenzieren einen Ausgang über outbound_id
und target: discord|webhook|smtp|ntfy|gotify. Administration über GET/PUT /ui/api/config,
Vorschau über POST /ui/api/preview.
Betrieb und Administration
| Endpunkt | Funktion |
|---|---|
GET /readyz |
SQLite-Erreichbarkeit |
GET /metrics |
Prometheus-Zustandsmetriken; Metrics-Bearer-Token oder Admin-Session |
GET /ui/api/csrf |
CSRF-Token für schreibende Admin-Aufrufe |
GET /ui/api/deliveries?offset=0 |
Zustellhistorie, 50 Einträge je Seite, Zähler und Mail-Abrufstatus |
GET /ui/api/deliveries/{id}/attempts |
Letzte 200 Versuchsereignisse |
POST /ui/api/deliveries/{id}/retry |
Nur fehlgeschlagene Aufträge erneut versuchen |
Divera247 v2
kind ist alarms, news oder events, soweit die jeweilige Operation von Divera247 dokumentiert ist.
| Operation | Client-Methode | Stand |
|---|---|---|
| Liste | List |
implementiert |
| Erstellen | Create |
implementiert, durch Mapping genutzt |
| Einzelobjekt | Get |
implementiert |
| Bearbeiten | Update |
implementiert |
| Löschen | Delete |
implementiert |
| Archivieren | Archive |
implementiert |
| Als gelesen markieren | Read |
implementiert |
| Rückmeldung | Confirm |
implementiert |
| Reichweite | Reach |
implementiert |
| Rückmeldungen zurücksetzen | ResetResponses |
implementiert |
| PDF/Download | Download |
implementiert |
| Anhang | AddAttachment |
implementiert |
Alarm-Liste inkl. closed |
AlarmList |
implementiert |
| Alarm schließen/öffnen | CloseAlarm |
implementiert |
| Event ICS | EventICS |
implementiert |
| Pull All | PullAll |
implementiert |
| Pull Vehicle Status | PullVehicleStatus |
implementiert |
| beliebiger API-Pfad | Request |
implementiert (Escape Hatch) |
Divera247 v3
Die offizielle v3-Spezifikation ist als Beta gekennzeichnet. GET /api/v3/user-cluster-relations ist als ListUserClusterRelations typisiert, wird für die WebUI aber nur noch als Fallback verwendet. Ein gültiger v2-Accesskey kann für v3 trotzdem HTTP 403 erhalten. Primäre Personenquelle ist daher GET /api/v2/pull/all: data.ucr liefert die erreichbaren User-Cluster-Relationen/Einheiten und data.cluster.consumer die Benutzer-Stammdaten der jeweils aktiven Einheit. Das Gateway lädt bei Mehrfacheinheiten die einzelnen UCRs über den v2-Parameter ucr und bewahrt die numerischen Consumer-Keys als UCR-IDs für gezielte Alarmierung.
Quellenbasis der Implementierung
- Divera247 interaktive API:
https://api.divera247.com/ - Divera247 OpenAPI v2 Alarm:
https://api.divera247.com/docs/api_v2_alarm.yaml - Divera247 OpenAPI v2 News:
https://api.divera247.com/docs/api_v2_news.yaml - Divera247 OpenAPI v2 Event:
https://api.divera247.com/docs/api_v2_event.yaml - Divera247 OpenAPI v2 Pull:
https://api.divera247.com/docs/api_v2_pull.yaml - Divera247 OpenAPI v3:
https://api.divera247.com/docs/api_v3.yaml - ntfy Publish API:
https://docs.ntfy.sh/publish/ - Gotify API:
https://gotify.net/api-docs