Zum Hauptinhalt springen
Was this helpful?

Plattform API

Plattform und Laufzeitoberfläche

Gesundheitstests, Funktionsflags, Überwachung und Aufnahme von Sicherheitsberichten

Diese Endpunkte befinden sich außerhalb der Kernproduktcontroller und unterstützen Laufzeitzustand, Metriken, Client-Telemetrie, Flags für öffentliche Funktionen und Aufnahme von Sicherheitsberichten.

Überwiegend öffentliche StreckenGesundheit und BereitschaftPrometheus-MetrikenSicherheitsberichte

Quelle

  • App-Controller: backend-nestjs/src/app.controller.ts
  • Feature-Flags-Controller: backend-nestjs/src/common/feature-flags.controller.ts
  • Überwachungscontroller: backend-nestjs/src/monitoring/monitoring.controller.ts
  • Controller für Sicherheitsberichte: backend-nestjs/src/common/security/security-reports.controller.ts
  • Honeypot-Controller: backend-nestjs/src/api-security/controllers/honeypot.controller.ts
  • DTOs: backend-nestjs/src/monitoring/dto/frontend-error-report.dto.ts, backend-nestjs/src/common/security/dto/security-report.dto.ts

Authentifizierung und Umfang

  • Alle Endpunkte auf dieser Seite sind öffentlich.
  • Diese Routen sind auf die Infrastruktur oder die Missbrauchserkennung ausgerichtet und nicht auf Endbenutzer-Funktions-APIs.
  • Die Erstellung und Verwaltung des Benutzerschlüssels API ist in Authentication API dokumentiert.

Endpunktreferenz

Gesundheit und Verfügbarkeit

MethodePfadZweckAnfrage oder AnfrageAuthQuelle
GET/api/Antwort der Root-App.KeineÖffentlichapp.controller.ts
GET/api/healthLebendigkeitssonde.KeineÖffentlichapp.controller.ts
GET/api/healthzLegacy-Liveness-Alias.KeineÖffentlichapp.controller.ts
GET/api/readyBereitschaftsprüfung mit DB-Prüfung.KeineÖffentlichapp.controller.ts

Flags und Überwachung

MethodePfadZweckAnfrage oder AnfrageAuthQuelle
GET/api/feature-flagsGibt den aktuellen Feature-Flag-Snapshot zurück.KeineÖffentlichcommon/feature-flags.controller.ts
GET/api/monitoring/metricsPrometheus-Metriktext zurückgeben.KeineÖffentlichmonitoring/monitoring.controller.ts
GET/api/monitoring/metrics/jsonGibt JSON-Metriken zurück.KeineÖffentlichmonitoring/monitoring.controller.ts
POST/api/monitoring/frontend-errorsFrontend-Fehlerberichte aufnehmen.Text: Frontend-FehlernutzlastÖffentlichmonitoring/monitoring.controller.ts

Sicherheitsberichte und Honeypots

MethodePfadZweckAnfrage oder AnfrageAuthQuelle
POST/api/security/reports/ctErhalten Sie Zertifikatstransparenz- oder ähnliche Sicherheitsberichte.Text: Nutzlast des SicherheitsberichtsÖffentlichcommon/security/security-reports.controller.ts
POST/api/security/reports/cspErhalten Sie Berichte über CSP-Verstöße.Text: Nutzlast des SicherheitsberichtsÖffentlichcommon/security/security-reports.controller.ts
GET/api/security/honeypot/admin-loginRoute zur Missbrauchserkennungsfalle.KeineÖffentlichapi-security/controllers/honeypot.controller.ts
POST/api/security/honeypot/submitÜbermittlungsroute für Missbrauchserkennungsfallen.KeineÖffentlichapi-security/controllers/honeypot.controller.ts

Fordern Sie Formen an

Frontend-Fehlerberichte

FrontendErrorReportDto

  • source: erforderliche Zeichenfolge, maximal 180 Zeichen
  • message: erforderliche Zeichenfolge, maximal 400 Zeichen
  • stack: optionale Zeichenfolge, maximal 10.000 Zeichen
  • url: optionale Zeichenfolge, maximal 400 Zeichen
  • severity: optional error|warn|info
  • details: optionales Objekt

Sicherheitsberichte

  • Sicherheitsberichtsendpunkte akzeptieren die Nutzlastform SecurityReportDto von backend-nestjs/src/common/security/dto/security-report.dto.ts.
  • Der Controller akzeptiert Nutzlasten im Stil report und cspReport.

Beispielanrufe

Bereitschaft lesen

curl "$PRIMECAL_API/api/ready"

Funktionsflags abrufen

curl "$PRIMECAL_API/api/feature-flags"

Senden Sie einen Frontend-Fehler

curl -X POST "$PRIMECAL_API/api/monitoring/frontend-errors" \
-H "Content-Type: application/json" \
-d '{
"source": "calendar-view",
"message": "Week view render failed",
"severity": "error",
"url": "https://app.primecal.eu/app"
}'

Hinweise zu Reaktion und Verhalten

  • POST /api/monitoring/frontend-errors gibt 202 Accepted zurück.
  • Sicherheitsberichtsendpunkte geben 204 No Content zurück.
  • Feature-Flags sind absichtlich öffentlich, damit das Frontend Abläufe vor der Anmeldung gestalten kann.

Best Practices

  • Verwenden Sie /api/health und /api/ready für Bereitstellungs- und Lastausgleichstests, nicht für kundenorientierte Dashboards.
  • Schützen Sie die Privatsphäre der Frontend-Fehlernutzlasten. Geben Sie keine Token, E-Mail-Adressen oder Rohgeheimnisse in details preis.
  • Behandeln Sie Honeypot-Routen nur als interne Missbrauchssignale. Es handelt sich nicht um Produkt-APIs, die für Endbenutzer dokumentiert werden müssen.
  • Trennen Sie Beobachtbarkeitsbedenken von der Produktlogik in Clients. Diese Routen sollten normalerweise in Plattform-SDK-Ebenen und nicht in Funktionsmodulen vorhanden sein.