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.

6 Antworten auf „Shopware 6 API | Postman Tests“

  1. Hallo, wie mache ich jetzt eine GET request mit dem bearer token über die kommandozeile auf linux? Ich möchte alle bestellungen in form einer json zurück bekommen.

  2. Hello i am following same steps as you mention on above in screenshots
    but i am unable to get result. What i am exactly doing. I insert the URL
    http://192.168.33.10/api/oauth/token in POSTMAN with post request. Then after i set parameter in RAW as you define on above and when i hit the send button. I got this error. Can you please tell me what next i should do to run the Shopware 6 APIs on POSTMAN.

    „code“: „2“,
    „status“: „400“,
    „title“: „The authorization grant type is not supported by the authorization server.“,
    „detail“: „Check that all required parameters have been provided“,

    Thanks

  3. I have the same problem as Mrvan:

    {
    „errors“: [{
    „code“: „2“,
    „status“: „400“,
    „title“: „The authorization grant type is not supported by the authorization server.“,
    „detail“: „Check that all required parameters have been provided“
    }]
    }

    do you have any ideas?

  4. Hallo,
    danke für das Tutorial. Es hat mich in die richtige Richtung geführt.
    Allerdings muss ich alle paar Minuten ein neues Bearer Token holen.
    Wie kann ich das umgehen?

Schreibe einen Kommentar

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