Aller au contenu principal

Documentation API UBSI

Bienvenue dans la documentation de l'API UBSI ! Cette API fournit des endpoints pour gérer les produits, les réapprovisionnements, les stocks, la synchronisation et les services d'intercom.

Vue d'ensemble

L'API UBSI est construite avec NestJS et utilise Swagger pour la documentation interactive. Elle intègre plusieurs microservices via Kong API Gateway pour l'authentification et le routage.

URL de base : http://localhost:3000 (ou votre domaine configuré)
Interface Swagger : http://localhost:3000/api/swagger
JSON Swagger : http://localhost:3000/api/swagger/json
YAML Swagger : http://localhost:3000/api/swagger/yaml

Authentification

L'API utilise Kong API Gateway pour l'authentification et le routage. Toutes les requêtes vers les services externes passent par Kong avec les en-têtes d'authentification appropriés.

Fonctionnalités principales

  • Gestion des produits : Recherche, filtrage et pagination du catalogue de produits
  • Commandes de réapprovisionnement : Création, mise à jour et gestion des commandes de réapprovisionnement
  • Surveillance des stocks : Niveaux de stock en temps réel par magasin
  • Opérations de synchronisation : Déclenchement et surveillance de la synchronisation référentiel
  • Surveillance de santé : Ping et vérifications de statut pour tous les microservices

Codes de statut HTTP

L'API utilise les codes de statut HTTP standard :

  • 200 OK : Requête réussie
  • 201 Created : Ressource créée avec succès
  • 204 No Content : Requête réussie sans contenu
  • 400 Bad Request : Données de requête invalides
  • 404 Not Found : Ressource non trouvée
  • 500 Internal Server Error : Erreur serveur

Format de réponse d'erreur

{
"statusCode": 400,
"message": "Échec de la validation",
"error": "Bad Request",
"details": [
{
"field": "sku",
"message": "Le SKU est requis"
}
]
}

Limitation de débit

L'API implémente la limitation de débit via Kong API Gateway. Veuillez vous référer à votre configuration Kong pour les limites spécifiques.

CORS

CORS est activé et configuré via les variables d'environnement. La configuration par défaut autorise toutes les origines (*).

Développement

Exécution de l'API localement

  1. Installer les dépendances :
npm install
  1. Configurer les variables d'environnement :
cp .env.example .env
# Éditer .env avec votre configuration
  1. Exécuter les migrations de base de données :
npm run db:migrate
  1. Démarrer le serveur de développement :
npm run start:dev

Tests

Exécuter les tests avec :

npm run test
npm run test:e2e

Documentation Swagger

Une fois le serveur démarré, visitez http://localhost:3000/api/swagger pour la documentation interactive de l'API.

Support

Pour le support API et les questions, veuillez contacter l'équipe de développement ou créer un problème dans le dépôt du projet.