Aller au contenu principal

Référence API

Inventoria expose une API REST complète, protégée par tokens Sanctum. Elle permet d'intégrer Inventoria à des outils tiers ou d'automatiser des opérations.

Base URL : https://<votre-instance>/api/v1

Authentification

Toutes les routes (sauf /login) requièrent un header Authorization :

Authorization: Bearer <votre_token>

Voir Tokens API pour générer un token.


Se connecter

POST /login
{ "login": "utilisateur", "password": "motdepasse" }

Retourne un token Bearer à utiliser dans les requêtes suivantes.

Profil utilisateur

GET /me

Retourne l'id, le nom, l'email, les rôles et les permissions de l'utilisateur connecté.

Se déconnecter

POST /logout

Révoque le token courant.


Articles

Liste

GET /articles

Paramètres optionnels : ?search=, ?category_id=, ?brand_id=, ?is_active=

Créer

POST /articles
{
"name": "MacBook Pro 14\"",
"reference": "MBP14-M3",
"brand_id": 1,
"category_id": 3,
"amortization_category_id": 2
}

Détail

GET /articles/{id}

Modifier

PATCH /articles/{id}

Supprimer

DELETE /articles/{id}

Achats

Liste

GET /purchases

Paramètres optionnels : ?article_id=, ?code=

Créer

POST /purchases
{
"article_id": 5,
"purchase_date": "2024-03-15",
"purchase_price": 1299.00,
"supplier_id": 2,
"warranty_end_date": "2027-03-15"
}

Détail

GET /purchases/{id}

Modifier

PATCH /purchases/{id}

Supprimer

DELETE /purchases/{id}

Lookup QR

Retourne l'achat correspondant à un code — point d'entrée principal de l'application mobile.

GET /scan/{code}

Inventaires

Liste des sessions

GET /inventories

Créer une session

POST /inventories
{ "year": 2025, "inventory_date": "2025-01-15" }

Détail d'une session

GET /inventories/{id}

Retourne les statistiques de progression (scannés / total / pourcentage).

Enregistrer un scan

POST /inventories/{id}/scan
{ "code": "ABC12345" }

Réponses possibles (toujours HTTP 200) :

statusmessageSignification
successArticle ajoutéScan enregistré
warningDéjà scannéCode déjà enregistré dans cette session
errorCode inconnuAucun achat ne correspond à ce code

Achats non scannés

GET /inventories/{id}/unscanned

Données de référence

Ces routes sont en lecture seule.

RessourceRoute
MarquesGET /brands, GET /brands/{id}
CatégoriesGET /categories, GET /categories/{id}
Catégories d'amortissementGET /amortization-categories, GET /amortization-categories/{id}

Fournisseurs

GET /suppliers
POST /suppliers
GET /suppliers/{id}
PATCH /suppliers/{id}
DELETE /suppliers/{id}

Paramètre optionnel sur la liste : ?is_active=true


Codes de réponse

CodeSignification
200Succès
201Ressource créée
401Non authentifié — token manquant ou invalide
403Accès refusé — droits insuffisants
404Ressource introuvable
422Erreur de validation — vérifiez les champs envoyés
500Erreur serveur