RestApi Plugin weg?

Hallo, ich versuche gerade in einer Testinstallation eine Verbindung über die RestApi aufzubauen. Leider meldet der Dienst (Synesty - kennt das einer?) immer einen Verbindungsfehler “returned a response status of 401 Unauthorized”. Jetzt habe ich festgestellt dass ich in der 5er Version gar nicht mehr das “Rest Api Plugin” in der Plugin-Verwaltung habe. Ist das bei euch auch so? Habe in den Plugins nur das alte “Api Plugin”. Wie kann ich den feststellen, ob die Rest Api überhaupt aktiviert ist? Danke schon mal…

Hi, die Rest-API ist immer aktiv / vorhanden. Das Plugin wird nicht mehr angezeigt, weil es ein internes Plugin ist und nicht deinstalliert werden darf. Damit deine Schnittstelle mit der API reden darf, musst du in der Benutzerverwaltung ein ApiToken generieren und hinterlegen - da scheint der Fehler zu liegen. Besten Gruß, Daniel

Hi Daniel, danke für die schnelle Antwort. Ok, das Plugin ist also nicht mehr im Admin sichtbar. [quote=“Daniel Nögel”]… Damit deine Schnittstelle mit der API reden darf, musst du in der Benutzerverwaltung ein ApiToken generieren und hinterlegen - da scheint der Fehler zu liegen. Besten Gruß, Daniel[/quote] Das habe ich allerdings gemacht. Klappt aber trotzdem nicht. Mal ne weitere Frage. Wenn ich die Api per Web-Browser aufrufe, z.B. über domain.com/api/version/ dann erscheint immer eine Login-box. Abgefragt wird hier per Formular Nutzername Passwort Was wird denn hier eingetragen? Der Passwort des Nutzers, oder der ApiToken? Und, wenn ich hier richtig eintragen würde, käme ich dann “im Webbrowser” einen Schritt weiter, oder geht das nicht mit dem Browser?

Hi, GET-Requests kannst du einfach so absetzen, indem du sie in die Browser-Adressleiste eingibst. Benötigt werden dann Nutzername und das dazugehörige API-Token. Gruß, Daniel

Ich brauche nochmal Hilfe um herauszufinden ob bei mir die ganze Api überhaupt funktioniert: Also ich rufe z.B. auf: domain.com/api/articles/2 und bekomme dann http://screencast.com/t/DtOJViLHxKpF Wenn ich hier also die Kombinationen aus Benutzername (mit dem ich mich auch im backend anmelden würde) und ApiToken eintrage, sollte ich danach etwas anderes sehen? Z.B. die Daten des Artikels mit der ID 2? Klappt bei mir nicht. Es erscheint kurz darauf das selbe Fenster erneut. Heisst doch dass bei mir die Api irgendwie gar nicht (richtig) funktioniert, oder?

Hi altenbrand, danke für Deine Hilfe. Ich habe es genauso gemacht wie Du beschreibst. Ich komm einfach nicht rein. kannst du mir zeigen wie eine URL mit GET-Aufruf aussehen sollte? Btw: kann es sein, dass der Fehler irgendwie dadurch kommt, dass ich den Testshop mit einer Kopie der Daten aus dem Live-Shop erstellt habe, und irgendwo in den Tiefen noch andere Parameter (etwa für die Shop-URL) stehen?

Hi, ein GET-Aufruf ist einfach sowas wie: http://www.shop.de/api/version im Browser. Stelle bitte eben einen Screenshot deines API-Nutzers hier rein, natürlich mit verpixelten Credentials. Nur, dass wir sehen, dass da alles passt. Besten Gruß, Daniel

[quote=„senana“]kannst du mir zeigen wie eine URL mit GET-Aufruf aussehen sollte?[/quote] Also wir verwenden in etwa folgendes Schema (habe unseren Domainnamen ersetzt): http://[domain]/api/articles Das sollte die ersten 1000 Artikel aus Deinem Katalog ausgeben. Übrigens habe ich gerade die Passwort-Box mal abgebrochen und bekomme dann folgendes JSON zurück: {"success":false,"message":"Invalid or missing auth"} Das müsste bei Dir ja auch so sein. [quote=„senana“]Btw: kann es sein, dass der Fehler irgendwie dadurch kommt, dass ich den Testshop mit einer Kopie der Daten aus dem Live-Shop erstellt habe, und irgendwo in den Tiefen noch andere Parameter (etwa für die Shop-URL) stehen?[/quote] Das kann auch sein. Kannst Du Dich denn im Backend des Testshops einloggen als normaler User? Dann könntest Du nämlich in den Shop-Settings die Shop-URL umstellen, so dass es dann der Testshop ist (unter Einstellungen > Grundeinstellungen > Shopeinstellungen > Shops).

Danke für die Unterstützung. Also ich habe dann ja schon mal den richtigen Aufruf, dachte da kämen noch irgendwelche Parameter an die URL. Also so sieht der Benutzer aus

Api Aufruf per Browser Nach klick auf „Anmelden“ erhalte ich das Nach Klick auf Abbrechen das Es scheint ja so zu sein, dass die Api ansprechbar ist, sie aber meine User aber für nicht berechtigt hält. Bei meinem Live-Shop habe ich übrigens mit den entsprechenden Paramatern für den entsprechenden Shop das selbe Problem. Unter „Einstellungen > Grundeinstellungen > Shopeinstellungen > Shops“ stimmen übrigens die URLs für beide Shops jeweils (also live und test-Shop). Nun habe ich noch eine andere Idee bekommen weil hier noch ein ähnlicher thread Probleme mit irgednwelchen SSL-rewrites und Rest-Api hatte. Ich habe vor einigen Monaten den Live-Shop auf Komplett SSL umgestellt. Dabei habe ich wohl ausser dem Haken im Backend auch in der .htaccess (bin mir nicht sicher) was gemacht. Folgendes Rudiment habe ich dazu eben gefunden: [code]
RewriteEngine on

#RewriteBase /shopware/

Https config for the backend

#RewriteCond %{HTTPS} !=on
#RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]

RewriteCond %{REQUEST_URI} !(/(engine|files|templates)/)
RewriteCond %{REQUEST_URI} !(/media/(archive|banner|image|music|pdf|unknown|video)/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ shopware.php [PT,L,QSA]

Fix missing authorization-header on fast_cgi installations

[/code] In der letzten Zeile fehlt doch was, oder? EDIT: Noch kurz wie ich darauf komme, wegen der Anleitung hier: http://community.shopware.com/api-confi … figuration

Fehler gefunden :)! Es fehlte in der .htaccess tatsächlich diese Zeile # Fix missing authorization-header on fast\_cgi installations RewriteRule .\* - [E=HTTP\_AUTHORIZATION:%{HTTP:Authorization},L] Jetzt geht’s! Danke euch für die Hilfe.