Skip to content

API-Referenz ​

Das anyPIM bietet eine vollständige REST-API mit über 90 Endpunkten, die sämtliche Funktionen des Systems programmatisch zugänglich machen. Die API folgt konsistenten Konventionen und unterstützt JSON als Datenformat.

Basis-URL ​

Alle API-Endpunkte befinden sich unter dem Pfad:

https://pim.ihre-domain.de/api/v1

Für die lokale Entwicklung:

http://localhost:8000/api/v1

Authentifizierung ​

Die API verwendet Bearer-Token-Authentifizierung über Laravel Sanctum. Bei jedem Aufruf muss ein gültiges Token im Authorization-Header mitgesendet werden:

Authorization: Bearer {token}

Details zur Authentifizierung finden Sie unter Authentifizierung.

Request-Flow ​

Der Weg einer API-Anfrage durch das System:

ClientHTTP-RequestAuthSanctum TokenControllerValidierungServiceGeschäftslogikResponseJSON-AntwortAPI Request FlowClient → Authentifizierung → Eingabevalidierung → Geschäftslogik → JSON-Response

Konventionen ​

Datenformat ​

Alle Anfragen und Antworten verwenden JSON. Setzen Sie die entsprechenden Header:

Content-Type: application/json
Accept: application/json

Paginierung ​

Listen-Endpunkte unterstützen Paginierung über Query-Parameter:

ParameterTypStandardBeschreibung
pageInteger1Aktuelle Seite
per_pageInteger25Einträge pro Seite (max. 100)

Sortierung ​

Sortierung wird über den sort-Parameter gesteuert. Aufsteigende Sortierung ist Standard, ein Minus-Präfix sortiert absteigend:

GET /api/v1/products?sort=name          # Aufsteigend nach Name
GET /api/v1/products?sort=-created_at   # Absteigend nach Erstelldatum

Filterung ​

Filter werden als Query-Parameter übergeben:

GET /api/v1/products?filter[status]=active&filter[product_type]=simple

Includes (Eager Loading) ​

Verwandte Ressourcen können über den include-Parameter mitgeladen werden:

GET /api/v1/products?include=variants,media,prices

Sparse Fields ​

Mit dem fields-Parameter können Sie die zurückgegebenen Felder einschränken:

GET /api/v1/products?fields=id,sku,name,status

Suche ​

Freitextsuche über den search-Parameter:

GET /api/v1/products?search=Bohrmaschine

Sprachauswahl ​

Bei mehrsprachigen Ressourcen bestimmt der lang-Parameter die Sprache:

GET /api/v1/products?lang=de

Fehlerformat ​

Fehler werden im Format RFC 7807 (Problem Details for HTTP APIs) zurückgegeben:

json
{
  "type": "https://pim.example.com/docs/errors/validation-error",
  "title": "Validierungsfehler",
  "status": 422,
  "detail": "Die übermittelten Daten sind ungültig.",
  "errors": {
    "sku": ["Das Feld 'sku' ist ein Pflichtfeld."],
    "name_de": ["Das Feld 'name_de' darf maximal 255 Zeichen lang sein."]
  }
}

HTTP-Statuscodes ​

CodeBedeutung
200Erfolgreiche Anfrage
201Ressource erfolgreich erstellt
204Erfolgreich, kein Inhalt (z. B. nach Löschen)
400Ungültige Anfrage
401Nicht authentifiziert
403Keine Berechtigung
404Ressource nicht gefunden
422Validierungsfehler
429Rate Limit erreicht
500Interner Serverfehler

Rate Limiting ​

Die API ist durch Rate Limiting geschützt:

KategorieLimitBeschreibung
Standard60 Anfragen/MinuteAllgemeine API-Endpunkte
Export600 Anfragen/MinuteExport-Endpunkte (höheres Limit)

Bei Überschreitung wird ein 429 Too Many Requests-Status mit folgenden Headern zurückgegeben:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
Retry-After: 45

Endpunkt-Gruppen ​

Die API gliedert sich in folgende Bereiche:

Authentifizierung ​

Login, Logout, Token-Verwaltung und Benutzerinformationen.

API-Keys ​

Langlebige API-Schlüssel für externe Integrationen, Skripte und Machine-to-Machine-Zugriff. API-Keys sind an Benutzer gebunden und erben deren Rollenberechtigungen.

Produkte ​

CRUD-Operationen für Produkte, Attributwerte, Varianten, Medien, Preise und Relationen.

Attribute ​

Verwaltung von Attributen, Attributtypen, Einheitengruppen, Einheiten, Wertelisten, Wertelisteneinträgen und Attributansichten.

Hierarchien ​

Verwaltung von Hierarchien, Baumstrukturen, Knoten und knotenspezifischen Attributzuordnungen.

PQL ​

PQL-Abfragen ausführen, validieren und analysieren.

Export ​

Export-Endpunkte für JSON und Publixx-Format. Dokumentiert unter JSON-Export und Publixx-Export.

Import ​

Import-Endpunkte für Upload, Validierung und Ausführung. Dokumentiert unter Import.

Benutzerverwaltung ​

CRUD-Operationen für Benutzer, Rollen und Berechtigungen.

Sprachen ​

Verwaltung der verfügbaren Inhaltssprachen.

Medien ​

Upload, Verwaltung und Zuordnung von Medien.

Preise ​

Verwaltung von Preisarten, Währungen und Produktpreisen.

PimSync API ​

Bidirektionale Synchronisation zwischen anyPIM-Instanzen. Produkte, Attribute, Preise und Media zwischen Zentrale und Tochtergesellschaften austauschen.

anyPIM Dokumentation