Amazon MWS Connector for JAVAAmazon MWS (Marketplace Web Service) Connector can be used to integrated web service API that helps Amazon sellers to programmatically exchange data on listings, orders, payments, reports, and more. In this article you will learn how to quickly and efficiently integrate Amazon MWS data in JAVA. We will use high-performance Amazon MWS Connector to easily connect to Amazon MWS and then access the data inside JAVA. Let's follow the steps below to see how we can accomplish that! Amazon's MWS (Marketplace Web Service) is being deprecated and replaced by the newer AWS Selling Partner API (SP-API). For a more robust and secure integration, we recommend using our AWS Selling Partner (SP-API) Connector. As Amazon is phasing out MWS functionality and eventually plans to fully deprecate it.
Amazon MWS Connector for JAVA is based on ZappySys API Driver which is part of ODBC PowerPack. It is a collection of high-performance ODBC drivers that enable you to integrate data in SQL Server, SSIS, a programming language, or any other ODBC-compatible application. ODBC PowerPack supports various file formats, sources and destinations, including REST/SOAP API, SFTP/FTP, storage services, and plain files, to mention a few. |
Connect to Amazon MWS in other apps
|
Create Data Source in ZappySys Data Gateway based on API Driver
-
Download and install ODBC PowerPack.
-
Search for gateway in start menu and Open ZappySys Data Gateway:
-
Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
-
Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys API Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.
AmazonmwsDSN
-
When the Configuration window appears give your data source a name if you haven't done that already, then select "Amazon MWS" from the list of Popular Connectors. If "Amazon MWS" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:
AmazonmwsDSNAmazon MWS -
Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.
Please refer to below API reference (external site) link for OAuth [OAuth]Fill in all required parameters and set optional parameters if needed:
AmazonmwsDSNAmazon MWSOAuth [OAuth]https://mws.amazonservices.comRequired Parameters AWSAccessKeyId Fill-in the parameter... Secret Key Fill-in the parameter... SellerId Fill-in the parameter... -
Once the data source connection has been configured, it's time to configure the SQL query. Select the Preview tab and then click Query Builder button to configure the SQL query:
ZappySys API Driver - Amazon MWSAmazon MWS (Marketplace Web Service) Connector can be used to integrated web service API that helps Amazon sellers to programmatically exchange data on listings, orders, payments, reports, and more.AmazonmwsDSN -
Start by selecting the Table or Endpoint you are interested in and then configure the parameters. This will generate a query that we will use in JAVA to retrieve data from Amazon MWS. Hit OK button to use this query in the next step.
SELECT * FROM Orders
Some parameters configured in this window will be passed to the Amazon MWS API, e.g. filtering parameters. It means that filtering will be done on the server side (instead of the client side), enabling you to get only the meaningful datamuch faster . -
Now hit Preview Data button to preview the data using the generated SQL query. If you are satisfied with the result, use this query in JAVA:
ZappySys API Driver - Amazon MWSAmazon MWS (Marketplace Web Service) Connector can be used to integrated web service API that helps Amazon sellers to programmatically exchange data on listings, orders, payments, reports, and more.AmazonmwsDSNSELECT * FROM Orders
You can also access data quickly from the tables dropdown by selecting <Select table>.AWHERE
clause,LIMIT
keyword will be performed on the client side, meaning that thewhole result set will be retrieved from the Amazon MWS API first, and only then the filtering will be applied to the data. If possible, it is recommended to use parameters in Query Builder to filter the data on the server side (in Amazon MWS servers). -
Click OK to finish creating the data source.
-
Most Important Step: Now, After creating or modifying a data source in ZappySys Data Gateway, make sure to click the SAVE button to preserve your changes.
Then, RESTART the Data Gateway service to ensure all changes are properly applied.Skipping either step may result in the new settings not taking effect.
Read data in Java from the DSN
-
Java code to get the data:
"jdbc:sqlserver://localhost:5000;databasename=AmazonmwsDSN;user=tdsuser;password=test" -
When you run the code it will make the API call and read the data:
-
Here is Java program's code in text format:
//Step-1: Install ZappySys ODBC PowerPack and Configure Data Gateway //Step-2:Assuming the Microsoft SQL Server JDBC Driver is in below folder //C:\Program Files\Microsoft Jdbc Driver 6.0 for SQL Server\sqljdbc_6.0\enu\auth\x64 package padaone; import java.sql.*; public class zappy { public static void main(String[] args) { // Create a variable for the connection string. String connectionUrl = "jdbc:sqlserver://localhost:5000;databasename=AmazonmwsDSN;user=test;password=test"; // Declare the JDBC objects. Connection con = null; Statement stmt = null; ResultSet rs = null; try { // Establish the connection. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(connectionUrl); // Create and execute an SQL statement that returns some data. String SQL = "SELECT Country , SUM(UnitPrice * Quantity) Total " + "FROM value " + "GROUP BY Country " + "WITH (SRC='https://services.odata.org/V3/Northwind/Northwind.svc/Invoices?$format=json')"; stmt = con.createStatement(); rs = stmt.executeQuery(SQL); // Iterate through the data in the result set and display it. while (rs.next()) { System.out.println(rs.getString(1) + " " + rs.getString(2)); } } // Handle any errors that may have occurred. catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch (Exception e) {} if (stmt != null) try { stmt.close(); } catch (Exception e) {} if (con != null) try { con.close(); } catch (Exception e) {} } } }
Actions supported by Amazon MWS Connector
Learn how to perform common Amazon MWS actions directly in JAVA with these how-to guides:
- Get CSV Report By ID - Cached Copy (Previously Generated)
- Get FlatFile Report (Live)
- Get Report Count
- Get Report List (Successful Only)
- Get Report Requests
- Get XML Report (Live)
- Get XML Report By ID - Cached Copy (Previously Generated)
- Orders: Get Single Order Information
- Orders: Read Order Items
- Orders: Read Orders
- Make Generic API Request
- Make Generic API Request (Bulk Write)
Conclusion
In this article we showed you how to connect to Amazon MWS in JAVA and integrate data without any coding, saving you time and effort.
We encourage you to download Amazon MWS Connector for JAVA and see how easy it is to use it for yourself or your team.
If you have any questions, feel free to contact ZappySys support team. You can also open a live chat immediately by clicking on the chat icon below.
Download Amazon MWS Connector for JAVA Documentation