Appearance
API Endpunkte
Schnellreferenz aller verfuegbaren REST-Endpunkte.
Uebersicht
| Methode | Endpunkt | Beschreibung | Auth | Paginiert |
|---|---|---|---|---|
GET | /v1/products | Produkte auflisten | - | Ja |
GET | /v1/products/{slug} | Produkt-Details | - | - |
GET | /v1/categories | Kategorien auflisten | - | - |
GET | /v1/categories/{slug} | Kategorie-Details | - | - |
GET | /v1/main-articles | Hauptartikel auflisten | - | Ja |
GET | /v1/main-articles/{orderNumber} | Hauptartikel-Details | - | - |
GET | /v1/makers | Hersteller auflisten | - | - |
GET | /v1/makers/{id} | Hersteller-Details | - | - |
GET | /v1/tractors | Traktoren auflisten | - | Ja |
GET | /v1/tractors/{id} | Traktor-Details | - | - |
GET | /v1/catalogs | Kataloge auflisten | - | - |
GET | /v1/catalogs/{slug} | Katalog-Details | - | - |
GET | /v1/sparepart-groups | Ersatzteil-Gruppen auflisten | - | Ja |
GET | /v1/sparepart-groups/{id} | Ersatzteil-Gruppen-Details | - | - |
GET | /v1/user | Auth. Benutzer | Sanctum | - |
Filter-Parameter
Products
| Parameter | Beschreibung | Beispiel |
|---|---|---|
category | Kategorie-Slug | ?category=mulcher |
maker | Hersteller-Kurzname | ?maker=john-deere |
search | Volltextsuche | ?search=MW+180 |
Main Articles
| Parameter | Beschreibung | Beispiel |
|---|---|---|
product | Produkt-Slug | ?product=mulcher-mw-180 |
search | Suche in Name/Bestellnr. | ?search=MW-180 |
Tractors
| Parameter | Beschreibung | Beispiel |
|---|---|---|
maker | Hersteller-Kurzname | ?maker=john-deere |
series | Traktor-Serien-ID | ?series=5 |
search | Suche in Modell/ID | ?search=6R+150 |
Sparepart Groups
| Parameter | Beschreibung | Beispiel |
|---|---|---|
search | Suche in Name/Bestellnr. | ?search=Messer |
Datenmodell-Beziehungen
Category ←→ Product ←→ MainArticle
↕ ↕
ScopeOfWork SparepartGroup → SparepartArticle
↕
PerformanceClass ←→ Tractor → TractorSeries → Maker
↕
ProductInkludierte Relationen
| Endpunkt | Inkludierte Relationen |
|---|---|
products | categories, scopesOfWork, performanceClasses, makers, basicEquipments |
products/{slug} | (gleich) |
main-articles | products, makers |
makers/{id} | tractorSeries |
tractors | maker, tractorSeries, performanceClasses |
Implementierung
Laravel (Backend)
Die API ist implementiert in:
admin/
├── routes/api.php # Route-Definitionen
├── app/Http/Controllers/Api/V1/
│ ├── ProductController.php
│ ├── CategoryController.php
│ ├── MainArticleController.php
│ ├── MakerController.php
│ ├── TractorController.php
│ ├── CatalogController.php
│ └── SparepartGroupController.php
└── app/Http/Resources/V1/
├── ProductResource.php
├── CategoryResource.php
├── MainArticleResource.php
├── MakerResource.php
├── TractorResource.php
├── TractorSeriesResource.php
├── PerformanceClassResource.php
├── ScopeOfWorkResource.php
├── BasicEquipmentResource.php
├── CatalogResource.php
└── SparepartGroupResource.phpNuxt (Frontend/Portal)
typescript
// composables/useApi.ts (aus shared/)
const { data } = await useApi('/v1/products', {
query: { category: route.params.slug }
})