API Fournisseurs

Endpoints de gestion des fournisseurs. Les fournisseurs sont des relations CompanyRelation avec to_model: "Supplier". Voir Collection company_relations (fournisseurs) pour le schéma complet.

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

GET /api/suppliers/search

Recherche des sociétés fournisseurs disponibles (sociétés de type platform) par nom ou numéro SIREN.

Paramètres de requête

Paramètre Type Requis Description

q

string

Oui

Terme de recherche (min. 2 caractères) — nom ou numéro d’enregistrement

page

number

Non

Page (défaut : 1)

limit

number

Non

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

Réponses

  • 200 — liste paginée de sociétés correspondantes

  • 422 — q absent ou trop court

GET /api/suppliers

Liste les relations fournisseurs du tenant courant.

Paramètres de requête

Paramètre Type Requis Description

companyId

ObjectId

Oui

Tenant courant

name

string

Non

Filtre partiel sur le nom du fournisseur

page

number

Non

Page (défaut : 1)

limit

number

Non

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

Réponses

  • 200 — liste paginée de relations fournisseurs

POST /api/suppliers

Crée une nouvelle relation fournisseur. Permet de lier un fournisseur existant ou d’en créer un nouveau simultanément.

Corps de la requête

{
  fromCompanyId: ObjectId;         // tenant courant

  // Soit un fournisseur existant…
  supplierCompanyId?: ObjectId;

  // …soit un nouveau fournisseur à créer
  newCompany?: {
    name: string;                  // transformé en MAJUSCULES (min. 2 caractères)
    company_registration_number: string;
  };

  client_number: string;           // référence client chez ce fournisseur

  // Champs optionnels de la relation
  tier?: ObjectId;
  is_favorite?: boolean;
  ranking_number?: number;
  allow_rebate?: boolean;
  apply_tva?: boolean;
  allow_order?: boolean;
  credit_limit?: number;
  payment_method?: string;
  payment_terms_days?: number;
  minimum_order?: number;
  // … autres champs de CompanyRelation
}
supplierCompanyId et newCompany sont mutuellement exclusifs. L’un des deux est obligatoire.

Réponses

  • 201 — relation créée

  • 422 — validation échouée ou relation déjà existante

GET /api/suppliers/:id

Retourne une relation fournisseur par son identifiant, avec from, to et tier populés.

Paramètres de route

Paramètre

Type

Description

id

string

ObjectId MongoDB de la relation fournisseur

Réponses

  • 200 — objet CompanyRelation complet

  • 404 — relation introuvable

  • 422 — id invalide

PATCH /api/suppliers/:id

Met à jour les champs d’une relation fournisseur.

Paramètres de route

Paramètre

Type

Description

id

string

ObjectId MongoDB de la relation fournisseur

Corps de la requête

Tous les champs de CompanyRelation sont acceptés en mise à jour partielle.

Réponses

  • 200 — relation mise à jour

  • 404 — relation introuvable

  • 422 — validation échouée