Aller au contenu principal

Produits (catalogue public)

Consultation du catalogue de produits disponible pour les utilisateurs du tenant.

Base URL : /api/v1/products

remarque

La gestion (création, modification, stock) est documentée dans Administration — Produits.


GET /products​

Liste des produits actifs (pagination limit/offset).

Permissions : aucune (utilisateur authentifié du tenant)

Paramètres de query​

ParamTypeDéfautDescription
site_iduuid—Filtrer par site
limitinteger20Nombre de résultats
offsetinteger0Pagination

Réponse (200)​

{
"items": [
{
"id": "770e8400-e29b-41d4-a716-446655440002",
"code": "CAF",
"name": "Café",
"slug_date": null,
"meal_type": null,
"category_id": "660e8400-e29b-41d4-a716-446655440001",
"price_cents": 1000,
"stock_quantity": 50,
"is_active": true,
"available_days": [1, 2, 3, 4, 5],
"site_id": "550e8400-e29b-41d4-a716-446655440099",
"image_path": "/static/products/cafe.png"
}
],
"total": 42
}

GET /products/{id}​

Détails d'un produit.

Permissions : aucune

GET /api/v1/products/770e8400-e29b-41d4-a716-446655440002
Authorization: Bearer ...

Réponse (200)​

Même forme qu'un élément de la liste.

Erreurs​

CodeDescription
404Produit inexistant ou inactif

GET /products/categories​

Liste des catégories de produits.

Permissions : aucune

Paramètres de query​

ParamTypeDéfautDescription
limitinteger20Nombre de résultats
offsetinteger0Pagination

Réponse (200)​

{
"items": [
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Boissons chaudes",
"kind": "buvette",
"sort_order": 1,
"site_id": null
}
],
"total": 3
}
Types de catégories (kind)

buvette (vente directe), reservation_meal (repas réservables), reservation_snack_component (composants de menu).


Types de repas (meal_type)​

Pour les produits de type repas, meal_type prend les valeurs PascalCase : "Vegetarian", "Meat", "Fish".


Voir aussi​