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"
}
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.
funktioniert nichtg
Hi Robert,
was denn genau? Fehlermeldung, Log, anything?
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.
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
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?
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?