Rest API - Prüfen auf vorhandene Artikel ohne Log-Eintrag

Hallo zusammen,

jeden Tag aktualisieren wir via API einen großen Datensatz eines Lieferanten. Nicht vorhandene Artikel erzeugen einen Eintrag im Log - „Product by number „123XYZ“ not found“ / NotFoundException…

  • Kann man das Loggen nur für diesen Fall irgendwie unterdrücken/deaktivieren?

  • Gibt es alternativ mit der API eine Möglichkeit, vorher zu prüfen, ob ein Artikel vorhanden ist, ohne einen Eintrag im Log?

Im Logfile sind pro Tag sonst mehrere tausend Einträge, die kein Mensch braucht.

Vielen Dank!

Bertl

Hallo @musikdiscount24‍,

einfach überprüfen Sie dass beim Sql query oder API request.

Sql query würde schneller.

VG,

Tel.: +49 755 - 183 990 00 | Web: http://enbit.de/

1 „Gefällt mir“

Hallo @ahmadsaad‍,

danke für Deine Antwort. Das Problem ist, dass bei einer Prüfung mittels API request (GET in diesem Falle) ein NotFoundException im Log eingetragen wird. Ich nutze die ApiClient Klasse von Shopware. Kann ich dort das Logging unterbinden?

Viele Grüße,

musikdiscount24

Er schlägt ja vor via SQL zu prüfen ob ein Artikel existiert.

Hallo @NextMike‍,

sorry, da hast du Recht. Dann werd ich mich mal daran versuchen. 

Leider weiß ich nicht, wie ich ohne die API auf die Datenbank zugreifen kann. In diesem Artikel wird mit 

 Shopware()-\>Db()-\>fetchOne

gearbeitet, das wäre passend. Nur leider weiß ich nicht, wie ich darauf zugreife (also was ich via require einfügen muss).

Hast du da einen Rat?

Viele Grüße

Du könntest es als Plugin umsetzen: https://developers.shopware.com/developers-guide/plugin-quick-start/

Wenn du es aber noch nie gemacht hast, dann hast du etwas vor.

Ansonsten ganz primitiv über PDO. Du müsstest nur schauen wie du es schaffst dich mit der Datenbank zu verbinden (remote oder lokal)

1 „Gefällt mir“

Hallo @ahmadsaad‍,

vielen Dank! Habe es jetzt mit einer PDO-Verbindung und SQL gemacht und in meine Cronjobs eingebunden. Dadurch werden keine Fehler mehr in den Logs abgelegt.

Viele Grüße