Aller au contenu principal

API Réapprovisionnements

L'API Réapprovisionnements permet de gérer les commandes de réapprovisionnement avec des opérations CRUD complètes.

Créer un réapprovisionnement

  • URL : /api/publique/restock
  • Méthode : POST
  • Description : Créer une nouvelle commande de réapprovisionnement

Corps de la requête

{
"name": "Réapprovisionnement Q1 2024",
"storeId": "STORE-001",
"createdBy": "user@example.com",
"status": "waiting",
"deliveryDate": "2024-02-15T00:00:00Z",
"items": [
{
"sku": "SKU-001",
"quantity": 10
},
{
"sku": "SKU-002",
"quantity": 5
}
]
}

Réponse

{
"id": 1,
"name": "Réapprovisionnement Q1 2024",
"storeId": "STORE-001",
"createdBy": "user@example.com",
"status": "waiting",
"deliveryDate": "2024-02-15T00:00:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"items": [
{
"id": 1,
"restockId": 1,
"sku": "SKU-001",
"quantity": 10
},
{
"id": 2,
"restockId": 1,
"sku": "SKU-002",
"quantity": 5
}
]
}

Obtenir tous les réapprovisionnements

  • URL : /api/publique/restock
  • Méthode : GET
  • Description : Récupérer toutes les commandes de réapprovisionnement

Réponse

[
{
"id": 1,
"name": "Réapprovisionnement Q1 2024",
"storeId": "STORE-001",
"createdBy": "user@example.com",
"status": "waiting",
"deliveryDate": "2024-02-15T00:00:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
]

Obtenir un réapprovisionnement par ID

  • URL : /api/publique/restock/{id}
  • Méthode : GET
  • Description : Récupérer une commande de réapprovisionnement spécifique par ID

Paramètres de chemin

  • id : ID du réapprovisionnement (nombre)

Réponse

{
"id": 1,
"name": "Réapprovisionnement Q1 2024",
"storeId": "STORE-001",
"createdBy": "user@example.com",
"status": "waiting",
"deliveryDate": "2024-02-15T00:00:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"items": [
{
"id": 1,
"restockId": 1,
"sku": "SKU-001",
"quantity": 10
}
]
}

Mettre à jour un réapprovisionnement

  • URL : /api/publique/restock/{id}
  • Méthode : PATCH
  • Description : Mettre à jour une commande de réapprovisionnement

Paramètres de chemin

  • id : ID du réapprovisionnement (nombre)

Corps de la requête (tous les champs optionnels)

{
"name": "Nom de réapprovisionnement mis à jour",
"status": "approved",
"deliveryDate": "2024-02-20T00:00:00Z"
}

Supprimer un réapprovisionnement

  • URL : /api/publique/restock/{id}
  • Méthode : DELETE
  • Description : Supprimer une commande de réapprovisionnement

Paramètres de chemin

  • id : ID du réapprovisionnement (nombre)

Réponse

204 No Content

Modèles de données

Statut de réapprovisionnement

type RestockStatus = 'approved' | 'waiting' | 'delivered' | 'canceled';

Réapprovisionnement

interface Restock {
id: number;
name: string;
storeId: string;
createdBy: string;
status: RestockStatus;
deliveryDate: Date;
createdAt: Date;
updatedAt: Date;
items: RestockItem[];
}

interface RestockItem {
id: number;
restockId: number;
sku: string;
quantity: number;
}

Codes d'erreur possibles

  • 400 Bad Request : Données de requête invalides ou produits inexistants
  • 404 Not Found : Réapprovisionnement non trouvé
  • 500 Internal Server Error : Erreur serveur lors de la création/mise à jour