Documentation API
Cette page documente toutes les routes API disponibles pour le projet Mon Texam Site.
Événements Socket.IO
| Événement | Description | Données |
|---|---|---|
join-reunion-host | Émis par le vendeur pour rejoindre une réunion | reunionId: string |
join-reunion-client | Émis par un client pour rejoindre une réunion | { reunionId: string, clientInfo: object } |
update-cart | Émis par un client pour mettre à jour son panier | { reunionId: string, cart: array } |
validate-cart | Émis par un client pour valider son panier | { reunionId: string, comment?: string } |
close-reunion | Émis par le vendeur pour clôturer une réunion | reunionId: string |
reunion-data | Reçu par le vendeur avec les données de la réunion | reunion: object |
reunion-status | Reçu par le client avec le statut de la réunion | status: string |
client-joined | Reçu par le vendeur quand un client rejoint | clientData: object |
cart-updated | Reçu par le vendeur quand un panier est mis à jour | { clientId: string, cart: array } |
cart-validated | Reçu par le vendeur quand un panier est validé | { clientId: string, comment?: string } |
reunion-closed | Reçu par les clients quand la réunion est clôturée | - |
client-disconnected | Reçu par le vendeur quand un client se déconnecte | { clientId: string, status: string } |
survey-submitted | Reçu par le vendeur quand un questionnaire est soumis | { reunionId: string, timestamp: string } |
Modèles de données
Réunion
Structure d'une réunion dans Redis
{
"id": "reunion-123",
"status": "active|terminee",
"clients": [
{
"id": "client-456",
"info": {
"name": "Alice",
"email": "alice@example.com"
},
"cart": [
{
"productId": "prod-789",
"quantity": 2
}
],
"status": "en_cours|valide|non_finalise",
"joinedAt": "2023-04-01T14:30:00Z",
"validatedAt": "2023-04-01T15:00:00Z",
"disconnectedAt": "2023-04-01T15:30:00Z"
}
],
"createdAt": "2023-04-01T14:00:00Z",
"closedAt": "2023-04-01T16:00:00Z"
}Questionnaire
Structure d'un questionnaire de satisfaction
{
"overallRating": 4,
"comment": "Très bonne expérience",
"explanationClarity": "Très claires",
"hostSupport": "Oui, très bien",
"discoveredNewProduct": "Oui",
"productQuality": "Bonne",
"futureParticipation": "Oui, avec plaisir",
"suggestion": "Plus de démonstrations",
"recommendationScore": 9,
"timestamp": "2023-04-01T15:30:00Z"
}Codes d'erreur
| Code HTTP | Description | Exemple |
|---|---|---|
| 200 OK | La requête a réussi | { "success": true } |
| 400 Bad Request | Paramètres manquants ou invalides | { "message": "Données manquantes" } |
| 403 Forbidden | Accès refusé (ex: réunion terminée) | { "message": "Cette réunion est terminée" } |
| 404 Not Found | Ressource non trouvée | { "message": "Réunion non trouvée" } |
| 500 Internal Server Error | Erreur serveur | { "message": "Erreur serveur" } |
