📘 Documentation API – Signalement d'Anomalies du Portail Clients du CAM
1. Introduction​
Bienvenue dans la documentation de l’API de Signalement d'Anomalies du Portail Clients du CAM.
- Objectif : Fournir un contrat clair pour le signalement d'anomalies (bugs, erreurs) depuis le portail client.
- Audience : Développeurs front-end.
- Version :
v1
2. Informations Générales​
- Base URL :
https://[URL_DE_BASE_DE_VOTRE_API]/ - Protocoles : HTTPS
- Format : JSON
- Authentification : Bearer Token (JWT)
3. Authentification​
L'accès aux points de terminaison de signalement d'anomalies nécessite un jeton d'authentification valide. Le jeton doit être inclus dans l'en-tête Authorization de chaque requête.
Headers :
Authorization: Bearer <token>
4. Endpoints Anomalies​
Cette section détaille les points de terminaison spécifiques au signalement d'anomalies.
📄 Récupérer les informations pour le formulaire de signalement​
Récupère les données nécessaires à l'initialisation du formulaire de signalement, comme la version de l'application et la liste des types de problèmes possibles.
GET /api/app/anomalie/anomalie-form-info
Headers :
Authorization: Bearer <token>
Réponse (200 OK) :
{
"appVersion": "1.0.0.0",
"typesProblèmes": [
"Bug d'affichage",
"Erreur fonctionnelle",
"Problème de performance",
"Autre"
]
}
📧 Signaler une nouvelle anomalie​
Envoie les détails d'une anomalie détectée par l'utilisateur. Le système enverra ensuite un courriel de notification à l'équipe de support.
POST /api/app/anomalie/report
Headers :
Authorization: Bearer <token>
Body (SubmitAnomalieDto):
{
"typeProbleme": "Bug d'affichage",
"urlPageConcernee": "/accueil",
"urlExacte": "https://[URL_DE_BASE]/accueil?param=1",
"description": "Le logo principal ne s'affiche pas correctement sur la page d'accueil.",
"dateHeureSignalement": "2025-07-22T10:30:00Z",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
"navigateur": "Chrome",
"systemeExploitation": "Windows 10",
"appVersion": "1.0.0.0"
}
Réponse (204 No Content) :
Une réponse réussie n'a pas de contenu.
5. Modèles de Données​
AnomalieFormInfoDto​
Représente les informations nécessaires pour initialiser le formulaire de signalement.
| Champ | Type | Description |
|---|---|---|
appVersion | string (nullable) | La version actuelle de l'application. |
typesProblèmes | array de string | Une liste des types de problèmes prédéfinis sélectionnables par l'utilisateur. |
SubmitAnomalieDto​
Représente les données soumises par l'utilisateur lors du signalement d'une anomalie.
| Champ | Type | Description |
|---|---|---|
typeProbleme | string (nullable) | Le type de problème sélectionné. |
urlPageConcernee | string (nullable) | L'URL de la page où l'anomalie a été constatée. |
urlExacte | string (nullable) | L'URL exacte, incluant les paramètres de la requête. |
description | string (nullable) | Description détaillée de l'anomalie fournie par l'utilisateur. |
dateHeureSignalement | string (date-time) | La date et l'heure (UTC) auxquelles l'anomalie a été signalée. |
userAgent | string (nullable) | La chaîne User-Agent du navigateur du client. |
navigateur | string (nullable) | Le nom du navigateur détecté. |
systemeExploitation | string (nullable) | Le système d'exploitation détecté. |
appVersion | string (nullable) | La version de l'application au moment du signalement. |
6. Gestion des Erreurs​
| Code HTTP | Signification | Détail |
|---|---|---|
| 204 | Succès (No Content) | Le signalement a été accepté. |
| 401 | Non autorisé | Token invalide, manquant ou expiré. |
| 403 | Interdit | L'utilisateur n'a pas la permission requise pour l'opération. |
| 500 | Erreur serveur | Une erreur interne est survenue (ex: échec de l'envoi du courriel). |
7. Sécurité​
- Toutes les requêtes doivent être en HTTPS.
- Utilisation de tokens JWT pour l'authentification.
- Les données soumises sont validées et nettoyées côté serveur.
8. Changelog​
v1.0.0 (Date de création)
- Création des endpoints pour récupérer les informations du formulaire (
GET) et pour soumettre un rapport d'anomalie (POST).
9. Annexes​
- 🔗 Swagger UI : https://[URL_DE_BASE_DE_VOTRE_API]/swagger/index.html
- 📦 Postman Collection : PortailClients API.postman_collection.json
- 📧 Contact support : // TODO