FAQ - Frequently asked questions

Why do I receive the error “Price Settings Invalid”?

This error occurs when the minimum price, maximum price, and fixed price are not within the desired range.

The maximum price always needs to be higher than the minimum price.

The fixed price needs to either be equal to or within the min/max range.

Please have a look in our CSV manual at Common errors

How can I activate the easyBox for my items via the API?

To use the easyBox, the mode must be set to BUY_BOX:

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

Furthermore, the easyBox strategy must be set:

$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);

What does the ''Amzn - Top competitors'' widget on the dashboard show?

eSagu analyzes your top 10 Amazn competitors and shows you the information for:

  • total - number of matching items where the competitors shows on your listings.
  • underbid - competitor's number of items that cost less (including shipping) than yours items.
  • equal bid - competitor's number of items that match your price.
  • overbid - competitors' number of items that cost more (including shipping) than your items.

What can I do with "Bulk Edit"?

With our Bulk Edit option you can filter items by SKU, Title, Missing rules etc. and change strategies or apply new rules in bulk.
Main purpose of this option is to save you time.

The changes, that are most frequently made with "Bulk edit", are:

  • Changing minimum/maximum prices
  • Change price option/strategy (optimization/easyBox/customCode/fixed price)
  • Changing Price Gaps
  • Deactivate items
  • Update items without price settings

More information

Server replies with 400 - I am using PHP and get a 400 error when adjusting price changes

This often occurs when prices are transmitted as a string rather than an int. A type cast as int usually solves this problem;

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

How to sign an API Token with a new expiry header

The following Python code can be used to decode an existing JWT, reset the exp claim (expiry date) and re-sign the token with the same header information (incl. kid and alg). The aim is a new, valid token with an updated expiry date:

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 = "eyJraWQiOiI1Zjc.…"
secret: bytes = encode_secret("d4cHsO5QTCt5eZg1…")

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)

This is particularly useful if you want to use short-lived tokens - for security reasons, for example, to deliberately limit the validity period of tokens and thus minimise the risk of theft or misuse.

PHP API Client - The parameter order of individual methods has changed after an update

Unfortunately, when the API client is regenerated, the swagger codegen produces different parameter orders for individual methods. This can happen when new filter options are added.

But you can work around this, as in the following example, by determining the order based on the parameter names and "calling" the method with an associative array, where the keys in the associative array correspond to the names of the individual parameters.


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);
}

Why do I receive the error “Duplicate SKUs found”?

SKUs are used as unique identifiers for products. Therefore, a SKU cannot appear more than once within the same file.

To remove duplicates in Microsoft Excel:

  1. Select a cell in the table.
  2. Open the Data tab.
  3. In the Data Tools section, click Remove Duplicates.

This will highlight duplicate SKUs so they can be removed or adjusted.

Why do I receive the error “No SKU found”?

If there are SKUs in the file that are unknown to our system, this error may occur.

This can happen, for example, with an inactive listing.

However, the system will still update prices for all other active products.

Please have a look in our CSV manual at Common errors

What is customCode?

The customCode is a strategie designed specifically for your needs.
It will be developed and programmend by our IT department to your intended pricing option/strategy.

eSagu does not recognize my prime items

To let our system knows your item is a prime item, you need to add the shipping group under "Strategy > Global Settings > Merchant shipping groups > Prime merchant shipping groups".

Can I protect my account with two-factor authentication?

Yes, just have your smartphone app ready, such as Google Authenticator, and simply go to My AccountLogin data to Set Up Two-Factor Authentication to set this up.

Please remember to print out the list of one-time passwords and keep it in a safe place in case you do not have access to your smartphone.

How can I check on the client side if my Token is expired?

In this short example in PHP the exp header of the token would be read and checked if its expiration date has passed.

$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!");
}

What can I filter with Bulk Edit

With "Bulk Edit" you can set different filters to edit a desired quantity of articles. In the first step you can choose whether you want to filter all articles, articles without price rules or specific articles.

If you select the button "Filter", you can filter by:

  • Title
  • SKU
  • Price range
  • Shipping type
  • Price option
  • Price status
  • Item condition
  • Include quantity 0 items
  • Item without pricing rules
  • Item without competitor

What could be the impact of having different shipping costs scale on my optimized price?

If you have multiple shipping scales, the price may not be optimised correctly.

For example, the shipping costs are free up to a price of £ 10,00 and for prices above £ 10,00 a shipping fee of £ 3,00 is charged.

The price gap is set to £ 0.05 against the cheapest competitor, and there is a competitor whose price is £ 11.00.

That means we need to send a price of £ 10.95 (full price including the shipping costs).

If we try to calculate the price using the shipping costs above £ 10 we end up with a minimum price of £ 13,01 (£ 10,01 + £ 3).

That forces our software to lower the price below £ 10 to beat the competition 95 cent lower than needed.

In order to change it, please check your shipping costs scale in eSagu and make sure it does not cause such holes in the pricing.

Where can I find my invoices?

In My Account, you will find a tab called Invoices. There, you can request that each invoice be sent to your email address.

What is "Bulk Edit"?

The "Bulk Edit" option allows you to filter and edit multiple items at the same time.

What are automatic review requests used for?

Amazon allows you to automatically request customer reviews. However, this can be time-consuming because Amazon only allows review requests within a specific time window, which can be difficult to track.

Our tool handles this task for you, increasing your chances of receiving reviews and strengthening customer trust.

How do I add a new user?

In My Account, you will find a tab called User. There, you can add a new user and limit their access rights.
The new user will receive an email with a link to set their password.

What is the margin calculator used for?

The margin calculator helps you calculate minimum prices without having to worry about Amazon fees or manually updating prices whenever your shipping provider changes their rates.

Amazon fees are calculated automatically, and you can clearly define additional costs as selling costs, making them easy to adjust later.

More information

Why am I redirected to the German Amazon Seller Central for SP-API OAuth?

When setting up OAuth for the Selling Partner API (SP-API), you might be redirected to the German Amazon Seller Central. This occurs because Amazon operates a unified account system, allowing you to use the same login credentials across different regional marketplaces. This redirection is a standard part of the process and does not impact your ability to use the SP-API. Your account access and functionality remain the same, regardless of the Amazon marketplace region.

Why do I receive the error “Number formatting not clear”?

If you receive this error, please check your minimum, maximum, and fixed prices.

Prices must be formatted as numbers with two decimal places.

Another possible reason is the separator used in your CSV file. eSagu requires semicolons (;) as the CSV separator.

Why did eSagu Repricing for Amazon upload a price outside the minimum-maximum range?

If a price outside the min-max range was uploaded to Amazon, it is likely not due to eSagu Repricing for Amazon. Possible reasons include:

  • Your Enterprise Resource Planning (ERP) system, might have uploaded the price.
  • A promotional price set on Amazon could be affecting the item. When a promotional price is set, the normal price is ignored and displayed as striked through.
  • A price range change in our system that Amazon is slow to process. When the price range is updated, Amazon may take longer to reflect these changes, causing temporary discrepancies.

Ensure all systems are synchronized and check for active promotions on Amazon. If the problem persists, contact your support team for further assistance.

How can I change the minimum/maximum prices for my items?

There are several ways to change your minimum/maximum prices:

  • Change the minimum/maximum prices directly in each individual item.
  • Change the minimum/maximum prices using our bulk editing feature.
  • Change the minimum/maximum prices via CSV import.
  • Change the minimum/maximum prices via API.
  • Change the minimum/maximum prices using an AI chat connected via MCP.

I have new items listed on Amazon but can't find them on eSagu.

It can take some time until newly listed items appear everywhere on Amazon and our software can detect them in the Amazon reports.

First, we recommend waiting one to two hours, as this issue may be caused by delays on Amazon’s side.

If the item still does not appear in eSagu, we recommend downloading one of the required reports called Active Listings Report under Inventory -> Inventory Reports in Seller Central.

  • If you can find the ASIN/SKU in the report, please contact our support team.
  • If the ASIN/SKU is not included in the report, please contact Amazon Support or list the item again using a different SKU.

What does the “easyBox” price option/strategy do?

“easyBox” is an optimization strategy that focuses exclusively on the Buy Box owner instead of the lowest-priced competitor.

This AI-supported strategy does not simply lower your price until you win the Buy Box. Instead, it increases your price while you own the Buy Box.

There are two sub-strategies:

  • easyBox Hold increases your price every few hours and is optimized to keep the Buy Box for as long as possible.
  • easyBox Margin increases your price two minutes up to a certain point and then waits several hours to maximize your margin.

Newly Added Service Not Displayed

Main Account:

  • Wait for one hour, as the update might take some time.
  • Log out and log back in to refresh the display.

Subaccount:

  • Follow the same steps as the main account: wait for one hour and/or log out, and log back in.
  • Have the main account check if the permissions are correctly set.

Ensure all permissions are properly configured, and repeat the steps if necessary.

How does the process of customCode programming work?

You develop an idea. You discuss this with your account manager. He will forward it as a software story to our IT department. Our IT department will then evaluate your idea in terms of feasibility, effort and costs and you will receive a cost estimate from your account manager with details of the cost and time required to create your custom code.

I cannot find my "quantity zero" items

Items without stock (quantity zero) are hidden by default, but you can show these items by using the filter "Do not hide quantity 0 items".

My price upload was processed by Amazon, but it takes a long time for the price to go live. Why is that?

If your price upload was processed by Amazon but the price update is slow to appear online, it might be due to delays for Low Engagement ASINs. Amazon prioritizes listings based on ASIN engagement levels. Products with lower engagement, such as a used book, may experience longer delays, sometimes around 96 minutes. Please contact Amazon Support to find out if your item is affected. Currently, Amazon does not provide an API in order to automate this process at eSagu.

What does the "Optimization" price option/strategy do?

With Optimization, your prices are compared with competitors according to your selected strategies and within your minimum/maximum price limits.

Unlike the easyBox strategy, it does not increase your prices automatically. Instead, it maintains the configured price difference relative to the competition.

More information

What are the 3 most common customCodes?

  • customCode - By sales figures Your prices are optimized according to the sales figures of your items in last 7 days.
  • customCode - exclusion below minimum price Your prices will only be optimised against offers above the minimum price.
  • customCode - Prime first Your items are comparing the price against cheapest Prime offer first. If there are no Prime competitors, items follow normal rules from "Optimization"

What can I do if I cannot see a new service in the menu?

This happens when the service (e.g. HelpDesk or our RePricing) has been set up from another browser / computer.

As the browser session data is updated every hour, you can now simply wait or if you do not want to wait, simply log out once and log in again.

What can I see on the dashboard?

On your dashboard you can see:

  • Your turnover in € or the respective national currency
  • Your top competitors
  • Your best selling products
  • When price changes were made
  • On which days and at what time items were sold within the last 30 days

If you have multiple services such as Amazon UK and DE, they can be added and customized individually.