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éthode | Chemin | Objectif | Demande ou requête | Authentification | Source |
|---|---|---|---|---|---|
GET | /api/ | Réponse de l'application racine. | Aucun | Publique | app.controller.ts |
GET | /api/health | Sonde de vivacité. | Aucun | Publique | app.controller.ts |
GET | /api/healthz | Alias d’activité hérité. | Aucun | Publique | app.controller.ts |
GET | /api/ready | Sonde de préparation avec vérification de la base de données. | Aucun | Publique | app.controller.ts |
Indicateurs et surveillance
| Méthode | Chemin | Objectif | Demande ou requête | Authentification | Source |
|---|---|---|---|---|---|
GET | /api/feature-flags | Renvoie l’instantané actuel de l’indicateur de fonctionnalité. | Aucun | Publique | common/feature-flags.controller.ts |
GET | /api/monitoring/metrics | Renvoie le texte des métriques Prometheus. | Aucun | Publique | monitoring/monitoring.controller.ts |
GET | /api/monitoring/metrics/json | Renvoie les métriques JSON. | Aucun | Publique | monitoring/monitoring.controller.ts |
POST | /api/monitoring/frontend-errors | Ingérez les rapports d’erreurs du frontend. | Corps : charge utile d'erreur frontale | Publique | monitoring/monitoring.controller.ts |
Rapports de sécurité et pots de miel
| Méthode | Chemin | Objectif | Demande ou requête | Authentification | Source |
|---|---|---|---|---|---|
POST | /api/security/reports/ct | Recevez des rapports de transparence des certificats ou des rapports de sécurité similaires. | Corps : charge utile du rapport de sécurité | Publique | common/security/security-reports.controller.ts |
POST | /api/security/reports/csp | Recevez des rapports de violation CSP. | Corps : charge utile du rapport de sécurité | Publique | common/security/security-reports.controller.ts |
GET | /api/security/honeypot/admin-login | Parcours piège de détection d’abus. | Aucun | Publique | api-security/controllers/honeypot.controller.ts |
POST | /api/security/honeypot/submit | Route de soumission des pièges de détection d'abus. | Aucun | Publique | api-security/controllers/honeypot.controller.ts |
Demander des formes
Rapports d'erreurs frontaux
FrontendErrorReportDto
source: chaîne obligatoire, maximum 180 caractèresmessage: chaîne obligatoire, maximum 400 caractèresstack: chaîne facultative, maximum 10 000 caractèresurl: chaîne facultative, maximum 400 caractèresseverity:error|warn|infofacultatifdetails: objet facultatif
Rapports de sécurité
- Les points de terminaison du rapport de sécurité acceptent la forme de charge utile
SecurityReportDtodebackend-nestjs/src/common/security/dto/security-report.dto.ts. - Le contrôleur accepte les charges utiles de style
reportetcspReport.
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-errorsrenvoie202 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/healthet/api/readypour 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.