API Articles

Endpoints de gestion des articles du catalogue. Voir Collections articles pour le schéma complet.

Tous les endpoints requièrent une authentification (authMiddleware).

GET /api/articles/search

Recherche des articles par référence, EAN, marque ou alias, avec prix calculé (prix net ou public selon le contexte) et stock agrégé par dépôt.

Paramètres de requête

Paramètre Type Requis Description

reference

string

(1)

Recherche partielle sur la référence normalisée

brand

string

(1)

Recherche sur le nom de marque

ean

string

(1)

Recherche par code EAN

alias

string

(1)

Recherche sur les alias de l’article

company

ObjectId

Oui

Tenant courant

archetype

ObjectId

Non

Filtre par archétype (nécessite brand)

customer

ObjectId

Non

Client pour calcul du prix net personnalisé

tier

ObjectId

Non

Tier tarifaire pour le calcul du prix

page

number

Non

Page (défaut : 1)

limit

number

Non

Résultats par page (défaut : 20)

Au moins un critère parmi reference, brand, ean, alias est obligatoire. archetype nécessite que brand soit fourni.

Réponses

  • 200 — liste paginée d’articles avec prix et stock calculés

  • 422 — aucun critère de recherche fourni, ou archetype sans brand

POST /api/articles

Crée un article s’il n’existe pas déjà (unicité sur brand + reference). Si l’article existe, retourne le document existant avec 200.

Corps de la requête

{
  brand: ObjectId;
  archetype: ObjectId;
  company: ObjectId;
  type: "auto_part" | "oem" | "tyre";
  reference: string;
  source?: "vekteur" | "tecdoc" | "company";  // défaut : "company"
  ean?: string;
  customs_code?: string;
  sku?: string;
  supplier_url?: string;
  description?: string;
  short_description?: string;
  long_description?: string;
  tags?: string[];
  badges?: string[];
}

Réponses

  • 201 — article créé

  • 200 — article déjà existant retourné

  • 422 — validation échouée

GET /api/articles

Liste les articles avec pagination et filtres.

Paramètres de requête

Paramètre

Type

Description

reference

string

Filtre sur la référence

ean

string

Filtre par EAN

brand

ObjectId

Filtre par marque

archetype

ObjectId

Filtre par archétype

type

string

auto_part, oem ou tyre

is_active

boolean

Filtre sur le statut actif

company

ObjectId

Filtre par tenant

page

number

Page (défaut : 1)

limit

number

Résultats par page (défaut : 10)

Réponses

  • 200 — liste paginée

GET /api/articles/:id

Retourne un article par son identifiant MongoDB, avec les alias, documents, relations, spécifications, prix et stocks populés.

Réponses

  • 200 — objet Article complet

  • 404 — article introuvable

  • 422 — id invalide