EulandaXtools — Funktionsreferenz
Legt ein Shopify-Produkt an oder aktualisiert es (Upsert per SKU).
Set-ShopifyProduct [-Shop] <string> [-Token] <string> [-ApiVersion] <string> [-Product] <hashtable>
[[-MaxRetries] <int>] [[-TimeoutSec] <int>] [<CommonParameters>]Prüft über Get-ShopifyProduct, ob bereits ein Produkt mit der angegebenen SKU existiert. Falls ja, wird es aktualisiert, andernfalls neu angelegt (productSet Mutation, GraphQL Admin API).
Die Eingabe-Hashtable verwendet REST-kompatible Feldnamen (body_html, product_type), die intern auf GraphQL-Felder gemappt werden.
Das Ergebnis wird in ein REST-kompatibles Format normalisiert: GIDs werden in numerische IDs umgewandelt, edges in flache Arrays.
-Shop
Type: stringShopify-Shop-Domain, z.B. 'mein-shop.myshopify.com'.
-Token
Type: stringAdmin API Access Token (shpat_...) der Custom App.
-ApiVersion
Type: stringAPI-Version, z.B. '2025-01'.
-Product
Type: hashtableHashtable mit den Produktdaten. Muss mindestens eine Variante mit SKU enthalten. Beispiel: @{ title = 'Testartikel' body_html = '
Beschreibung
' vendor = 'EULANDA' variants = @(@{ sku = '1100'; price = '19.99' }) }-MaxRetries
Type: int
Default: 3Maximale Anzahl Wiederholungen bei Rate-Limit.
-TimeoutSec
Type: int
Default: 60HTTP Timeout in Sekunden.
pscustomobject# Produkt anlegen oder aktualisieren
$product = @{
title = 'Grundmodul 1100'
body_html = '<p>Das Standard-Grundmodul</p>'
vendor = 'EULANDA'
variants = @(@{ sku = '1100'; price = '29.99' })
}
Set-ShopifyProduct -Shop 'mein-shop.myshopify.com' `
-Token 'shpat_abc123' -ApiVersion '2025-01' -Product $product# Preis aktualisieren (Produkt existiert bereits)
$product = @{
title = 'Grundmodul 1100'
variants = @(@{ sku = '1100'; price = '39.99' })
}
Set-ShopifyProduct -Shop $shop -Token $token -ApiVersion '2025-01' -Product $product