Shopware 6 API | Postman Tests

Früher gab es die nette RestApi Klasse mit der man alle Endpunkte in Shopware 5 testen konnte. Mittlerweile hat sich was getan und man kann einfach mit Postman und dem Swagger/OpenAPI Export testen. Aktuell noch mit einer kleinen „Behinderung“ beim Import, aber immerhin hat mal alles übersichtlich an einem Fleck.

Postman installieren

Ich nutze Ubuntu 18.04 und installiere daher die APP über snap

snap install postman

Falls Ihr MacOS oder Windows nutzt, könnt Ihr Postman einfach HIER herunterladen.

OpenAPI 3.0

Shopware 6 nutzt hier den OpenAPI 3.0 Standard. Die Datei dazu findet Ihr unter http://localhost:8000/api/v1/_info/openapi3.json

Aktuell funktioniert der Import allerdings nur, wenn man die security config im root weglässt:

Danach könnt Ihr eure YAML oder JSON Datein einfach importieren (falls der JSON Import nicht funktioniert einfach konvertieren -> https://jsonformatter.org/json-to-yaml )

Danach sollte eure API Collection in Postman angelegt sein und Ihr könnt munter die API testen – sobald Ihr euch authentifiziert habt.

Authentfizierung

Um nun einen Bearer Token zu erhalten müsst Ihr einen Call an die OAuth Schnittstelle absenden.

POST /api/oauth/token HTTP/1.1
Host: localhost:8000
Content-Type: application/json
cache-control: no-cache

 {
        "client_id": "administration",
        "grant_type": "password",
        "scopes": "read",
        "username": "admin",
        "password": "shopware"
    }
Postman OAuth Call

Da die Root security Einstellung aktuell nicht importiert wird, müsst Ihr leider in jeder Collection die Authentication erneut angeben. Meist testet man aber sowieso nur 2-3 Endpunkte, von daher hält sich das in Grenzen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.