FROM CACHE - de_header
Diese Community hat auf Peer-to-Peer-Support umgestellt. Der Shopify Support wird diese Community nicht mehr betreuen. Wir empfehlen dir, dich mit anderen Händler:innen und Partner:innen in Verbindung zu setzen, um Unterstützung zu erhalten und Erfahrungen auszutauschen. Bitte melde weiterhin alles, was gegen unseren Verhaltenskodex verstößt, oder Inhalte, die deiner Meinung nach entfernt werden sollten.

Fehlermeldung beim Daten Import eines leeren Metafeldes über die API Schnittstelle in Shopify

Fehlermeldung beim Daten Import eines leeren Metafeldes über die API Schnittstelle in Shopify

Webdesignetc
Shopify Partner
5 0 0

Hallo zusammen,

wir haben für einen Kunden einen Onlineshop entwickelt, dessen wichtigster Bestandteil eine Schnittstelle ist, die die Daten vom Warenwirtschaftssystem unseres Kunden (INTEGRA - falls das wer kennt) in regelmäßigen Intervallen in den Shop schaufelt und vom Shop im Gegenzug die neuen Bestellungen einsammelt. 

 

Wir bekommen eine Fehlermeldung beim Aktualisieren eines Metafeldes in Shopify, wenn dieses wieder leer ist, nachdem es bereits einmal befüllt war. Die Fehlermeldung lautet schlicht: "Can't be blank".

 

Beispiel: In einem Metafeld eines Produktes haben wir zunächst die Artikelnummer eingetragen. Die Daten wurden in den Shop übertragen. Einige Zeit später merken wir, dass wir die Artikelnummer ins falsche Feld eingetragen haben. Wir löschen sie also wieder (das Metafeld wird leer) und tragen sie in das dafür vorgesehene Metafeld ein. Nun kommt es zu dem Ereignis, dass in diesem Metafeld im Warenwirtschaftssystem *nichts* mehr drin steht, im Metafeld in Shopify aber schon. Es soll ein leerer Eintrag importiert werden, wo vorher etwas gewesen ist. Kurz: der Eintrag (Artikelnummer im falschen Feld) soll wieder gelöscht werden. Wie bekommen wir Shopify dazu, dies zu tun?

Bin für jeden Tipp dankbar.

Beste Grüße 

 

 

7 ANTWORTEN 7

Nordalux
Shopify Partner
198 24 34

Moin,

Kurz zum Verständnis: Die WaWi wird durch Shopify gesynct, wenn sich etwas ändert? Wenn nicht, würde ich sowas noch mit einbauen.

Um ein Metafeld zu "nullen", muss da ein passender string rein. Empty bzw. NULL sollten hier übergeben werden. Siehe hier: https://shopify.dev/docs/api/liquid/objects/metafield

Dieses can't be blank habe ich bisher so nicht gehabt. Am Ende des Tages soll es aber auch egal sein, da das Metafeld bereits blank ist. Versucht ihr da etwas zu überschreiben, wessen Zustand bereits so ist?

Tobias von Nordalux

Webseite: nordalux.de
Unsere Kernkompetenzen: Coding - Conversionoptimierung - Individualberatungen
Webdesignetc
Shopify Partner
5 0 0

Guten Morgen Nordalux,

vielen Dank für Deine Antwort. ja genau: die WaWi wird durch Shopify gesynct, wobei das Syncen von der WaWi ausgeht: in regelmäßigen Abständen (alle 5 Minuten) werden die Daten gesynct. 

Das Metafeld war anfänglich leer, dann haben wir einen String im WaWi reingeschrieben, der wurde in den Shop gesynct. Dann stand er im Shop im Metafeld drin. Dann haben wir den String wieder aus dem Feld im WaWi gelöscht und beim neuen Syncen war unser Feld im WaWi leer und im Shop wurde das Feld aber nicht geleert, weil Shopify gemeint hat "can't be blank". Aber deshalb ist dein Hinweis mit "Empty" bzw. "NULL" schon mal Gold wert. Das werden wir probieren!

Webdesignetc
Shopify Partner
5 0 0

Moin Mordalux,

Wir haben das "nullen" des Metafelds mit dem String "NULL" ausprobiert. Tatsächlich führt das dazu, dass dann "NULL" als Wort ins Feld geschrieben wird, das Metafeld also *nicht* geleert wird. In der oben genannten Referenz steht dazu auch nichts drinnen... 
Was könnten wir sonst noch probieren?

Nordalux
Shopify Partner
198 24 34

Wie sieht es mit empty aus?

Ansonsten: Welche Wawi wird genau genutzt? Wie gesagt.. Im Normalfalle sollte da keine Fehlermeldung entstehen. Auch lt. Dokumentation sollte dies so übergeben werden, wie das hier kurz angesprochen wurde. Meine Vermutung ist auch ein Syntaxfehler, der sich aber am Ende anders ausgibt.

Tobias von Nordalux

Webseite: nordalux.de
Unsere Kernkompetenzen: Coding - Conversionoptimierung - Individualberatungen
Webdesignetc
Shopify Partner
5 0 0

"empty" werden wir probieren, ich befürchte aber, dass da der String auch einfach ins Feld eingetragen wird und dann dort "empty" steht ... Ein Versuch ist es jedenfalls wert 🙂

Wir benutzen INTEGRA als Warenwirtschaftssystem. 
Ein Syntaxfehler könnte es auch sein ... 🤔 Ich zitiere jetzt mal die Fehlermeldung, die wir bekommen:
------------------------------------------------------------
13.09.24 10:44:23: UPDATE Namespace: xxxxxxxx; Key: nutrients; Value:
13.09.24 10:44:23: ERR: Problem beim Aktualisieren des Metafelds
13.09.24 10:44:23: Request-Method: PUT
13.09.24 10:44:23: Request-URL: https://xxxxxxxx.myshopify.com/admin/api/2024-07/products/8360560853157/metafields/1874787493.json
13.09.24 10:44:23: Request-Body: {
    "metafield": {
    "value":""
   }

}

13.09.24 10:44:23: Response-StatusCode: 422
13.09.24 10:44:24: Response-Content: {"errors":{"value":["can't be blank."]}}
13.09.24 10:44:24: Response-JSONText: {
   "errors": {
    "value": [ "cant' be blank."]
   }
}
13.09.24 10:44:24: Artikel 00087005 erfolgreich aktualisiert. Shopify-ID: 8360560853157
-----------------------------------------------------------------

Nordalux
Shopify Partner
198 24 34

Mein MA machte mich gerade auf etwas aufmerksam, was hier der Fall sein könnte: Nutzt ihr die aktuelle API? Wenn ihr eine ältere nutzt, erklärt es solche Fehler.

Tobias von Nordalux

Webseite: nordalux.de
Unsere Kernkompetenzen: Coding - Conversionoptimierung - Individualberatungen
Webdesignetc
Shopify Partner
5 0 0

Laut unserer Kenntnis und dem Auszug aus dem Fehlerprotokoll oben haben wir die bis quasi gestern (1.10.2024) neueste API Version in Verwendung ---> api/2024-07/.... Aber vielleicht entfällt der Fehler mit dem Update auf die neueste API 2024-10 ...🤔