Aller au contenu principal

Référentiel UBSI 2026 - Documentation

Bienvenue dans la documentation de l'application Référentiel UBSI.

À propos

L'application Référentiel permet de gérer les données de référence de l'écosystème Fnac/Darty :

  • Produits : Catalogue complet avec EAN, catégories, prix, caractéristiques
  • Fournisseurs : Partenaires commerciaux avec statuts et informations contractuelles
  • Entrepôts : Sites de stockage et logistique avec capacités et spécialisations
  • Magasins : Points de vente avec types, services disponibles et caractéristiques
  • Relations : Gestion optimisée des relations fournisseur-produits (prix, délais, packaging)

Documentation disponible

Pour les intégrateurs et développeurs externes

Pour les développeurs de l'équipe

Liens utiles

API et Swagger

Applications

Fonctionnalités principales

Gestion complète du catalogue

  • CRUD complet sur tous les domaines métier (produits, fournisseurs, entrepôts, magasins)
  • Opérations en lot (batch update/delete) jusqu'à 500 éléments
  • Import JSON via fichiers
  • Soft-delete pour préserver l'historique

Recherche et filtrage avancés

  • Pagination : Toutes les listes supportent la pagination (1-100 items par page)
  • Tri multi-critères : Tri ascendant/descendant sur tous les champs pertinents
  • Recherche textuelle : Recherche full-text sur les champs principaux
  • Filtres MUI DataGrid : Filtrage avancé compatible avec les interfaces DataGrid
  • Filtres métier : Filtres spécifiques par catégorie, statut, marque, etc.
  • Sélection de champs : Récupérer uniquement les champs nécessaires

Relations optimisées

  • Gestion des relations fournisseur-produits avec table de jointure dédiée
  • Prix fournisseurs, délais de livraison, packaging, quantités minimales
  • Statuts de relation (actif, préféré, secours, etc.)
  • Extension de données via include parameter

Intégrité et qualité des données

  • Validation stricte des champs obligatoires
  • Contraintes d'unicité (EAN, codes fournisseurs)
  • Enums métier pour garantir la cohérence
  • Soft-delete pour l'intégrité référentielle
  • Timestamps automatiques (creation, modification)

Architecture technique

Stack

  • Backend : NestJS (TypeScript) + PostgreSQL + drizzle-orm
  • Frontend : React + Vite + Material-UI (MUI)
  • Infrastructure : Docker + Nginx (reverse proxy)
  • Documentation : Docusaurus + Swagger/OpenAPI

API Design

  • REST : Conventions RESTful strictes
  • JSON : Format d'échange unique
  • Pagination : Réponses paginées pour les gros volumes
  • Versionning : Préfixe /api/publique/ pour isolation
  • Documentation : Auto-générée via decorators Swagger

Base de données

  • PostgreSQL : SGBD relationnel
  • Migrations : Gérées par drizzle-kit
  • ORM : drizzle-orm avec DrizzleService pour CRUD standardisé
  • Soft-delete : Suppression logique pour toutes les entités

Démarrage rapide

Pour intégrer l'API dans votre application

  1. Consultez le Guide d'intégration pour les cas d'usage courants
  2. Explorez la Référence API pour les détails des endpoints
  3. Référez-vous aux Schémas pour les structures de données
  4. Testez vos appels via le Swagger UI

Exemple minimal

// Configuration
const API_BASE = 'https://referentiel.staging.ubsi.fr/api/publique';

// Récupérer tous les produits actifs
const produits = await fetch(`${API_BASE}/produits?statutProduit=actif`).then(
(res) => res.json()
);

// Créer un nouveau produit
const nouveauProduit = await fetch(`${API_BASE}/produits`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
ean: '1234567890123',
nom: 'Nouveau produit',
prixDeVenteCents: 15000,
}),
}).then((res) => res.json());

Support et contact

Pour toute question ou problème :

  • Consultez la documentation complète dans cette section
  • Testez vos endpoints via le Swagger UI
  • Référez-vous aux exemples dans le guide d'intégration

Note: Cette documentation est maintenue à jour avec les évolutions de l'API. Dernière mise à jour : Janvier 2026.