Since some customers could not import orders via the eBay interface, we have changed the interface for picking up orders in our eBay module to the new Rest API to solve the problems with the old interface in the long term.
To use this new interface a setting in the developer account of eBay and in the xentral interface is necessary.
In most parts the connection via the new eBay API is identical to the old one. Relevant information can be found here.
One exception is the function to import orders from eBay which have already been shipped. This cannot be carried out using this interface. Even when deactivating the follwing tick box, no orders which have been shipped will be imported.

-
First you have to go to the eBay developer account (https://developer.ebay.com/) and log into the corresponding account for the importer.
-
In the developer account click on "Application Keys" and then next to the App-ID click on "User Tokens" for the production system.
-
After that you have to click on the popup menu "Get a Token from eBay via Your Application".
-
In the last step it is necessary to specify a URL to which eBay can send the new authentication token to the xentral installation. For this you have to copy the URL of the xentral installation (e.g. https://<myxentral>.xentral.biz/index.php?module=onlineshops&action=edit&id=1) and replace everything after the question mark with "module=ebay&action=rest&cmd=getToken".
At the end the URL looks then for example like this:
https://<myxentral>/index.php?module=ebay&action=rest&cmd=getToken
This URL must then be entered in the "Your auth accepted URL" field.

When finished, confirm the setting with "Save".
To assist third-party developers in deleting customer data, eBay has created a push notification system that will notify all eBay Developers Program applications when an eBay user has requested that their personal data be deleted and their account closed. All active eBay Developers Program applications are required to subscribe to eBay marketplace account deletion/closure notifications.
Steps to follow
-
Sign into your developer account.
-
Go to the Application Keys page.
-
Click on the Notifications linkadjacent to your App ID. You will be taken to the Alerts and Notifications page shown below
-
Select the Marketplace Account Deletion radio button under the Event Notification Delivery Method section.
-
The email address is required but will only be used to alert the developers when the specified Notification Endpoint URL is not reachable/not acknowledging notifications properly. Once you have input an email address, click the adjacent Save button.
-
Then, you will set the Notification Endpoint URL for receiving notifications. Copy verification url from Xentral and paste it.
-
Verification token generated automatically, copy this value from xentral and paste it into verification token field.
-
Once you have set your Notification Endpoint URL and Verification token value, click the adjacent Save button.
-
After you have successfully subscribed to eBay marketplace account deletion/closure notifications, you can send a test notification to this URL by clicking the Send Test Notification button. Once the Endpoint URL has received the test notification successfully, your setup is complete.Your application should start receiving eBay marketplace account deletion/closure notifications from eBay immediately.
In order to use this new interface in xentral, please follow these steps:
-
Go to Administration → Shop interface (until version 21.1: Administration → Settings → Online-Shops / Marketplaces) and edit the corresponding eBay Importer via the pencil icon.
-
Activate the checkbox for the order import via alternative API and save it.
-
Click on "Request REST Token".
A redirection to eBay takes place and it must be logged in with its seller account.
-
eBay asks to confirm that this authentication is ok. Please confirm with "I, agree".
-
eBay redirects back to xentral and the new App-ID is entered.
-
Finally please make sure that the checkbox "Order import via alternative API" is activated and finish the setup with "Save".
Now the importer can handle the new rest API. To test, simply click on "Pick up orders" or "Check connection".
In large parts, the scope of the connection via the new eBay API corresponds to the old connection. Information can be found here: eBay settings
An exception is the function to import already sent orders from eBay. This can not be mapped via this interface. Even with this checkbox unchecked, no shipped orders will be imported.
If you encounter any problems, please create a ticket in ZenDesk with the subject ebay_update .
Warning
During the changeover you have to be careful that orders are not imported twice.

Background: with the old API a different eBay order number was imported - this has now changed with the change of the API. However, since we use the eBay order number to check whether an order has already been imported, it can happen that orders that have already been imported are imported again. Therefore, orders should be imported via the intermediate table during the transition period. Info about this can be found here.
If an authentication error occurs at "Check connection", the token of the old interface prevents this - please follow these steps
-
Clear the "Token" field and save the settings
-
Click on "Check connection
-
A message with a link will be displayed at the top. Press on it and follow the process:
-
After that it should work.
Important
As soon as the password of the eBay account is changed, the authentication described above is also invalid and must be executed again.
-
Go to Administration → Shop interface (until version 21.1: Administration → Settings → Online-Shops / Marketplaces) and edit the corresponding eBay importer.
-
Click on "Request REST Token". This will redirect you to eBay and you have to log in with your seller account.
-
eBay will ask you to confirm that this authentication is ok. Please confirm with "I, agree".
-
eBay redirects back to xentral and the new App-ID is entered.
With the new API eBay returns the phone numbers of the customers only as the customer has entered them e.g. (+49176..., 0176... or 48327...).
The international format of the old API is no longer used.
Via the REST API the payment method is passed as "EBAY" and not as "ebay" as before, thus the existing mapping does not take effect and would still have to be manually adjusted/added for each importer.
If there is only one type of discount (quantity discount, special promotion, promotion code, etc) on the orders, this discount will be transferred with the standard mechanics of the importer. This means that no dedicated discount item is needed in the importer for the item to end up correctly in the order.
If there are several discount types, the discounts are grouped by type and transferred as individual items. For this mechanism to work, it is mandatory to specify a discount article in the importer.
It is advisable to enter a discount article in any case, also with regard to the separate taxation of the United Kingdom.
If in the eBay Importer settings the field "Token" contains a value that starts with "Session: ...", the content of the field must be deleted. Then save and click on "Check connection" again. Then follow the instructions for the old token again and complete the process. As soon as the button "Check connection" returns a "Success", start again with the new mechanics from the beginning.
Basically, the old connection should be made, until the button "Check connection" and enter the access data at eBay. As soon as the token of the "old connection" is entered, one must go on the button "REST token request", it comes again to a redirection to eBay, here again log in on the button "I agree" go, afterwards the collection of the orders should work