Rohstoffberechnung: Kursimport Goldmarkt
Rohstoffberechnung ohne Abtippen: Das Plugin holt die Kursliste von Goldmarkt mit deinen Zugangsdaten im eingestellten Takt ab und schreibt die Kurse in die Rohstoffberechnung.
Auf dieser Seite
- Einleitung
- Was du mit diesem Plugin erreichst
- Für wen ist dieses Plugin?
- Was du vorher brauchst
- Installation
- Erste Schritte
- Einstellungen
- Kursimport
- Zugangsdaten
- So nutzt du die Funktionen
- So holst du die Kurse automatisch ab
- So startest du den Abruf von Hand
- So prüfst du die importierten Kurse
- So kommen die neuen Kurse in deine Artikelpreise
- Was mit ungültigen oder unvollständigen Kursen passiert
- So schaltest du den Abruf vorübergehend ab
- Wenn du von einer älteren Version aktualisierst
- Fehlerbehebung
- Die Kurse ändern sich nicht
- Der Abruf von Hand meldet, dass der Abruf ausgeschaltet ist
- Der Abruf von Hand meldet unvollständige Zugangsdaten
- Die Verbindung zu Goldmarkt kommt nicht zustande
- Die Antwort ist keine Kursliste
- Ein Kurs bleibt auf seinem alten Wert stehen
- Der Abruf meldet, dass kein Kurs geschrieben wurde
- Für einen Kurs ist eine zweite Zeile entstanden
- Die Artikelpreise ändern sich nach dem Import nicht
- Das neue Abrufintervall greift nicht sofort
- Die Schaltfläche „Dokumentation öffnen“ fehlt
- FAQ
- Für Administratoren / Technische Details
- Systemanforderungen
- Installation über die Kommandozeile
- Abruf auf der Konsole und per Cronjob
- Geplante Aufgabe
- Aufruf der Schnittstelle
- Erwartetes Antwortformat und Bildung des Kurscodes
- Schreiben in die Kursdaten
- Logdateien
- Meldungen beim Abruf von Hand
- Update von einer älteren Version
- Deinstallation
Einleitung
Rohstoffberechnung: Kursimport Goldmarkt holt die Kursliste von Goldmarkt mit deinen Zugangsdaten ab und schreibt die Kurse in die Kursdaten deiner Rohstoffberechnung. Du musst Kurse nicht mehr von Hand abtippen.
Was du mit diesem Plugin erreichst
- Du trägst deine Zugangsdaten einmal ein. Danach holt das Plugin die Kurse regelmäßig ab, in einem Abstand, den du selbst festlegst.
- Du kannst den Abruf jederzeit auch von Hand starten, zum Beispiel um nach dem Einrichten sofort zu prüfen, ob alles klappt.
- Führst du denselben Kurs in mehreren Kundentypen, bekommt jede dieser Zeilen den neuen Kurs. Du pflegst nichts doppelt. Kundentypen mit eigenem Abrufintervall bekommen ihre Kurse in ihrem Takt, auf Wunsch bis unter einer Minute.
- Ein offensichtlich falscher Kurs (0, negativ oder keine Zahl) wird nicht übernommen. Dein zuletzt gespeicherter Kurs bleibt dann stehen.
- Solange du den Abruf nicht einschaltest, nimmt das Plugin keinen Kontakt zu Goldmarkt auf.
- Nutzt du zusätzlich das Plugin Artikelankauf, folgt auch der Ankaufpreis dem importierten Kurs.
Für wen ist dieses Plugin?
Für Shop-Betreiber, die ihre Artikelpreise mit dem Plugin Rohstoffberechnung aus Rohstoffkursen berechnen und einen Zugang zur Goldmarkt-Schnittstelle haben.
Was du vorher brauchst
- Das Plugin Rohstoffberechnung, installiert und aktiv. Der Kursimport schreibt seine Kurse in dessen Kursdaten und funktioniert nicht ohne es.
- Zugangsdaten für die Goldmarkt-Schnittstelle: Schnittstellen-URL, Benutzername und Passwort. Die bekommst du von Goldmarkt.
- Für den automatischen Abruf: einen Server, auf dem die geplanten Aufgaben von Shopware im Hintergrund laufen. Ob das bei dir der Fall ist, weiß dein Hosting-Anbieter oder dein technischer Administrator (Details in Für Administratoren / Technische Details).
Installation
Nach dem Kauf steht dir das Plugin direkt in deiner Administration zur Verfügung — du musst nichts herunterladen.
Installiere und aktiviere zuerst die Rohstoffberechnung, falls das noch nicht geschehen ist. Der Kursimport setzt sie voraus.
-
Melde dich in deiner Shopware-Administration an (
DeinShop.de/admin) -
Öffne Erweiterungen → Meine Erweiterungen
-
Klicke neben Rohstoffberechnung: Kursimport Goldmarkt auf Installieren
-
Aktiviere das Plugin über den Schalter neben dem Eintrag — fertig.
Abb. 1: Meine Erweiterungen, Suche nach „Rohstoffberechnung“: Rohstoffberechnung und Kursimport sind installiert und aktiv.
Die Plugins stehen im Reiter Apps. Gibst du in die Suche oben „Rohstoffberechnung“ ein, siehst du beide Plugins untereinander. Über Konfigurieren neben dem Eintrag kommst du später zu den Einstellungen.
Nach der Installation ist der Abruf ausgeschaltet. Das Plugin verbindet sich also noch nicht mit Goldmarkt. Das passiert erst, wenn du in den Einstellungen Kurse bei Goldmarkt abrufen einschaltest (siehe Erste Schritte).
Taucht Rohstoffberechnung: Kursimport Goldmarkt nicht in der Liste auf, ist dein Shopware-Konto noch nicht mit dem Shop verbunden. Das erledigst du unter Erweiterungen → Meine Erweiterungen im Reiter Shopware Account über die Anmeldung mit deinem Shopware-Konto.
Erste Schritte
So bringst du die ersten Kurse in deinen Shop:
- Einstellungen öffnen: Öffne Erweiterungen → Meine Erweiterungen und klicke neben Rohstoffberechnung: Kursimport Goldmarkt auf Konfigurieren.
- Zugangsdaten eintragen: Trag unter der Überschrift Zugangsdaten die Schnittstellen-URL, den Benutzernamen und das Passwort ein, die du von Goldmarkt bekommen hast.
- Abruf einschalten: Schalte unter der Überschrift Kursimport den Schalter Kurse bei Goldmarkt abrufen ein. Prüfe das Abrufintervall (Minuten). Ab Werk steht es auf 15 Minuten.
- Speichern: Klicke oben rechts auf Speichern.
- Ergebnis prüfen: Öffne Kataloge → Rohstoffberechnung → Kursdaten. Bei den importierten Kursen siehst du in der Spalte Aktueller Kurs den neuen Wert und in der Spalte Zuletzt geändert den Zeitpunkt des Abrufs.
Den ersten Abruf startet Shopware beim nächsten Lauf der geplanten Aufgabe. Willst du nicht warten, lass den Abruf einmal von Hand starten (siehe So startest du den Abruf von Hand). Die Ausgabe zeigt dir sofort, ob alles geklappt hat.
Einstellungen
Zu den Einstellungen kommst du über Erweiterungen → Meine Erweiterungen: Klicke dort neben Rohstoffberechnung: Kursimport Goldmarkt auf Konfigurieren. Sie sind auf zwei Überschriften verteilt: Kursimport und Zugangsdaten. Klicke nach jeder Änderung oben rechts auf Speichern.
Abb. 2: Konfigurationsseite: oben die Auswahl Verkaufskanal, darunter die Einstellungen unter Kursimport.
Die Einstellungen gelten für den ganzen Shop. Die Kurse der Rohstoffberechnung gelten für alle Verkaufskanäle, deshalb liest das Plugin seine Einstellungen ohne Bezug auf einen Verkaufskanal. Über den Einstellungen steht trotzdem die Auswahl Verkaufskanal. Die brauchst du hier nicht: Lass sie auf Alle Verkaufskanäle stehen und trag deine Einstellungen dort ein. Werte, die du nur für einen einzelnen Verkaufskanal hinterlegst, beachtet das Plugin nicht.
Kursimport
Abb. 3: Unter Kursimport: Dokumentation öffnen, Kurse bei Goldmarkt abrufen und Abrufintervall (Minuten).
Dokumentation öffnen
Ganz oben unter der Überschrift Kursimport steht die Schaltfläche Dokumentation öffnen. Sie öffnet diese Anleitung in einem neuen Browser-Tab, und zwar in der Sprache, in der du die Administration gerade nutzt.
Wozu das gut ist: Du hast die Anleitung genau dort griffbereit, wo du die Einstellungen änderst.
Kurse bei Goldmarkt abrufen
Mit Kurse bei Goldmarkt abrufen legst du fest, ob das Plugin überhaupt Kontakt zu Goldmarkt aufnimmt. Eingeschaltet verbinden sich sowohl der automatische Abruf als auch der Abruf von Hand mit deinen Zugangsdaten zu Goldmarkt. Ausgeschaltet findet keine Verbindung statt. Nach der Installation ist der Schalter ausgeschaltet.
Der Hilfetext hinter dem Fragezeichen am Schalter nennt dazu: „Die Kurse gelten für alle Verkaufskanäle.“
Wozu das gut ist: Du kannst erst in Ruhe alle Zugangsdaten eintragen und schaltest den Abruf erst ein, wenn alles stimmt. Willst du den Abruf vorübergehend anhalten, etwa während einer Umstellung, schaltest du ihn hier aus. Deine Zugangsdaten bleiben dabei gespeichert.
Abrufintervall (Minuten)
Mit Abrufintervall (Minuten) bestimmst du, wie oft das Plugin die Kurse automatisch abholt. Du kannst einen Wert zwischen 5 und 1440 Minuten eintragen. Ab Werk sind es 15 Minuten. Der Hilfetext hinter dem Fragezeichen am Feld sagt dazu: „Eine Änderung gilt ab dem übernächsten Lauf. Setzt einen laufenden Worker für geplante Aufgaben voraus.“
Ein Worker ist ein Hintergrundprozess auf deinem Server, der die geplanten Aufgaben von Shopware ausführt. Läuft er nicht, findet kein automatischer Abruf statt. Ob er läuft, klärst du mit deinem Hosting-Anbieter oder deinem technischen Administrator.
Das Intervall gilt nur für den automatischen Abruf. Startest du den Abruf von Hand, läuft er sofort.
Wozu das gut ist: Du stimmst den Takt auf deinen Bedarf ab. 60 Minuten heißt stündlich, 1440 Minuten heißt einmal am Tag. Ein kürzerer Abstand hält deine Kurse näher am Markt, ein längerer erzeugt weniger Abrufe.
Abrufintervall je Kundentyp
Die Rohstoffberechnung kann für einzelne Kundentypen ein eigenes Abrufintervall (Sekunden) führen (Kataloge → Rohstoffberechnung → Kundentypen). Dann holt dieses Plugin die Kurse dieses Kundentyps in dem Abstand, der dort eingetragen ist; alle übrigen Kundentypen bekommen ihre Kurse im Intervall hier. Die geplante Aufgabe läuft dann im kürzesten dieser Intervalle, frühestens alle 5 Minuten.
Für Intervalle unter 5 Minuten startet deine IT den Befehl resourcecalc:goldmarkt:import jede Minute per System-Cronjob:
* * * * * cd /pfad/zum/shop && php bin/console resourcecalc:goldmarkt:import
Der Befehl holt dann innerhalb der Minute alle Kurse, die fällig werden — bei Intervallen unter einer Minute mehrmals. Befehl und geplante Aufgabe teilen sich den Zeitplan: Jeder Kurs wird je Intervall nur einmal abgerufen, egal über welchen Weg. Ist nichts fällig, endet der Befehl sofort mit einem Hinweis. Mit php bin/console resourcecalc:goldmarkt:import --force holst du die Kurse sofort für alle Kundentypen.
Zugangsdaten
Unter der Überschrift Zugangsdaten trägst du ein, was du von Goldmarkt bekommen hast.
Abb. 4: Unter Zugangsdaten, hier mit Beispielwerten. Deine Schnittstellen-URL, deinen Benutzernamen und dein Passwort bekommst du von Goldmarkt.
Schnittstellen-URL
In Schnittstellen-URL trägst du die Adresse der Goldmarkt-Schnittstelle ein, und zwar ohne Parameter. Was das Plugin für den Abruf an die Adresse anhängt, ergänzt es selbst.
- Schreibst du die Adresse ohne
https://oderhttp://davor, verwendet das Plugin automatischhttps://, also eine verschlüsselte Verbindung. - Trag
http://nur ein, wenn Goldmarkt die Schnittstelle ausschließlich unverschlüsselt anbietet. Dann werden auch Benutzername und Passwort unverschlüsselt übertragen. - Trag Benutzername und Passwort nicht in die Adresse ein, sondern in die beiden Felder darunter. Eine Adresse, die Zugangsdaten enthält, verwendet das Plugin nicht.
Wozu das gut ist: Mit der richtigen Adresse weiß das Plugin, wo es die Kursliste abholt.
Benutzername
In Benutzername trägst du den Benutzernamen für die Goldmarkt-Schnittstelle ein.
Passwort
In Passwort trägst du das zugehörige Passwort ein. Die Administration zeigt es verdeckt an. Über das Augensymbol im Feld kannst du es zur Kontrolle einblenden. Gespeichert wird es allerdings im Klartext in den Einstellungen deines Shops. Wer Zugriff auf die Datenbank deines Shops hat, kann es also lesen. In die Logdatei schreibt das Plugin das Passwort nie.
Wozu das gut ist: Erst mit Schnittstellen-URL, Benutzername und Passwort zusammen kann das Plugin die Kursliste abholen. Fehlt eine der drei Angaben, ruft es nichts ab.
So nutzt du die Funktionen
So holst du die Kurse automatisch ab
Was dir das bringt: Deine Kurse bleiben aktuell, ohne dass du daran denken musst.
Den automatischen Abruf erledigt eine geplante Aufgabe. Das ist ein Vorgang, den Shopware im Hintergrund regelmäßig startet.
Schritt für Schritt
- Öffne Erweiterungen → Meine Erweiterungen und klicke neben Rohstoffberechnung: Kursimport Goldmarkt auf Konfigurieren
- Prüfe, dass unter Zugangsdaten alle drei Angaben eingetragen sind.
- Schalte Kurse bei Goldmarkt abrufen ein.
- Trag im Abrufintervall (Minuten) ein, wie oft die Kurse kommen sollen.
- Klicke oben rechts auf Speichern
Ab jetzt holt das Plugin die Kurse im eingestellten Abstand ab. Jeder Abruf schreibt eine kurze Zusammenfassung in die Logdatei des Plugins (siehe Für Administratoren / Technische Details).
Wichtig: Der automatische Abruf braucht einen laufenden Worker für geplante Aufgaben auf deinem Server. Ohne ihn bleibt der Abruf aus, auch wenn alle Einstellungen stimmen.
So startest du den Abruf von Hand
Was dir das bringt: Du siehst sofort, ob deine Zugangsdaten funktionieren und welche Kurse übernommen wurden, ohne auf den nächsten automatischen Abruf zu warten.
Den Abruf von Hand startest du auf der Kommandozeile deines Servers. Hast du selbst keinen Zugang dazu, bitte deinen Hosting-Anbieter oder technischen Administrator. Der Befehl lautet:
bin/console resourcecalc:goldmarkt:import
Auch beim Abruf von Hand muss Kurse bei Goldmarkt abrufen eingeschaltet sein. Ist der Schalter aus, baut der Befehl keine Verbindung auf und meldet das.
Nach einem erfolgreichen Abruf zeigt der Befehl drei Angaben, auf Englisch:
- Updated codes: die Kurscodes, deren Kurs aktualisiert wurde
- Created codes: die Kurscodes, die neu in deinen Kursdaten angelegt wurden
- Discarded quotes: wie viele Kurse wegen eines ungültigen Werts nicht übernommen wurden
Die übrigen Meldungen des Befehls und ihre Bedeutung findest du in Für Administratoren / Technische Details.
Tipp: Der Befehl eignet sich auch für einen eigenen Cronjob, also einen zeitgesteuerten Auftrag auf dem Server. Bei älteren Versionen hieß er
resourcecalcgoldmarkt:cron. Dieser Name funktioniert weiter.
So prüfst du die importierten Kurse
Was dir das bringt: Du siehst auf einen Blick, welche Kurse angekommen sind und wann.
Schritt für Schritt
- Gehe zu Kataloge → Rohstoffberechnung → Kursdaten
- Sieh dir die Spalten Kursbezeichnung, Kurscode, Aktueller Kurs und Zuletzt geändert an.
Abb. 5: Kursdaten nach einem Abruf mit Kursbezeichnung, Kurscode, Aktueller Kurs und Zuletzt geändert.
So ordnet der Import die Kurse zu:
- Für jeden Eintrag der Kursliste bildet das Plugin einen Kurscode aus dem Code des Eintrags und seiner Währung, zum Beispiel
AU_EUR. - Jede Zeile deiner Kursdaten mit genau diesem Kurscode bekommt den neuen Kurs, die Währung und den Zeitpunkt der Änderung. Das gilt in jedem Kundentyp.
- Gibt es den Kurscode in deinen Kursdaten noch nicht, legt der Import ihn einmal im Standard-Kundentyp an. Als Kursbezeichnung nimmt er den Namen aus der Kursliste, als internen Code denselben Wert wie den Kurscode.
Tipp: Der Import erkennt eine Zeile allein am Kurscode. Pflegst du einen Kurs schon unter einem anderen Kurscode, lässt der Import diese Zeile unverändert und legt eine zusätzliche an. Prüfe nach dem ersten Abruf deshalb, welche Zeilen neu dazugekommen sind, und gleiche sie mit deinen bisherigen Kursdaten ab. Welche Kurscodes neu angelegt wurden, zeigt dir der Abruf von Hand unter Created codes.
Tipp: Brauchst du einen neu angelegten Kurs auch in einem weiteren Kundentyp, lege in den Kursdaten über Kursdaten hinzufügen eine Zeile mit diesem Kundentyp und demselben Code an und fülle die übrigen Angaben wie gewohnt aus. Ab dem nächsten Abruf bekommt auch diese Zeile den Kurs.
Tipp: Sieh dir neu angelegte Zeilen einmal an und ergänze, was deine Preisberechnung braucht, zum Beispiel ob es sich um eine Währung handelt (Ist eine Währung).
So kommen die neuen Kurse in deine Artikelpreise
Was dir das bringt: Du weißt, an welcher Stelle aus dem neuen Kurs ein neuer Artikelpreis wird.
Der Kursimport schreibt nur die Kurse in die Kursdaten. Die in den Artikeln gespeicherten Preise aktualisiert der Befehl resourcecalc:cron der Rohstoffberechnung. Der Kursimport startet diesen Befehl nicht selbst.
Nutzt du zusätzlich das Plugin Artikelankauf, folgt auch der Ankaufpreis dem importierten Kurs. Für den Kursimport selbst brauchst du den Artikelankauf nicht.
Abb. 6: Beispielartikel „Goldbarren 10 g“: Der Verkaufspreis (Rohstoffberechnung) und der Preis unter „Aktueller Ankaufspreis“ (Artikelankauf) entstehen aus dem importierten Goldkurs.
Was mit ungültigen oder unvollständigen Kursen passiert
Was dir das bringt: Ein fehlerhafter Wert in der Kursliste wird nicht zu einem fehlerhaften Kurs in deinem Shop.
- Ungültiger Kurs: Ist ein Kurs 0, negativ oder keine Zahl, übernimmt der Import ihn nicht. Der zuletzt gespeicherte Kurs bleibt stehen, bis ein gültiger Wert kommt. Beim Abruf von Hand siehst du die Anzahl unter Discarded quotes.
- Unvollständiger Eintrag: Fehlt einem Eintrag der Kursliste der Code oder die Währung, überspringt das Plugin ihn und vermerkt das in seiner Logdatei.
- Shop-Währungen: Die Währungen deines Shops ändert der Import nicht.
Ein Beispiel zeigt Abb. 5 in So prüfst du die importierten Kurse: Die beiden Zeilen mit dem Kurscode PD_EUR (Palladium und Palladium Händler) stehen unter Zuletzt geändert noch auf dem Stand vom Vortag. Der Import hat ihren gelieferten Kurs 0 verworfen, ihr gespeicherter Kurs ist geblieben. Alle anderen Zeilen hat der Abruf aktualisiert.
So schaltest du den Abruf vorübergehend ab
Was dir das bringt: Du hältst den Abruf an, ohne Zugangsdaten zu löschen oder das Plugin zu deaktivieren.
- Öffne Erweiterungen → Meine Erweiterungen und klicke neben Rohstoffberechnung: Kursimport Goldmarkt auf Konfigurieren
- Schalte Kurse bei Goldmarkt abrufen aus.
- Klicke oben rechts auf Speichern
Ab jetzt verbindet sich das Plugin nicht mehr mit Goldmarkt, weder automatisch noch von Hand. Deine Kursdaten bleiben unverändert. Zum Fortsetzen schaltest du den Schalter wieder ein.
Wenn du von einer älteren Version aktualisierst
Was dir das bringt: Dein bisheriger Abruf läuft nach dem Update ohne neue Einrichtung weiter.
- Deine Zugangsdaten bleiben erhalten.
- War vor dem Update eine Schnittstellen-URL eingetragen, ist Kurse bei Goldmarkt abrufen nach dem Update eingeschaltet.
- Der bisherige Befehlsname
resourcecalcgoldmarkt:cronfunktioniert weiter. Ein vorhandener Cronjob muss nicht angepasst werden.
Fehlerbehebung
Viele Fragen klärst du am schnellsten mit einem Abruf von Hand (siehe So startest du den Abruf von Hand). Die Meldung zeigt, woran es hängt. Die genauen Meldungstexte stehen in Für Administratoren / Technische Details.
Die Kurse ändern sich nicht
Woran es liegt: Meist ist der Abruf ausgeschaltet, eine Zugangsangabe fehlt oder auf dem Server läuft kein Worker für geplante Aufgaben.
So behebst du es:
- Prüfe, dass Kurse bei Goldmarkt abrufen eingeschaltet und gespeichert ist.
- Prüfe, dass Schnittstellen-URL, Benutzername und Passwort ausgefüllt sind.
- Starte den Abruf einmal von Hand. Klappt er dort, läuft vermutlich der Worker für geplante Aufgaben nicht. Kläre das mit deinem Hosting-Anbieter oder technischen Administrator.
Der Abruf von Hand meldet, dass der Abruf ausgeschaltet ist
Woran es liegt: Kurse bei Goldmarkt abrufen ist ausgeschaltet. Der Befehl hat keine Verbindung aufgebaut.
So behebst du es: Schalte Kurse bei Goldmarkt abrufen ein, klicke auf Speichern und starte den Abruf erneut.
Der Abruf von Hand meldet unvollständige Zugangsdaten
Woran es liegt: Eine der drei Angaben unter Zugangsdaten fehlt oder ist nicht verwendbar. Die Meldung nennt am Ende auf Englisch, welche.
So behebst du es:
- Trag die fehlende Angabe ein und klicke auf Speichern.
- Wird die Schnittstellen-URL bemängelt, obwohl sie ausgefüllt ist: Prüfe, dass sie mit
https://oderhttp://beginnt oder ganz ohne Protokoll eingetragen ist und dass sie keine Zugangsdaten enthält.
Die Verbindung zu Goldmarkt kommt nicht zustande
Woran es liegt: Die Schnittstellen-URL ist falsch geschrieben, die Zugangsdaten stimmen nicht, die Gegenseite antwortet nicht rechtzeitig oder dein Server darf keine Verbindung nach außen aufbauen.
So behebst du es:
- Vergleiche Schnittstellen-URL, Benutzername und Passwort Zeichen für Zeichen mit den Angaben von Goldmarkt.
- Bleibt der Fehler, gib die Meldung des Befehls oder den Eintrag aus der Logdatei an Goldmarkt oder deinen Hosting-Anbieter weiter. Beide enthalten keine Zugangsdaten.
Die Antwort ist keine Kursliste
Woran es liegt: Unter der eingetragenen Adresse kommt eine Antwort, die das Plugin nicht als Kursliste lesen kann, zum Beispiel eine leere Antwort oder eine Webseite.
So behebst du es: Prüfe mit den Angaben von Goldmarkt, ob die Schnittstellen-URL stimmt. Trag sie ohne Parameter ein, das Plugin ergänzt sie selbst.
Ein Kurs bleibt auf seinem alten Wert stehen
Woran es liegt: Entweder war der gelieferte Wert ungültig (0, negativ oder keine Zahl) und wurde verworfen, oder deine Zeile trägt einen anderen Kurscode als der Import.
So behebst du es:
- Starte den Abruf von Hand und sieh nach, ob unter Discarded quotes Kurse verworfen wurden. Die Details stehen in der Logdatei.
- Vergleiche den Kurscode deiner Zeile mit den Kurscodes, die der Import bildet (siehe So prüfst du die importierten Kurse).
Der Abruf meldet, dass kein Kurs geschrieben wurde
Woran es liegt: Die Verbindung hat geklappt, aber kein einziger Kurs war verwendbar.
So behebst du es: Die Gründe stehen in der Logdatei der Rohstoffberechnung (siehe Für Administratoren / Technische Details). Gib sie bei Bedarf an Goldmarkt weiter.
Für einen Kurs ist eine zweite Zeile entstanden
Woran es liegt: Der Import hat den Kurscode in deinen Kursdaten nicht gefunden und ihn deshalb neu angelegt.
So behebst du es: Gleiche die neue Zeile mit deiner bisherigen ab und entscheide, mit welcher du weiterarbeitest (siehe So prüfst du die importierten Kurse).
Die Artikelpreise ändern sich nach dem Import nicht
Woran es liegt: Der Kursimport schreibt nur die Kurse. Die gespeicherten Artikelpreise aktualisiert der Befehl resourcecalc:cron der Rohstoffberechnung.
So behebst du es: Prüfe mit deinem technischen Administrator, ob und wann resourcecalc:cron in deinem Shop läuft.
Das neue Abrufintervall greift nicht sofort
Woran es liegt: Die geplante Aufgabe übernimmt den neuen Wert erst bei ihrem nächsten Lauf. Bis der neue Abstand wirkt, kommen deshalb noch ein bis zwei Abrufe im bisherigen Takt (Details in Für Administratoren / Technische Details).
So behebst du es: Nichts tun und den nächsten Lauf abwarten. Brauchst du die Kurse sofort, starte den Abruf von Hand.
Die Schaltfläche „Dokumentation öffnen“ fehlt
Woran es liegt: Die Schaltfläche erscheint nur für Benutzer, deren Rolle Plugins lesen darf. Konnte der Link nicht geladen werden, erscheint die Meldung „Der Link zur Dokumentation konnte nicht geladen werden.“
So behebst du es: Lade die Seite neu oder bitte einen Administrator, deiner Rolle das Leserecht für Plugins zu geben. Die Adresse dieser Anleitung findest du auch in Abschnitt 8.
FAQ
F: Brauche ich dafür die Rohstoffberechnung?
A: Ja. Das Plugin Rohstoffberechnung muss installiert und aktiv sein. Der Kursimport schreibt die Kurse in deren Kursdaten.
F: Woher bekomme ich die Zugangsdaten?
A: Du brauchst Zugangsdaten für die Goldmarkt-Schnittstelle: Schnittstellen-URL, Benutzername und Passwort. Die bekommst du von Goldmarkt.
F: Welche Kurse übernimmt das Plugin?
A: Jeden Eintrag der Kursliste, der einen Code und eine Währung hat. Eine Auswahl einzelner Kurse im Plugin gibt es nicht.
F: Kann ich die Kurse je Verkaufskanal unterschiedlich steuern?
A: Nein. Die Kurse gelten für alle Verkaufskanäle, und das Plugin liest seine Einstellungen für den ganzen Shop.
F: Ändert der Import meine Shop-Währungen?
A: Nein. Der Import schreibt nur in die Kursdaten der Rohstoffberechnung.
F: Brauche ich das Plugin Artikelankauf?
A: Nein. Nutzt du es, folgt der Ankaufpreis dem importierten Kurs. Der Kursimport funktioniert auch ohne.
F: Welche Daten verlassen meinen Shop?
A: Nur dein Benutzername und dein Passwort für die Goldmarkt-Schnittstelle, gesendet an die Schnittstellen-URL, die du einträgst. Kunden-, Bestell- und Artikeldaten sendet das Plugin nicht. Ist Kurse bei Goldmarkt abrufen ausgeschaltet, baut es keine Verbindung auf.
F: Steht mein Passwort in einer Logdatei?
A: Nein. Das Plugin schreibt das Passwort nie in die Logdatei, und Fehlermeldungen enthalten keine Zugangsdaten.
F: Merkt meine Storefront etwas vom Plugin?
A: Nein. Das Plugin bringt nichts in die Storefront mit. Es arbeitet nur im Hintergrund und auf der Kommandozeile.
F: Was passiert mit meinen Kursen, wenn ich das Plugin deinstalliere?
A: Die importierten Kurse stehen in den Kursdaten der Rohstoffberechnung und bleiben dort erhalten. Behältst du beim Deinstallieren die Daten des Plugins nicht, entfernt Shopware auch die Einstellungen samt Zugangsdaten.
Für Administratoren / Technische Details
Dieser Abschnitt richtet sich an technische Administratoren. Für die normale Nutzung brauchst du ihn nicht.
Systemanforderungen
- Shopware: 6.7.7 oder höher (Voraussetzung der Rohstoffberechnung)
- PHP: 8.2 oder neuer
- Rohstoffberechnung: Plugin
SwpResourceCalcSixin Version 6.7, installiert und aktiv - Automatischer Abruf: laufender Worker für geplante Aufgaben, zum Beispiel über
bin/console scheduled-task:runundbin/console messenger:consume - Netzwerk: ausgehende Verbindung vom Server zur Schnittstellen-URL
Installation über die Kommandozeile
Liegt das Plugin bereits im Shop, installierst du es so:
bin/console plugin:refresh
bin/console plugin:install --activate SwpResourceCalcSix # falls noch nicht installiert
bin/console plugin:install --activate SwpResourceCalcGoldmarktSix
bin/console cache:clear
Abruf auf der Konsole und per Cronjob
bin/console resourcecalc:goldmarkt:import
- Der frühere Name
resourcecalcgoldmarkt:cronist ein Alias und funktioniert weiter. - Exit-Code
0: Kurse geschrieben, oder der Abruf ist ausgeschaltet (Warnung, keine Verbindung). - Exit-Code
1: Zugangsdaten unvollständig, Abruf fehlgeschlagen oder kein Kurs geschrieben. - Auch der Befehl beachtet Kurse bei Goldmarkt abrufen. Die geplante Aufgabe läuft unabhängig von einem eigenen Cronjob weiter, solange der Abruf eingeschaltet ist und der Worker läuft.
Beispiel für einen Cronjob (Pfad an deinen Shop anpassen):
*/15 * * * * cd /pfad/zum/shop && bin/console resourcecalc:goldmarkt:import
Geplante Aufgabe
- Name:
swp.resource_calc_goldmarkt.rate_import, Standardintervall 900 Sekunden (15 Minuten). - Bei jedem Lauf übernimmt die Aufgabe das eingestellte Abrufintervall (Minuten) (5 bis 1440) in ihr eigenes Intervall. Den Zeitpunkt des darauffolgenden Laufs berechnet Shopware dabei noch mit dem bisherigen Intervall, weil es dieses vor dem Lauf gelesen hat. Der neue Abstand gilt deshalb erst ab dem Lauf danach.
- Schlägt ein Lauf fehl, plant Shopware den nächsten trotzdem ein.
Aufruf der Schnittstelle
Das Plugin ruft die Schnittstelle per GET auf und hängt die Parameter selbst an:
<Schnittstellen-URL>?page=resources&g=<Benutzername>&i=<Passwort>&t=xml
- Ohne Protokoll wird
https://vorangestellt.http://wird nur verwendet, wenn es ausdrücklich eingetragen ist. - Andere Protokolle als
http/https, Adressen ohne Host und Adressen mit Zugangsdaten in der Formbenutzer:passwort@werden abgelehnt. Der Befehl meldet die Schnittstellen-URL dann als fehlend. - Höchstens 3 Weiterleitungen.
- Zeitlimits: Abbruch nach 10 Sekunden ohne Antwort, höchstens 30 Sekunden je Abruf. Antworten über 5 MB werden abgebrochen.
- Weil Benutzername und Passwort Teil der aufgerufenen Adresse sind, können sie in Zugriffsprotokollen der Gegenseite oder von Proxys auftauchen. Fehlermeldungen und Logdatei des Plugins enthalten weder den Abfrageteil der Adresse noch die Zugangsdaten.
Erwartetes Antwortformat und Bildung des Kurscodes
- Das Plugin erwartet XML mit einem Element
resourceje Kurs, darin die Kindelementecode,currencyundvaluesowie das Attributtitel. - Kurscode =
<code>_<currency>, zum BeispielAU_EUR. Kursbezeichnung neu angelegter Zeilen = Attributtitel. valuemuss eine Zahl sein, mit Punkt als Dezimaltrennzeichen. Ein Wert, der keine Zahl ist (auch mit Komma als Dezimaltrennzeichen), zählt als 0 und wird verworfen.- Einträge ohne
codeodercurrencywerden übersprungen und mit ihrer Position in der Liste protokolliert. - Eine leere Antwort, eine Antwort ohne gültiges XML oder ohne verwendbares
resource-Element gilt als „keine Kursliste“. Dann wird nichts geschrieben.
Schreiben in die Kursdaten
- Geschrieben wird über die Import-Schnittstelle der Rohstoffberechnung.
- Jede Zeile der Kursdaten mit dem Kurscode erhält Kurs, Währung und Änderungszeit, in jedem Kundentyp.
- Ein unbekannter Kurscode wird einmal im Standard-Kundentyp angelegt, mit Kursbezeichnung aus der Kursliste und internem Code = Kurscode.
- Kurse, die 0, negativ oder keine Zahl sind, werden verworfen. Der gespeicherte Kurs bleibt.
- Shop-Währungen werden nicht verändert.
- Artikelpreise werden nicht neu berechnet. Die gespeicherten Artikelpreise aktualisiert der Befehl
resourcecalc:cronder Rohstoffberechnung. Der Kursimport ruft ihn nicht auf.
Logdateien
var/log/SwpResourceCalcGoldmarktSix-<datum>.log, eine Datei je Tag: Zusammenfassung jedes Abrufs (Anzahl der Einträge, aktualisierte, neu angelegte und verworfene Kurscodes mit Grund), Verbindungsfehler mit Host, unlesbare Antworten mit ihrer Größe, übersprungene Einträge, unvollständige Zugangsdaten. Die Meldungen lauten:Goldmarkt rates importedGoldmarkt rates could not be fetchedGoldmarkt response could not be readGoldmarkt rate import skipped: access data incompleteGoldmarkt rate skipped: code or currency missing
var/log/SwpResourceCalcSix-<datum>.log: Verworfene Kurse protokolliert zusätzlich die Rohstoffberechnung.
Meldungen beim Abruf von Hand
Fetching rates from Goldmarkt is switched off in the plugin configuration. No connection was made.— Kurse bei Goldmarkt abrufen ist aus. Einschalten und speichern.Goldmarkt access data incomplete, missing: …— Dahinter steht, welche Angabe fehlt oder nicht verwendbar ist:urlfür Schnittstellen-URL,loginfür Benutzername,passwordfür Passwort.Goldmarkt request to <host> failed: …— Die Verbindung kam nicht zustande, zum Beispiel wegen Zeitüberschreitung, Namensauflösung oder Zertifikat. Adresse und Netzwerk prüfen.Goldmarkt (<host>) answered with HTTP status <status>— Die Gegenseite hat mit einem Fehlerstatus geantwortet. Adresse und Zugangsdaten prüfen, Status an Goldmarkt weitergeben.Goldmarkt response is not a rate list: …— Die Antwort ist leer, kein gültiges XML oder enthält keinen verwendbaren Eintrag. Dahinter steht der Grund, zum Beispielempty response,no resource elements,no resource element with code and currencyoderno valid XML.No rate was written. Details: log file SwpResourceCalcSix of the resource calculation.— Verbindung in Ordnung, aber kein Kurs war verwendbar. Gründe in der Logdatei der Rohstoffberechnung.Goldmarkt rates imported. Product prices are stored by the command resourcecalc:cron.— Abruf erfolgreich. Darüber stehen Updated codes, Created codes und Discarded quotes.
Update von einer älteren Version
- Beim Update von einer Version vor 6.7.0 bleiben die Zugangsdaten erhalten. War eine Schnittstellen-URL eingetragen, wird Kurse bei Goldmarkt abrufen eingeschaltet, damit der Abruf wie bisher weiterläuft.
- Einstellungen früherer Versionen, die das Plugin nicht mehr verwendet, werden bei Installation und Update entfernt.
Deinstallation
Das Plugin hat keine eigenen Tabellen. Beim Deinstallieren entfernt Shopware die geplante Aufgabe und, wenn die Daten nicht behalten werden, die Konfiguration samt Zugangsdaten. Bereits importierte Kurse bleiben in den Kursdaten der Rohstoffberechnung.
Diese Anleitung wurde für Rohstoffberechnung: Kursimport Goldmarkt Version 6.7.0 erstellt.
Weitere Handbücher
Admin Passwort Erinnerung
Admin Passwort Erinnerung: Deine Backend-Benutzer erneuern ihre Passwörter rechtzeitig, mit Hinweis nach dem Login und täglicher E-Mail. Premium sperrt abgelaufene Zugänge.
Handbuch öffnen Shopware 6Adressprüfung: Hausnummer-Check & Korrekturvorschläge
Adressprüfung bei der Eingabe: Das Plugin erkennt fehlende Hausnummern, schlägt auf Wunsch über Google Korrekturen vor und sorgt für weniger Pakete, die unzustellbar zurückkommen.
Handbuch öffnen Shopware 6Adventskalender | Türchen mit Produkten, Gutscheinen und Aktionen
Adventskalender für deine Erlebniswelten: Die Türchen öffnen pünktlich ohne Cache leeren, verraten vorab nichts im Quelltext und zeigen Gutscheine, Produkte oder eigene Inhalte.
Handbuch öffnenWer betreut deinen Shop, wenn es ernst wird?
Wir pflegen Shopware-Shops seit über 20 Jahren, inklusive Updates, Hotfixes und der Plugins, die du hier gerade einrichtest.