Verwenden Sie Total Seller zusammen mit Windows PowerShell, um Total Seller an externe Systeme anzubinden oder Import-, Export- und Backup-Funktionen zu automatisieren.
Hinweis: Die Total Seller Cmdlets wurden für PowerShell v3 oder höher entwickelt. PowerShell v3 wird automatisch mit Windows 8 bzw. 8.1, Windows 10 und Windows Server 2012 installiert. Sie können PowerShell v3 für ältere Versionen von Windows von Microsoft herunterladen und installieren. Danach muss Total Seller neu installiert werden, um das Snap-In mit der neuen Version von PowerShell zu registrieren.
Total Seller und das Total Seller PowerShell Snap-In sind als 32 bit Anwendung implementiert. In der 64 bit Version von Windows verwenden Sie "PowerShell (x86)", um die PowerShell Skripte zu entwickeln und auszuführen.
In der 64 bit Version von Windows kann "PowerShell (x86)" auch über die Kommandozeile oder z.B. in der Aufgabenplanung mit folgendem Befehl gestartet werden:
%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
Um ein PowerShell Skript für Total Seller zu erstellen, dass sowohl unter 32 bit und 64 bit von Windows laufen soll, verwenden Sie folgenden Skript-Code:
If ([IntPtr]::Size * 8 -ne 32)
{
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\PowerShell.exe -File $MyInvocation.MyCommand.Path
}
Else
{
# Your script code here
}
Beachten Sie, dass die Verwendung von eigenen PowerShell Skripten in Windows freigeschaltet werden muss. Starten Sie dazu die (32 bit) PowerShell Konsole als Administrator und geben Sie folgenden Befehl ein:
Set-ExecutionPolicy Unrestricted
Total Seller Cmdlets
Verwenden Sie "Get-Help Cmdlet-Name" in PowerShell, um zusätzliche Beschreibungen und Hilfen zu den Cmdlets zu erhalten.
Add-PSSnapin TotalSellerSnapin
Führen Sie den Befehl "Add-PSSnapin TotalSellerSnapin" aus, um die Cmdlets von Total Seller in PowerShell einzubinden. Diesen Befehl sollten Sie zu Beginn einer PowerShell Session oder eines PowerShell-Skripts ausführen.
Connect-TSSession
Parameter: "-Login -Password" oder "-Credentials"
Der Befehl "Connect-TSSession" verbindet PowerShell mit der Total Seller Datenbank und meldet einen Total Seller Benutzer an. Der Benutzer muss entweder ein Total Seller Administrator sein oder in einer Benutzer-Gruppe sein, die Rechte zum Ausführen von Skripten hat.
Tipp: Legen Sie eine eigene Benutzergruppe an, die nur Rechte zum Ausführen von Skripten hat und weisen Sie dieser Gruppe einen neuen Benutzer zu, den Sie ausschließlich mit PowerShell verwenden.
Disconnect-TSSession
Beendet die Verbindung zur Total Seller Datenbank.
Write-TSBackup
Parameter: "-Path"
Sichert die Datenbank von Total Seller in eine Datei.
Wichtig: Wenn Total Seller mit dem Total Seller Server verbunden ist, bezieht sich der Pfad auf dem Computer, auf dem Total Seller Server installiert ist und nicht auf den Computer, auf dem der PowerShell Befehl ausgeführt wird. Geben Sie gegebenenfalls einen UNC-Pfad an.
Read-TSBackup
Parameter: "-Path"
Stellt die Datenbank von Total Seller wieder aus einer Sicherungs-Datei her.
Wichtig: Wenn Total Seller mit dem Total Seller Server verbunden ist, bezieht sich der Pfad auf dem Computer, auf dem Total Seller Server installiert ist und nicht auf den Computer, auf dem der PowerShell Befehl ausgeführt wird. Geben Sie gegebenenfalls einen UNC-Pfad an.
Import-TSData
Parameter: "-DefinitionName", "-Path" (Alias: "-FullName", "-Url"), "-Variables"
Importiert Produkt-Daten aus Text-, CSV- oder Excel-Dateien gemäß der Import Definition, die in Total Seller erstellt werden kann. Sie können ein Pfad mit Dateinamen zu der zu importierenden Datei oder eine URL angeben. Optional können Sie die Variablen der Import Definition mit einem PowerShell Hash-Table setzen.
Get-TSProduct
Parameter: "-All", -"ID", "-Identity", "-ProductId", "-Sku", "-ItemId", "-Code", "-Wildcard", zusätzliche Filter: "-Available", "-CodeType", "-Location", "-Media", "-PriceCategory", "-Category", "-Condition", "-Supplier"
Gibt ein oder mehrere Produkte zurück, die dem angegebenen Parameter und Filter entsprechen. Wenn der Parameter "-Wildcard" gesetzt ist, können bei den Parametern "-Sku", "-ItemId" und "-Code" Muster verwendet werden. In diesem Fall steht das '*' Zeichen für eine beliebige Anzahl anderer Zeichen. (s. Beispiele weiter unten)
Set-TSProduct
Parameter: "-ID", "-Identity", "-ProductId", Felder die modifiziert werden sollen, zum Testen "-WhatIf"
Der Befehl "Set-TSProduct" wird verwendet, um Produkte, die von "Get-TSProduct" zurück gegeben wurden, zu modifizieren.
Folgende Produkt-Daten können geändert werden:
Parameter-Name |
Beschreibung |
Batch |
Stapel |
Category |
Produkt-Kategorie |
Code |
Code |
CodeType |
Code Typ: "ISBN", "EAN", "UPC" |
Condition |
Zustand |
CreatedDate |
Erstellt Datum |
CreatedUser |
Erstellt von Benutzer |
Creators |
Autoren / Interpreten |
EditedDate |
Bearbeitet Datum |
EditedUser |
Bearbeitet von Benutzer |
Info1 |
Info 1 |
Info2 |
Info 2 |
InStore |
Im Laden verfügbar |
ListPrice |
Listenpreis |
Location |
Lagerort |
Manufacturer |
Hersteller |
Media |
Format |
Name |
Name |
Notes |
Anmerkungen |
PriceCategory |
Preis-Kategorie |
ReorderLevel |
Minimum verfügbar für Nachbestellung |
ReorderQuantity |
Anzahl für Nachbestellung |
SKU |
SKU |
Storage |
Lagerplatz |
StorePrice |
Laden-Preis |
Supplier |
Zulieferer |
SupplierCode |
Zulieferer Bestellnummer |
UnitsAvailable |
Verfügbare Anzahl |
UnitsOnOrder |
Nachbestellte Anzahl |
UnitsPending |
Vorbestelte Anzahl |
UnitsSold |
Verkaufte Anzahl |
VatRate |
MwSt.-Gruppe |
Weight |
Gewicht |
WorkflowMessage |
Arbeitsschritt Nachricht |
WorkflowStep |
Arbeitsschritt |
Achten Sie darauf nicht Daten zu verändern, die intern von Total Seller oder Amazon verwendet werden.
Update-TSProduct
Parameter: "-ID", "-Identity", "-ProductId", "-Sku", zum Testen "-WhatIf"
Der Befehl ist dem Befehl "Set-TSProduct" ähnlich, jedoch kann der Befehl ohne "Get-TSProduct" verwendet werden, wenn die Produkt-ID oder SKU bekannt ist, und die Felder, die modifiziert werden sollen, können über die PowerShell Pipeline übergeben werden.
Create-TSProduct
Parameter: Felder wie bei "Set-TSProduct", zum Testen "-WhatIf"
Es wird ein neues Produkt angelegt und zurück gegeben. Felder, die gesetzt werden sollen, können über die PowerShell Pipeline übergeben werden.
Select-TSAmazonAccount
Parameter: "-Name", "-E-Mail", "-Domain"
Verwenden Sie den Befehl "Select-TSAmazonAccount", um zwischen verschiedenen Amazon Verkäuferkonten oder Amazon Plattformen wie Amazon.de, Amazon.fr, Amazon.co.uk etc. zu wechseln.
Die folgenden Befehle beziehen sich auf das ausgewählte Amazon Verkäuferkonto.
Wenn Sie Total Seller nur mit einem Amazon Verkäuferkonto oder nur mit einer Amazon Plattform verwenden, ist es nicht notwendig diesen Befehl auszuführen.
Get-TSAmazonListing
Parameter: "-All", -"ID", "-Identity", "-ProductId", "-Asin", "-Sku", "-ItemId", "-Code", "-Wildcard", zusätzliche Filter: "-Available", "-CodeType", "-Location", "-Media", "-PriceCategory", "-Category", "-Condition", "-Supplier"
Gibt ein oder mehrere Amazon-Angebote zurück, die dem angegebenen Parameter und Filter entsprechen. Wenn der Parameter "-Wildcard" gesetzt ist, können bei den Parametern "-Sku", "-ItemId" und "-Code" Muster verwendet werden. In diesem Fall steht das '*' Zeichen für eine beliebige Anzahl anderer Zeichen. (s. Beispiele weiter unten)
Set-TSAmazonListing
Parameter: "-ID", "-Identity", "-ProductId", Felder die modifiziert werden sollen, zum Testen "-WhatIf"
Der Befehl "Set-TSAmazonListing" wird verwendet, um Amazon-Angebote, die von "Get-TSAmazonListing" zurück gegeben wurden, zu modifizieren.
Folgende Angebots-Daten können geändert werden:
Parameter-Name |
Beschreibung |
AmzListingID |
Amazon Angebots ID |
ASIN |
ASIN |
CreatedDate |
Erstellt Datum |
CreatedUser |
Erstellt von Benutzer |
DeletedDate |
Gelöscht Datum |
EditedDate |
Bearbeitet Datum |
EditedUser |
Bearbeitet von Benutzer |
FulfillmentChannel |
Amazon Verkaufskanal: "DEFAULT", "AMAZON_EU" |
ItemNote |
Angebots Beschreibung |
MaxPrice |
Maximum-Preis |
MinPrice |
Minimum-Preis |
ModifiedDate |
Geändert Datum |
Price |
Angebots Preis |
PriceCheckDate |
Letzte Änderung durch Preisanpassung Datum |
RemovedDate |
Entfernt Datum |
Shipping |
Versand |
UploadedDate |
Hochgeladen Datum |
Achten Sie darauf nicht Daten zu verändern, die intern von Total Seller oder Amazon verwendet werden.
Update-TSAmazonListing
Parameter: "-ID", "-Identity", "-ProductId", "-Sku", zum Testen "-WhatIf"
Der Befehl ist dem Befehl "Set-TSAmazonListing" ähnlich, jedoch kann der Befehl ohne "Get-TSAmazonListing" verwendet werden, wenn die Produkt-ID, SKU oder Amazon-Angebots-ID bekannt ist, und die Felder, die modifiziert werden sollen, können über die PowerShell Pipeline übergeben werden.
Create-TSAmazonListing
Parameter: "-ProductId" und Felder wie bei "Set-TSAmazonListing", zum Testen "-WhatIf"
Über den Parameter "-ProductId" mit einer Produkt-ID wird das neue Angebot einem Produkt zugeordnet. Es wird ein neues Amazon Angebot erstellt und zurück gegeben. Felder, die gesetzt werden sollen, können über die PowerShell Pipeline übergeben werden.
Download-TSAmazonListings
Parameter: "-Location", "-Storage", "-PriceCategory", "-SetPriceRange", "-MinPricePercentage", "-MaxPricePercentage"
Der Befehl lädt die aktiven Angebote von Amazon herunter und importiert sie in Total Seller. Optional können dabei für neue Angebote ein Lagerort, ein Lagerplatz, die Preis-Kategorie und der Minimum- und Maximum-Preis abhängig vom aktuellen Preis gesetzt werden. Der Befehl gibt die neuen importierten Angebote zurück. Vorhandene Angebote werden aktualisiert aber nicht zurück gegeben.
Upload-TSAmazonChanges
Parameter: "-All" (Filter -"Available"), "-ID", "-Identity", "-Prices", "-Quantities", zum Testen "-WhatIf"
Der Befehl überträgt Änderungen an den Angeboten nach Amazon.
Beispiele
Folgende Beispiele können direkt in PowerShell eingeben werden.
Bevor Sie beginnen führen Sie folgende Befehle aus:
> Add-PSSnapin TotalSellerSnapin
> Connect-TSSession loginName password
Ersetzen Sie "loginName" und "password" mit Ihrem Total Seller Anmeldenamen und Passwort.
Stattdessen können Sie auch eingeben:
> Get-Credential | Connect-TSSession
PowerShell fordert zur Eingabe des Anmeldenamens und des Passworts auf und das Passwort muss so nicht sichtbar eingegeben werden.
Geben Sie dann ein:
> Get-TSProduct -Sku abc123
Die Daten des Produkts mit der SKU "abc123" wird in PowerShell angezeigt.
> Get-TSProduct -All -WorkflowStep "Neu / Wartend"
Gibt die Produktdaten aller Produkte im Arbeitsschritt "Neu / Wartend" aus.
> Get-TSProduct -Sku "abc*" -Wildcard
Gibt die Produktdaten aller Produkte, dessen SKU mit "abc" anfängt, aus.
> Get-TSProduct -Sku abc123 | Set-TSProduct -Info1 "Test 1"
Das Feld "Info 1" des Produkts mit der SKU "abc123" wird mit dem Wert "Test 1" überschrieben.
Skripte
Hinweis: Das Ausführen von eigenen Skripten in PowerShell ist standardmäßig deaktiviert und muss explizit in PowerShell freigeschaltet werden. Starten Sie dazu PowerShell als Administrator und geben Sie in PowerShell folgenden Befehl ein:
> Set-ExecutionPolicy Unrestricted
Danach ist das Ausführen von Skripten in PowerShell für die Zukunft freigeschaltet.
Eine Datenbank-Sicherung ausführen
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Write-TSBackup "c:\Backup\TS Backup.bak"
Disconnect-TSSession
Eine Datenbank-Sicherung in "Eigene Dokumente" mit Datum speichern
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
$name = ("TS Backup {0:yyyy-MM-dd}.bak" -f [DateTime]::Now)
$path = (Join-Path ([environment]::GetFolderPath("MyDocuments")) $name)
Write-TSBackup $path
Disconnect-TSSession
In Verbindung mit der Windows Funktion "Aufgaben planen" können so regelmäßig und automatisch Datenbank-Sicherungen erstellt werden.
Produkt Daten mit einer Import Definition importieren
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-TSData -DefinitionName "Meine Import Definition" -Path "e:\Data\ProductData.txt" -Variables @{ defaultPrice = 3.5 }
Disconnect-TSSession
Hinweis: Erstellen Sie zuerst eine Import Definition in Total Seller und verwenden Sie den Namen der Import Definition im PowerShell Skript. Statt eines Dateinamens können Sie auch eine URL angeben und die Datei wird dann automatisch vor dem Import heruntergeladen.
Alle Produkt Daten exportieren
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Get-TSProduct -All | Export-Csv -NoTypeInformation "Produkte.csv"
Disconnect-TSSession
Minimum- und Maximum-Preise verfügbarer Angebote exportieren
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Get-TSAmazonListing -All -Available |
Select-Object ID,MinPrice,MaxPrice |
Export-Csv -NoTypeInformation "Angebote.csv"
Disconnect-TSSession
Hinweis: Der Befehl "Export-Csv" exportiert numerische Werte entsprechend der Ländereinstellung von Windows, d.h. in Deutschland mit Komma als Dezimal-Zeichen.
Minimum- und Maximum-Preise exportierter Angebote importieren (USA)
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-Csv "Angebote.csv" | Update-TSAmazonListing
Disconnect-TSSession
Hinweis: PowerShell wandelt numerische Wert, die mit "Import-Csv" eingelesen wurden, gemäß neutraler Einstellung in Zahlen um, d.h. immer mit Punkt als Dezimal-Zeichen. Deshalb kann in Deutschland eine Datei, die mit "Export-Csv" exportiert wurde, nicht ohne Konvertierung wieder mit "Import-Csv" in Total Seller eingelesen werden. (Lösung: s. nächstes Beispiel)
Minimum- und Maximum-Preise exportierter Angebote importieren (Deutschland)
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-Csv "Angebote.csv" |
Select-Object ID,@{l="MinPrice"; e={[Single]::Parse($_.MinPrice)}},@{l="MaxPrice"; e={[Single]::Parse($_.MaxPrice)}} |
Update-TSAmazonListing
Disconnect-TSSession
Hinweis: PowerShell wandelt numerische Wert, die mit "Import-Csv" eingelesen wurden, gemäß neutraler Einstellung in Zahlen um, d.h. immer mit Punkt als Dezimal-Zeichen. Deshalb kann in Deutschland eine Datei, die mit "Export-Csv" exportiert wurde, nicht ohne Konvertierung wieder mit "Import-Csv" in Total Seller eingelesen werden. (Lösung: s. nächstes Beispiel)
Minimum- und Maximum-Preise aus Tab-getrennter Text-Datei importieren
In diesem Beispiel wird eine Tab-getrennte Text-Datei importiert, die folgende Spalten enthält:
Sku MinPrice MaxPrice
68629 3.95 12.95
68630 4.95 19.95
Die Spaltenüberschriften entsprechen den Namen der Felder und Zahlen sind mit Punkt als Dezimal-Trennzeichen gespeichert.
Skript:
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-Csv -Delimiter `t "Angebote.csv" | Update-TSAmazonListing
Disconnect-TSSession
Hinweis: PowerShell wandelt numerische Wert, die mit "Import-Csv" eingelesen wurden, gemäß neutraler Einstellung in Zahlen um, d.h. immer mit Punkt als Dezimal-Zeichen. Wenn Komma als Dezimal-Trennzeichen verwendet werden, sollten die Werte wie im vorherigen Beispiel mit "[Single]::Parse($_.Spalte)" umgewandelt werden.
Eine CSV-Datei importieren und Minimum- und Maximum-Preise berechnen
In diesem Beispiel wird eine CSV-Datei importiert, die folgende Spalten enthält:
"Sku","EK"
"68629","5.00"
"68630","8.25"
Die Zahlen sind mit Punkt als Dezimal-Trennzeichen gespeichert.
Skript:
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-Csv "Angebote.csv" |
Select-Object Sku,@{l="MinPrice"; e={[Single]$_.EK * 1.15}},@{l="MaxPrice"; e={[Single]$_.EK * 1.4}} |
Update-TSAmazonListing
Disconnect-TSSession
In diesem Beispiel wird der Minimum-Preis 15% über den EK-Wert gesetzt und der Maximum-Preis 40%.
Hinweis: "Import-Csv" liest alle Felder als Zeichenfolgen ein und das Feld muss zu einem numerischen Wert umgewandelt werden, damit mit ihm gerechnet werden kann. Verwenden Sie zur Konvertierung "[Single]$_.EK", wenn ein Punkt als Dezimal-Trennzeichen verwendet wird und "[Single]::Parse($_.EK)", wenn ein Komma als Dezimal-Trennzeichen verwendet wird.
Erstellen eines neuen Produkts und Amazon Angebots
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
$product = Create-TSProduct -Sku "abc123" -Condition "Neu" -WorkflowStep "Neu / Wartend" -Name "Test Produkt 1" -UnitsAvailable 1 -ListPrice 19.95 -PriceCategory "Preis Hit"
Create-TSAmazonListing -ProductId $product.ID -Asin AB12345678 -Price 14.95 -MinPrice 10.95 -MaxPrice 24.95
Disconnect-TSSession
Hochladen des neuen Produkts nach Amazon
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Update-TSProduct -Sku "abc123" -WorkflowStep "Verfügbar / Online"
Get-TSAmazonListing -Sku "abc123" | Upload-TSAmazonChanges
Disconnect-TSSession
Hinweis: Laden Sie Änderungen nicht einzeln nach Amazon hoch, sondern übergeben Sie an "Upload-TSAmazonChanges" eine Liste der geänderten oder neuen Amazon-Angebots-IDs über die PowerShell Pipeline. Oder verwenden Sie den Befehl "Upload-TSAmazonChanges -All -Available", um die aktuellen Änderungen an Amazon zu übertragen.
Erstellen neuer Produkte und Amazon Angebots aus einer CSV-Datei
In diesem Beispiel wird eine CSV-Datei importiert, die folgende Spalten enthält:
"Sku","Name","UnitsAvailable","Asin","Price","MinPrice","MaxPrice"
"TEST01","Test Produkt 01","1","AB12345678","4.95","1.95","9.95"
"TEST02","Test Produkt 02","2","CD12345678","10.95","5.95","19.95"
Die Zahlen sind mit Punkt als Dezimal-Trennzeichen gespeichert.
Skript:
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-Csv "Angebote.csv" |
Foreach-Object { $product = Create-TSProduct -Sku $_.Sku -Name $_.Name -UnitsAvailable $_.UnitsAvailable -Condition "Neu" -WorkflowStep "Verfügbar / Online" -PriceCategory "Preis Hit";
Create-TSAmazonListing -ProductId $product.ID -Asin $_.Asin -Price $_.Price -MinPrice $_.MinPrice -MaxPrice $_.MaxPrice } |
Upload-TSAmazonChanges
Disconnect-TSSession
Alternative: (Mit Übernahme der importierten Werte über die PowerShell Pipeline - Voraussetzung: Spaltenüberschriften entsprechen den Feld-Namen und Zahlen verwenden einen Punkt als Dezimal-Trennzeichen.)
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Import-Csv "Angebote.csv" |
Foreach-Object { $line = $_; ($line | Create-TSProduct -Condition "Neu" -WorkflowStep "Verfügbar / Online" -PriceCategory "Preis Hit" | %{ $product = $_ } );
($line | Create-TSAmazonListing -ProductId $product.ID) } |
Upload-TSAmazonChanges
Disconnect-TSSession
Hinweis: Die Produkte und Angebote werden angelegt und danach werden alle neuen Produkte zusammen nach Amazon übertragen. (Dazu wird die Ausgabe von "Create-TSAmazonListing" an "Upload-TSAmazonChanges" übergeben.)
Hochladen aller geänderten Preise der verfügbaren Produkte nach Amazon
Add-PSSnapin TotalSellerSnapin
Connect-TSSession loginName password
Upload-TSAmazonChanges -All -Available -Prices
Disconnect-TSSession
Hinweis: Die Änderungen, die an Amazon übertragen werden, entsprechen den Änderungen, die im Dialog-Fenster "Amazon Angebote aktualisieren" in Total Seller angezeigt werden.
Page url: http://www.totalseller.de/help/client/index.html?use_powershell_scripts.htm