FAQ - Häufig gestellte Fragen

So signieren Sie ein API-Token mit einem neuen Ablauf-Header

Mit folgendem Python-Code kann ein bestehender JWT decodiert, das exp-Claim (Ablaufzeitpunkt) neu gesetzt und der Token mit denselben Header-Informationen (inkl. kid und alg) erneut signiert werden. Ziel ist ein neuer, gültiger Token mit aktualisiertem Ablaufdatum:

from base64 import urlsafe_b64decode, b64encode 
from json import loads 
import datetime
from jwt import encode, decode
from typing import Dict, Any

def pad_base64url(b64string: str) -> str:
  return b64string + '=' * (-len(b64string) % 4)

def extract_header(jwt_token: str) -> Dict[str, Any]:
  header_b64 = jwt_token.split('.')[0]
  padded_header = pad_base64url(header_b64)
  header_json = urlsafe_b64decode(padded_header)

  return  loads(header_json)

def encode_secret(secret: str) -> bytes:
  return b64encode(secret.encode())

token: str = "eyJraWQiOiI1Zjc0RTZuME5pY…"
secret: bytes = encode_secret("d4cHsO5QTC…")

payload: Dict[str, Any] = decode(token, secret, algorithms=["HS512"], options={"verify_exp": False})

payload['exp'] = datetime.datetime.utcnow() + datetime.timedelta(hours=1)

new_token: str = encode(payload, secret, headers=extract_header(token), algorithm="HS512")

print(new_token)

Das ist besonders sinnvoll, wenn man kurzlebige Token verwenden möchte – etwa aus Sicherheitsgründen, um die Gültigkeitsdauer von Tokens bewusst zu begrenzen und so das Risiko bei Diebstahl oder Missbrauch zu minimieren.

Was kann ich auf dem Dashboard sehen?

Auf Ihrem Dashboard können Sie:

  • Ihren Umsatz in € bzw. der jeweiligen Landeswährung
  • Ihre Top Konkurrenten
  • Ihre meistverkauften Produkte
  • Wann Preisänderungen vorgenommen wurden
  • An welchen Tagen und um wie viel Uhr innerhalb der letzten 30 Tagen Artikel verkauft wurden

Wenn Sie mehrere Dienste wie z.B. Amazon DE und UK haben, können diese individuell hinzugefügt werden.

Neu hinzugefügter Dienst wird nicht angezeigt

Hauptaccount

  • Warten Sie eine Stunde, da die Aktualisierung etwas Zeit in Anspruch nehmen kann.
  • Einmal aus- und wieder einloggen, um die Anzeige zu aktualisieren.

Unteraccount:

  • Die gleichen Schritte wie beim Hauptaccount durchführen: Eine Stunde warten und ein- und ausloggen.
  • Überprüfen lassen, ob der Hauptaccount die entsprechenden Rechte vergeben hat.

Stellen Sie sicher, dass alle Berechtigungen korrekt eingestellt sind und wiederholen Sie die Schritte bei Bedarf.

Mein Preisupload wurde von Amazon bereits verarbeitet, aber es dauert sehr lange, bis dieser Preis auch online ist. Woran liegt das?

Wenn Ihr Preisupload bei Amazon verarbeitet wurde, die Preisänderung aber langsam online angezeigt wird, liegt das möglicherweise an der Verzögerung für Low Engagement ASINs. Amazon priorisiert Listings basierend auf dem Engagement-Level der ASINs. Produkte mit niedrigerem Engagement, wie zum Beispiel ein gebrauchtes Buch, erfahren hierbei längere Verzögerungen, die z.B. 96 Minuten betragen können. Bitte kontaktieren Sie den Amazon Support, um herauszufinden, ob es sich bei Ihrem Artikel um einen solchen handelt. Da es aktuell keine API gibt, können wir bei eSagu dies nicht automatisiert erfragen.

Was zeigt das Widget "Amazon - Top-Mitbewerber" auf dem Dashboard?

eSagu analysiert Ihre Top 10 Amazon-Mitbewerber und zeigt Ihnen darauf basierend die Informationen für:

  • Gesamt - Anzahl der übereinstimmenden Artikel, bei denen der Mitbewerber auf Ihren Listings erscheint.

  • Unterboten- Anzahl der Artikel des Mitbewerbers, die weniger kosten (einschließlich Versand) als Ihre Artikel.

  • Gleiches Gebot - Anzahl der Artikel des Mitbewerbers, die Ihrem Preis entsprechen.

  • Überboten- Anzahl der Artikel des Mitbewerbers, die mehr kosten (einschließlich Versand) als Ihre Artikel.

Ich habe neue Artikel bei Amazon gelistet finde diese aber bei eSagu nicht.

Oft dauert es bei Amazon einige Zeit bis der neu gelistete Artikel auch überall erscheint und unsere Software diesen somit auch in den Amazon Reporten finden kann.

Als erstes empfehlen wir daher ein bis zwei Stunden zu warten, so lange kann das bei Amazon schon mal dauern.

Taucht der Artikel dann immer noch nicht bei eSagu auf, empfehlen wir als erstes einen der Angeforderten Berichte mit den Namen "Bericht zu aktiven Angeboten" unter Lagerbestand -> Lagerbestandsberichte im sellercentral herunter zu laden.
Findet man die ASIN/SKU hier im Bericht kontakieren Sie bitte unseren Support und sollte der Artikel hier nicht drinnen sein, muss man leider den Amazon Support kontakieren oder den Artikel (unter einer anderen SKU) erneut listen.

Was ist ein customCode?

Der customCode ist eine individuell für den Kunden und auf Anfrage durch unsere IT Abteilung programmierte Strategie.

In unserer Bibliothek finden sie häufig angefragte Strategien die wir Ihnen kostenfrei zur Verfügung stellen.

Warum hat eSagu Repricing for Amazon einen Preis außerhalb des Mindest-Maximal-Bereichs hochgeladen?

Wenn ein Preis außerhalb des Min-Max-Bereichs zu Amazon hochgeladen wurde, liegt es wahrscheinlich nicht an eSagu Repricing for Amazon. Mögliche Gründe sind:

  • Ihr Warenwirtschaftssystem (WaWi) könnte den Preis hochgeladen haben.
  • Ein bei Amazon eingestellter Aktionspreis kann den Artikel beeinflussen. Bei einem Aktionspreis wird der normale Preis ignoriert und durchgestrichen angezeigt.
  • Eine Preisbereichsänderung in unserem System, die Amazon langsam verarbeitet. Wenn der Preisbereich aktualisiert wird, kann es bei Amazon länger dauern, diese Änderungen zu übernehmen, was zu vorübergehenden Abweichungen führt.

Stellen Sie sicher, dass alle Systeme synchronisiert sind und überprüfen Sie aktive Aktionen auf Amazon. Wenn das Problem weiterhin besteht, wenden Sie sich an Ihr Support-Team.

Was macht die Preisoption/Strategie „easyBox“?

Die „easyBox“ ist eine Optimierung die ausschließlich gegen den BuyBox Besitzer optimiert und nicht gegen den günstigsten Wettbewerber. Diese KI unterstützte Strategie senkt nicht einfach nur den Preis bis Sie die BuyBox erhalten sondern erhöht Ihren Preis, während Sie die BuyBox besitzen. Es gibt zwei Unterstrategien: "easyBox Halten", die Ihren Preis alle paar Stunden erhöht und darauf optimiert ist die BuyBox so lange wie möglich zu halten. Und "easyBox Marge", die Ihren Preis bis zu einem bestimmten Punkt alle zwei Minuten erhöht und danach einige Stunden wartet, um die Marge zu erhöhen.

Wie ändere ich bei meinen Artikeln die Mindest-/Höchstpreise?

Hierfür gibt es zahlreiche Möglichkeiten:

  • Sie ändern Ihre Mindest-/Höchstpreise in jedem einzelnen Artikelfeld.
  • Sie ändern Ihre Mindest-/Höchstpreise mit unserer Massenbearbeitung.
  • Sie ändern Ihre Mindest-/Höchstpreise per CSV Import.
  • Sie ändern Ihre Mindest-/Höchstpreise per API.
  • Sie ändern Ihre Mindest-/Höchstpreise über einen per MCP angebundenen KI-Chat.

Was kann ich mit der Massenbearbeitung bearbeiten?

Die Änderungen, die mit der „Massenbearbeitung“ am häufigsten vorgenommen werden, sind:

  • Mindest-/Höchstpreise ändern
  • Preisoption/Strategie (Optimierung/easyBox/customCode/Festpreis) ändern
  • Preisabstände ändern
  • Artikel deaktivieren
  • Artikel ohne Preiseinstellungen anpassen
  • Verkaufsgebühren nach Kategorie zuweisen

    Mehr Informationen

Was macht die Preisoption/Strategie „Optimierung“?

Artikel bei denen die Preisoption „Optimierung“ eingestellt ist werden anhand der eingestellten Preisabstände optimert.

Der Artikel wird also gegen den günstigsten Konkurrenten optimiert bzw. gegen einen Konkurrenten mit schnellerem Versand, abhängig vom eingestellten Preisabstand.

Mehr Informationen

eSagu erkennt meine prime Artikel nicht

Damit unser System weiß, dass dein Artikel ein Prime Artikel ist, musst du die Versandgruppe unter "Strategie > Globalen Einstellungen > Verkäuferversandgruppen > Prime Verkäuferversandgruppen" hinzufügen.

Wie kann die easyBox bei meinen Artikel über die API aktivieren?

Um die easyBox zu nutzen muss einerseits der mode auf BUY_BOX gesetzt werden:

$priceSettings->setMode(RepricingItemPriceSettingsDTO::MODE_BUY_BOX);

Des weiteren muss die easyBox Strategie gesetzt werden:

$strategyAPI = new eSagu\Amzn\RePricing\V1\Api\RepricingItemStrategyApi();
$buyBoxAPI = new eSagu\Amzn\RePricing\V1\Api\RepricingBuyBoxSettingsApi();

$itemId = 1337;
$buyBoxSettings = $buyBoxAPI->callList();

$itemStrategy = $strategyAPI->get($itemId);
$itemStrategy->getPriceSettings()->setMode(RepricingItemPriceSettingsDTO::MODE_BUY_BOX);
$itemStrategy->setBuyBoxSettingsId($buyBoxSettings[0]->getId());

$strategyAPI->put($itemId, $settings);

Kann ich meinen Account mit Zwei-Faktor-Authentisierung schützen?

Ja, halten Sie Ihre Smartphone App wie z.B. den Google Authenticator bereit und gehen Sie einfach unter Mein Account → Zugangsdaten auf Zwei-Faktor-Authentifizierung einrichten um diese Einzurichten.

Bitte denken Sie daran die sich die Liste der Einmalpasswörter auszudrucken und an einen Sicheren Ort zu verwahren, für den Fall das Sie mal keinen Zugriff auf Ihr Smartphone haben sollten.

Wie kann ich Clientseitig prüfen ob mein Token abgelaufen ist?

In diesem kurzen Beispiel in PHP wird der exp header des Token ausgelesen und geprüft, ob sein Ablaufdatum überschritten ist.

$token = 'PLACE_YOUR_JWT_HERE';

$tokenPayload = json_decode(base64_decode(explode('.', $token)[1]), true);
if ($tokenPayload['exp'] < time()) {
 throw new RuntimeException("Token \"{$tokenPayload['sub']}\" is expired!");
}

Wozu dient der Margenrechner?

Der Margenrechner hilft dabei, Mindestpreise zu berechnen ohne, dass Sie sich über Amazon-Gebühren Gedanken machen müssen oder bei einer Preisänderung Ihres Versanddienstleisters aufwendig Preise aktualisieren müssen.

Die Amazon-Gebühren werden vom Rechner automatisch abgebildet und zusätzliche Kosten können Sie übersichtlich als Verkaufskosten eintragen, sodass sich diese später einfach bearbeiten lassen.

Mehr Informationen

Ich kann meine eBay-Artikel auf eSagu nicht finden. Meine eBay-Artikel werden auf eSagu als abgelaufen angezeigt, sind aber nicht auf eBay zu finden.

Dies wird meist durch Probleme mit dem eBay-API-Token verursacht. Bitte navigieren Sie zu Mein Account ⇢ OAuth Token und klicken Sie auf Token beim Anbieter erneuern, um Ihren Token einmal zu erneuern. Bitte haben Sie Geduld und warten Sie ein paar Stunden ☕, denn die Aktualisierung des eBay-Bestands ist auch mit einem funktionierenden API-Token eine zeitaufwändige Aufgabe.

Wozu dienen automatische Bewertungsanfragen?

Amazon bietet Ihnen die Möglichkeit, automatisch Bitten um Bewertungen anzufragen. Allerdings ist dies viel Arbeit, da Amazon dies nur in einem bestimmten Fenster erlaubt und schwer nachgehalten werden kann.

Unser Tool übernimmt diese Aufgabe für Sie und erhöht so Ihre Chance, Bewertungen zu erhalten und das Vertrauen Ihrer Kunden zu steigern.

Warum erhalte ich den Fehler „Doppelte SKU‘s gefunden“?

SKU's dienen als eindeutige Kennung für Produkte. Daher darf eine SKU innerhalb einer Datei nicht mehrfach verwendet werden.

Um Duplikate in Microsoft Excel zu entfernen:

  1. Wählen Sie eine Zelle in der Tabelle aus.
  2. Öffnen Sie die Registerkarte Daten.
  3. Klicken Sie in der Gruppe Datentools auf Duplikate entfernen.

Dadurch werden doppelte SKUs erkannt und können entfernt oder angepasst werden.

Mehr Informationen

Wie könnte sich eine unterschiedliche Versandkostenstaffelung auf meinen optimierten Preis auswirken?

Wenn Sie mehrere Staffeln für Versandkosten nutzen, kann es dazu führen, dass Preise nicht korrekt optimiert werden.

Angenommen dem Kunden werden für Artikel unter 10€ 3€ Versand berechnet und ab 10€ 5€.

Im genannten Beispiel führt die Versandkostenstaffel dazu, dass ein gewünschter Verkaufspreis von 14€ nicht angemessen abgedeckt wird. Bis zu einem Warenwert von 9,99€ würden 3€ Versandkosten hinzukommen, was den Endpreis auf 12,99€ erhöht. Ab einem Warenwert von 10€ würden 5€ Versandkosten berechnet, was den Endpreis auf 15€ anhebt. Somit entsteht im Bereich von 12,99€ bis 15€ ein "schwarzes Loch", welches den gewünschten Preis von 14€ nicht zulässt.

Wie füge ich einen neuen Benutzer hinzu?

Auf der Mein Account Seite finden Sie einen Unterpunkt Benutzer. Dort können Sie einen neuen Benutzer hinzufügen.
Hier können Sie auch die Zugriffsrechte des neuen Benutzers limitieren. Das Passwort ist am Anfang das selbe wie beim Hauptaccount und kann später geändert werden.
Der neue Benutzer bekommt einen Link zum erstellen eines Passworts via E-Mail zugesendet.

Was kann ich tun wenn ich einen neuen Dienst nicht im Menü sehen kann?

Das passiert wenn der Dienst (z.B. HelpDesk oder unser RePricing) aus einem anderen Browser / Computer eingerichtet wurde.

Da die Browser-Session-Daten stündlich aktualisiert werden kann man jetzt einfach warten oder falls man nicht warten möchte, einfach ein mal aus und wieder einloggen.

Wie läuft der Prozess einer customCode Programmierung ab?

Sie entwickeln eine Idee. Diese besprechen Sie mit Ihrem Account Manager. Der wird sie als Software Story an unsere IT Abteilung weiterleiten. Hierauf wird unsere IT Abteilung Ihre Idee auf Machbarkeit, Aufwand und Kosten prüfen und Sie erhalten durch Ihren Account Manager einen Kostenvoranschlag mit Angaben der Kosten und Erstellungsdauer ihres customCodes.

Die häufigsten von Kunden genutzten und bereits installierten customCodes sind:

customCode – Nach Verkaufszahlen Ihre Preise werden nach den Verkaufszahlen Ihrer Artikel optimiert.
customCode – Auschluss unter Mindestpreis Ihre Preise werden nur gegen Angebote oberhalb des Mindestpreises optimiert.
customCode – Prime bevorzugen Ihre Artikel mit Prime werden gegen das günstigste Wettbewerbsangebot mit Prime optimiert.

Diese customCodes sind Zusatzfeatures und können gegen eine Einmalzahlung von Ihnen genutzt werden. Fragen Sie Ihren Account Manager.

customCode – Nach Verkaufszahlen Ihre Preise werden nach den Verkaufszahlen Ihrer Artikel optimiert.
customCode – Ausschluss unter Mindestpreis Ihre Preise werden nur gegen Angebote oberhalb des Mindestpreises optimiert.
customCode – Prime bevorzugen Ihre Artikel mit Prime werden gegen das günstigste Wettbewerbsangebot mit Prime optimiert.

Wo finde ich meine Rechnungen?

Unter Mein Account finden Sie einen Unterpunkt mit Rechnungen. Dort können Sie jede einzelne Ihrer Rechnungen per Mail anfordern.

Server antwortet mit 400 - Ich nutze PHP und erhalte beim anpassen von Preisänderungen einen 400er Fehler.

Dieser tritt häufig dann auf, wenn Preise nicht als int sondern als string übertragen werden. Ein type cast als int löst dieses Problem in der Regel;

$priceSettings->setFixedPrice((int)$dPriceFix);
$priceSettings->setMaxPrice((int)($dPriceFix + 1));
$priceSettings->setMinPrice((int)($dPriceFix - 1));
$priceSettings->setMode(RepricingItemPriceSettingsDTO::MODE_FIXED_PRICE);

PHP API Client - Die Parameterreihenfolge einzelner Methoden hat sich nach einem Update geändert.

Leider fabriziert der Swagger Codegen beim neu generieren des API Clienten mit unter eine andere Parameterreihenfolge für einzelne Methoden. Dies lässt sich auch nicht verhindern wenn neue Filter optionen hinzugekommen sind.

Aber das kann man wie im folgenden Beispiel umgehen, indem man die Reihenfolge anhand der Parameter Namen bestimmt und die Methode mit einen Assoziativen Array "aufruft", wobei die Schlüssel im Assoziativen Array den Namen der einzelnen Parameter entsprechen.


setApiKey('Authorization', JWT_API_TOKEN);
eSagu\EBay\RePricing\V1\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Authorization', 'Bearer');

$itemApi = new eSagu\EBay\RePricing\V1\Api\ItemApi();

$itemsPerPage = 5;
$page = 0;
try {
    do {
        $items = callWithOrderedParams($itemApi, 'callList', [
            'offset'   => $page++ * $itemsPerPage,
            'limit'    => $itemsPerPage,
            'by_title' => "Turnschuhe",
        ]);

        $hasMore = count($items) === $itemsPerPage;
        $ebayItemIds = implode(', ', array_map(function (RepricingItemDTO $item) { return $item->getItemId(); }, $items));

        echo "Page: \"$page\", Item Ids: \"$ebayItemIds\"", PHP_EOL;

    } while ($hasMore);
} catch (Exception $e) {
    echo $e->getMessage(), PHP_EOL;
}

/**
 * @param mixed $apiInstance
 * @param string $methodName
 * @param array $paramsAssoc
 * @return mixed
 * @throws \ReflectionException
 */
function callWithOrderedParams($apiInstance, $methodName, $paramsAssoc)
{
    $params = [];
    foreach ((new \ReflectionMethod($apiInstance, $methodName))->getParameters() as $refParam) {
        $params[$refParam->name] = null;
    }

    foreach ($paramsAssoc as $key => $val) {
        if (array_key_exists($key, $params)) {
            $params[$key] = $val;
            continue;
        }

        $className = get_class($apiInstance);
        $methodParams = implode(', ', array_map(function ($p) { return "\$$p"; }, array_keys($params)));

        throw new InvalidArgumentException("Param \"$key\" is not present in \"$className->$methodName($methodParams)\"!");
    }

    return call_user_func_array([$apiInstance, $methodName], $params);
}

Nach welchen Kriterien kann ich in der Massenbearbeitung bei Amazon filtern?

Mit unserer Massenbearbeitung können sie unterschiedliche Filter setzen um eine gewünschte Artikelmenge zu bearbeiten. Sie können hierbei im ersten Schritt auswählen, ob sie alle Artikel, Artikel ohne Preisregeln oder gezielt Artikel filtern wollen.

  • Titel
  • SKU
  • Preisrahmen
  • Versandart
  • Preisoption
  • Preisstatus
  • Artikelzustand
  • Menge 0 Artikel einbeziehen
  • Artikel ohne Preisregel
  • Artikel ohne Mitbewerber