Aller au contenu principal
Was this helpful?

Plateforme API

Plateforme et surface d'exécution

Sondes d'intégrité, indicateurs de fonctionnalités, surveillance et ingestion de rapports de sécurité

Ces points de terminaison se situent en dehors des contrôleurs de produit principaux et prennent en charge l'état d'exécution, les métriques, télémétrie client, indicateurs de fonctionnalités publiques et ingestion de rapports de sécurité.

Itinéraires principalement publicsSanté et préparationMétriques PrometheusRapports de sécurité

Source

  • Contrôleur d'application : backend-nestjs/src/app.controller.ts
  • Contrôleur d'indicateurs de fonctionnalités : backend-nestjs/src/common/feature-flags.controller.ts
  • Contrôleur de surveillance : backend-nestjs/src/monitoring/monitoring.controller.ts
  • Contrôleur des rapports de sécurité : backend-nestjs/src/common/security/security-reports.controller.ts
  • Contrôleur de pot de miel : backend-nestjs/src/api-security/controllers/honeypot.controller.ts
  • DTO : backend-nestjs/src/monitoring/dto/frontend-error-report.dto.ts, backend-nestjs/src/common/security/dto/security-report.dto.ts

Authentification et portée

  • Tous les points de terminaison de cette page sont publics.
  • Ces routes sont orientées vers l'infrastructure ou vers la détection d'abus, et non des API de fonctionnalités pour l'utilisateur final.
  • La création et la gestion de la clé API de l'utilisateur sont documentées dans Authentication API.

Référence du point de terminaison

Santé et disponibilité

MéthodeCheminObjectifDemande ou requêteAuthentificationSource
GET/api/Réponse de l'application racine.AucunPubliqueapp.controller.ts
GET/api/healthSonde de vivacité.AucunPubliqueapp.controller.ts
GET/api/healthzAlias ​​d’activité hérité.AucunPubliqueapp.controller.ts
GET/api/readySonde de préparation avec vérification de la base de données.AucunPubliqueapp.controller.ts

Indicateurs et surveillance

MéthodeCheminObjectifDemande ou requêteAuthentificationSource
GET/api/feature-flagsRenvoie l’instantané actuel de l’indicateur de fonctionnalité.AucunPubliquecommon/feature-flags.controller.ts
GET/api/monitoring/metricsRenvoie le texte des métriques Prometheus.AucunPubliquemonitoring/monitoring.controller.ts
GET/api/monitoring/metrics/jsonRenvoie les métriques JSON.AucunPubliquemonitoring/monitoring.controller.ts
POST/api/monitoring/frontend-errorsIngérez les rapports d’erreurs du frontend.Corps : charge utile d'erreur frontalePubliquemonitoring/monitoring.controller.ts

Rapports de sécurité et pots de miel

MéthodeCheminObjectifDemande ou requêteAuthentificationSource
POST/api/security/reports/ctRecevez des rapports de transparence des certificats ou des rapports de sécurité similaires.Corps : charge utile du rapport de sécuritéPubliquecommon/security/security-reports.controller.ts
POST/api/security/reports/cspRecevez des rapports de violation CSP.Corps : charge utile du rapport de sécuritéPubliquecommon/security/security-reports.controller.ts
GET/api/security/honeypot/admin-loginParcours piège de détection d’abus.AucunPubliqueapi-security/controllers/honeypot.controller.ts
POST/api/security/honeypot/submitRoute de soumission des pièges de détection d'abus.AucunPubliqueapi-security/controllers/honeypot.controller.ts

Demander des formes

Rapports d'erreurs frontaux

FrontendErrorReportDto

  • source : chaîne obligatoire, maximum 180 caractères
  • message : chaîne obligatoire, maximum 400 caractères
  • stack : chaîne facultative, maximum 10 000 caractères
  • url : chaîne facultative, maximum 400 caractères
  • severity : error|warn|info facultatif
  • details : objet facultatif

Rapports de sécurité

  • Les points de terminaison du rapport de sécurité acceptent la forme de charge utile SecurityReportDto de backend-nestjs/src/common/security/dto/security-report.dto.ts.
  • Le contrôleur accepte les charges utiles de style report et cspReport.

Exemples d'appels

Préparation à la lecture

curl "$PRIMECAL_API/api/ready"

Récupérer les indicateurs de fonctionnalité

curl "$PRIMECAL_API/api/feature-flags"

Soumettre une erreur frontend

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"
}'

Notes de réponse et de comportement

  • POST /api/monitoring/frontend-errors renvoie 202 Accepted.
  • Les points de terminaison du rapport de sécurité renvoient 204 No Content.
  • Les indicateurs de fonctionnalités sont intentionnellement publics afin que le frontend puisse façonner les flux de pré-connexion.

Meilleures pratiques

  • Utilisez /api/health et /api/ready pour les sondes de déploiement et d'équilibrage de charge, pas pour les tableaux de bord destinés aux clients.
  • Protégez la confidentialité des charges utiles d’erreur frontale. Ne divulguez pas de jetons, d'adresses e-mail ou de secrets bruts dans details.
  • Traitez les itinéraires des pots de miel uniquement comme des signaux d'abus internes. Il ne s'agit pas d'API de produit à documenter pour les utilisateurs finaux.
  • Séparez les problèmes d’observabilité de la logique du produit chez les clients. Ces itinéraires doivent généralement résider dans les couches du SDK de la plate-forme, et non dans les modules de fonctionnalités.