Bilder nach Mandant filtern bei "PlentyGetVariations"

Hallo Supportteam,

ich rufe Artikel über “PlentyGetVariations” aus PlentyONE ab und übertrage sie anschließend nach Shopify. Das funktioniert grundsätzlich sehr gut.

Aktuell stehe ich jedoch vor einer Herausforderung bei den Artikelbildern:
Wir arbeiten in Plenty mit zwei unterschiedlichen Mandanten, entsprechend haben die Bilder auch unterschiedliche Mandanten-Verfügbarkeiten.

Über “PlentyGetVariations” erhalte ich derzeit lediglich alle Bild-URLs, unabhängig vom Mandanten.
Meine Frage ist daher:

Wie kann ich sicherstellen, dass nur die Bilder übertragen werden, die für den im Step gefilterten Mandanten freigegeben sind?

In den Step-Einstellungen gibt es ja bereits einen Filter nach Mandant. Wäre es daher nicht logisch, dass bei gesetztem Mandanten-Filter auch nur die für diesen Mandanten freigegebenen Bilder ausgegeben werden?
Oder gibt es hierfür einen empfohlenen Workaround?

VG
Thomas

Die Verfügbarkeiten der Bilder werden nur vom PlentyGetVariationImages Step ausgegeben. Die einzige Möglichkeit, die ich aktuell sehe, wäre:

  1. (gefilterte) Varianten über PlentyGetVariations Step abrufen (ohne Bilder)
  2. für diese Varianten die Bilder über den PlentyGetVariationImages Step abrufen.
  3. Mit Hilfe des Filter Steps die Bilder nach Mandanten-Verfügbarkeit filtern:
  4. ImageAvailabilitiesMandant == "<id>" || ImageAvailabilitiesMandant == "-1" ( <id> muss noch ersetzt werden, „-1“ ist gesetzt, wenn das Bild für alle verfügbar ist )
  5. Bilder im Mapper nach Varianten ID gruppieren und dann mit dem PlentyGetVariations Step Ergebnis zusammenführen ( z.B. über einen Datastore)

Wir verwenden da den `anyClientId" Parameter der Plenty API. Dieser bezieht sich leider nur auf die Varianten-Verfügbarkeiten. Für die Bilder gibt es nur einen Filter für die Marktplatz-Verfügbarkeiten. Für die Mandanten-Verfügbarkeiten gibt es anscheinend keinen Filtermöglichkeit (jedenfalls nicht in der Plenty Doku)

VG Torsten

Guten Morgen @synesty-Torsten

Danke für deine schnelle Antwort.

Habe deinen Workflow so umsetzen können!

Ein Bilder-Filter im Step “PlentyGetVariations “für die Marktplatzverfügbarkeit wäre auch Top wenn ihr das umsetzen könntet.

Ich denke, dass das ein gutes Feature allgemein für den Step ist. Ist das schnell umsetzbar?

VG
Thomas

Hallo Thomas,

wir haben den Filter für die „Bild Marketplatzverfügbarkeit“ im PlentyGetVariations Step hinzugefügt. Du kannst hier eine Marktplatz ID angeben und dann werden im Ergebnis nur noch Varianten mit min. einem vorhandenen Bild (für diesen Marktplatz) ausgegeben.

Zusätzlich haben wir die Bild-Verfügbarkeiten (Spalten: ImageAvailabilitiesMandant, ImageAvailabilitiesMarketplace und ImageAvailabilitiesListing) im Ergebnis des Steps hinzugefügt. Damit ist es jetzt in einem zusätzlichen Mapper Step möglich, nur Bilder auszugeben, die z.B. die Mandanten ID_A aktiviert haben. Um die Bilder zu filtern, kannst du pro BildUrl prüfen, ob die entsprechende Mandanten-Verfügbarkeit vorhanden ist, z.B. mit folgendem Skript im Wert Feld des Mappers:

<#list ItemImageUrls.asList() as img><#assign av = ImageAvailabilitiesMandant.at(img_index)?split(";")><#if av?seq_contains("ID_A") || av?seq_contains("-1") >${img!}<#sep>,</#if></#list>

(ID_A muss noch ersetzt werden)

Damit musst du die Verfügbarkeiten nicht mehr über den PlentyGetVariationImages Step holen und kannst direkt mit dem PlentyGetVariations Ergebnis arbeiten.

VG Torsten

Moin @synesty-Torsten

Was soll ich sagen - Traumhaft!

Danke für die schnelle Umsetzung und Euren immer wieder tollen Support! Deshalb macht die Arbeit mit Euch/Synesty einfach Spaß!

VG
Thomas

1 Like

@synesty-Torsten

Ich wollte gerade meinen Flow umbauen.

Leider bekomme ich keine Werte bei mir angezeigt im PlentyGetVariations. Die URLs sind drin?!

Oder fehlt mir noch ein zusätzliches Feld?

VG
Thomas

Hallo Thomas,

die Daten sollten bei „Varianten Bildverknüpfungen“ mitkommen:

VG Torsten

@synesty-Torsten

Leider nein. Cache für Vorschau hab ich auch gelöscht

VG
Thomas

Hallo Thomas,

ich habe gerade nochmal ausprobiert und „Varianten Bildverknüpfungen“ reicht aus, damit die Bildverfügbarkeiten mitkommen.

Beim Testen habe ich aber auch gemerkt, das es eine Weile dauert, bis Änderungen im Plenty Backend über die API mitkommen. Da scheint es auch eine Art „cache“ zu geben.

Falls du die Bild-Verfügbarkeiten neu gesetzt hattest, kannst du es jetzt bitte nochmal versuchen.

VG Torsten

Guten Morgen @synesty-Torsten

Leider bleiben die Felder bei mir immer noch leer. Ich habe in der Sandbox mal einen neuen Flow angelegt. Keine Filter im Step. Gleiches Ergebnis.

VG
Thomas

Guten Morgen Thomas,

kannst du bitte im Flow den Debug Modus aktivieren und anschließend einen Artikel/Variante abrufen, der definitiv Bilder mit Verfügbarkeiten hinterlegt hat.

Wenn der Flow durchgelaufen ist, kannst du mir die Run ID (am besten per Ticket) schicken. Die Run ID findest du oben im Eventlog.

Ich schaue es mir dann direkt an.

VG Torsten

Noch eine Frage / Idee:
Kannst du für einen Testartikel bitte mal schauen, ob die Spalten im Ergebnis des PlentyGetVariationImages gefüllt sind ?

Hi @synesty-Torsten

Komischerweise gibt mir PlentyGetVariationImages gar kein Ergebnis aus?! Oder hat es was damit zu tun, dass ich in der Sandbox arbeite?

Die Bilder aus meinem Workflow hole ich momentan noch mit PlentyGetItemImages ab. Das funktioniert wunderbar.

Ich schicke dir noch die Run ID via Ticket

VG
Thomas

Hallo Thomas,

vielen Dank! Das hat mir sehr geholfen die Ursache zu finden.
Die Bilder sind nicht mit Varianten verknüpft. Deshalb kommen, sie im PlentyGetVariations nicht mit, wenn „Varianten Bildverknüpfungen“ aktiviert ist und der PlentyGetVariationImages liefert entsprechend auch kein Ergebnis.
Wir fügen die Spalten noch für die „Artikel Bilder“ hinzu („ItemImage…“ Spalten). Ich gebe dir dann nochmal Bescheid, sobald diese verfügbar sind (voraussichtlich nächste Woche).

VG Torsten

1 Like

Hallo Thomas,

die Verfügbarkeiten sind jetzt auch für die Artikelbilder vorhanden (ItemImageAvailabilities... Spalten). Dafür ist es ausreichend, wenn bei den zusätzlichen Feldern „Artikel Bilder“ ausgewählt ist. „Varianten Bildverknüpfungen“ ist nicht notwendig.

Hier nochmal das Skript von oben mit angepassten Spaltennamen:

<#list ItemImageUrls.asList() as img><#assign av = ItemImageAvailabilitiesMandant.at(img_index)?split(";")><#if av?seq_contains("ID_A") || av?seq_contains("-1") >${img!}<#sep>,</#if></#list>

VG Torsten

1 Like

Hi @synesty-Torsten

klappt hervorragend!!!

Danke Dir

VG
Thomas