API Prix

Endpoints de gestion des prix. Voir Collection prices pour les schémas complets.

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

/api/prices/public-prices

Prix publics (tarif catalogue) par article, tenant et/ou fournisseur.

GET /api/prices/public-prices

Paramètre Type Description

article

ObjectId

Filtre par article

company

ObjectId

Filtre par tenant

supplier

ObjectId

Filtre par fournisseur

is_active

boolean

Filtre sur le statut

page

number

Page (défaut : 1)

limit

number

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

  • 200 — liste paginée

GET /api/prices/public-prices/:id

  • 200 — objet PublicPrice

  • 404 — introuvable

POST /api/prices/public-prices

Crée un prix public.

  • 201 — créé

PATCH /api/prices/public-prices/:id

Met à jour un prix public.

  • 200 — mis à jour

DELETE /api/prices/public-prices/:id

Supprime un prix public.

  • 204 — supprimé

DELETE /api/prices/public-prices

Supprime plusieurs prix publics par critères.

Paramètre

Type

Description

supplier

ObjectId

Suppression par fournisseur

company

ObjectId

Suppression par tenant

  • 204 — supprimé

POST /api/prices/public-prices/validate-import

Valide un fichier CSV avant import (multipart/form-data).

  • 200 — rapport de validation

POST /api/prices/public-prices/import

Importe des prix publics depuis un fichier CSV.

// Corps (multipart/form-data + champs)
{
  company: ObjectId;
  supplier: ObjectId;
  currency: string;
  valid_from?: string;   // ISO 8601
  valid_to?: string;
  is_active?: boolean;
}
  • 200 — résultat de l’import (succès / erreurs ligne par ligne)


/api/prices/purchase-prices

Prix d’achat par article, tenant et fournisseur.

GET /api/prices/purchase-prices

Mêmes paramètres que public-prices (article, company, supplier, is_active, page, limit).

  • 200 — liste paginée

GET /api/prices/purchase-prices/:id

  • 200 — objet PurchasePrice

POST /api/prices/purchase-prices

Crée un prix d’achat.

  • 201 — créé

PATCH /api/prices/purchase-prices/:id

  • 200 — mis à jour

DELETE /api/prices/purchase-prices/:id

  • 204 — supprimé

POST /api/prices/purchase-prices/validate-import

Valide un CSV.

POST /api/prices/purchase-prices/import

Importe des prix d’achat depuis un CSV.


/api/prices/price-conditions

Conditions tarifaires (remises, coefficients) appliquées par archétype, marque ou fournisseur.

GET /api/prices/price-conditions/suggest

Suggestions de conditions applicables à un contexte.

  • 200 — liste de conditions suggérées

GET /api/prices/price-conditions

Paramètre

Type

Description

company

ObjectId

Tenant courant

type

string

purchase ou sale

source

string

archetype, brand ou supplier

page

number

Page (défaut : 1)

limit

number

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

  • 200 — liste paginée

GET /api/prices/price-conditions/:id

  • 200 — objet PriceCondition

POST /api/prices/price-conditions/bulk-create

Crée plusieurs conditions en une seule requête.

{
  company: ObjectId;
  conditions: PriceConditionInput[];
}
  • 201 — conditions créées

POST /api/prices/price-conditions

  • 201 — créé

PATCH /api/prices/price-conditions/:id

  • 200 — mis à jour

DELETE /api/prices/price-conditions/:id

  • 204 — supprimé


/api/prices/net-prices

Prix nets calculés par article, client et/ou tier.

CRUD standard : GET /, GET /:id, POST /, PATCH /:id, DELETE /:id


/api/prices/kits

Kits tarifaires regroupant plusieurs articles avec un prix global.

CRUD standard : GET /, GET /:id, POST /, PATCH /:id, DELETE /:id


/api/prices/promotions

Promotions applicables à un article, archétype ou relation client.

GET /api/prices/promotions

  • 200 — liste paginée

GET /api/prices/promotions/:id

  • 200 — objet Promotion

POST /api/prices/promotions

  • 201 — créé

PATCH /api/prices/promotions/:id

  • 200 — mis à jour

DELETE /api/prices/promotions/:id

  • 204 — supprimé

GET /api/prices/promotions/:promotionId/assets

Liste les assets d’une promotion.

  • 200 — liste d’assets

POST /api/prices/promotions/:promotionId/assets

Ajoute un asset à une promotion.

{
  type: "PDF" | "Image" | "Video" | "URL";
  url: string;
}
  • 201 — asset créé

DELETE /api/prices/promotions/:promotionId/assets/:assetId

  • 204 — supprimé


/api/prices/rebates

Ristournes associées à une relation fournisseur ou client.

CRUD standard : GET /, GET /:id, POST /, PATCH /:id, DELETE /:id


/api/prices/rebate-settlements

Règlements de ristournes (avoirs, paiements, écritures comptables).

CRUD standard : GET /, GET /:id, POST /, PATCH /:id, DELETE /:id


/api/prices/depreciations

Dépréciations de prix (réductions liées à l’ancienneté ou à des conditions spécifiques).

CRUD standard : GET /, GET /:id, POST /, PATCH /:id, DELETE /:id