Generate a Java SDK
Generate a Java SDK with an LWA token exchange.
These instructions explain how to generate a Java SDK for the Sellers API using Swagger Code Generator on a computer running Microsoft Windows. The process is the same for users of other operating systems such as macOS or Linux, with the replacement of Windows-specific semantics (for example, C:\
). Although these instructions are for the Sellers API, you can modify the instructions to generate SDKs for any other Selling Partner API. Refer to the Models page for Swagger models for each Selling Partner API section.
With this SDK you can make requests to the Selling Partner API with the following code, which is already set up for you: Login with Amazon (LWA) token exchange (exchange a refresh token for an access token).
To generate a Java SDK with LWA token exchange
-
Install Java 8 or newer, Apache Maven 3.6. or greater, and GNU Wget and make them available in your
$PATH
. -
Go to the selling-partner-api-models repository on GitHub.
-
Clone the repository to make a local copy on your computer, if you haven't done so already.
-
Open a command prompt window and go to a directory where you want to download the Swagger Code Generator.
-
Download the latest version of the Swagger Code Generator.
For example:
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar -O swagger-codegen-cli.jar
swagger-codegen-cli.jar
downloads to the current directory.Note
You can also download from maven.org by directing your browser to https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.13/swagger-codegen-cli-2.4.13.jar
-
Copy
swagger-codegen-cli.jar
into a directory structure that makes sense for you. For this example, we'll copy it toC:\SwaggerToCL
. -
Navigate to
sellers.json
in theselling-partner-api-models\models\sellers-api-model
folder of your local copy of the repository. -
Copy
sellers.json
intoC:\SwaggerToCL
. -
Generate the SDK against the templates in the
selling-partner-api-models\clients\sellingpartner-api-aa-java
folder of your local copy of the repository. This folder contains an authorization and authentication library, along with customized templates for the Swagger Code Generator and a config file to generate the correct version of the SDK.For example:
java -jar C:\SwaggerToCL\swagger-codegen-cli.jar generate \ -i C:\SwaggerToCL\Sellers.json \ -l java \ -t [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\swagger-codegen\templates\ \ -o C:\SwaggerToCL\Sellers_JavaCL \ -c [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\java\config.json
The SDK is copied to
C:\SwaggerToCL\Sellers_JavaCL
Version notation:
In the following steps,
x.x
refers to the latest version of the AA library. Refer to the readme for the latest version. -
Build the AA Library and add it as a dependency of the SDK:
-
Navigate to the
selling-partner-api-models\clients\sellingpartner-api-aa-java
folder of your local copy of the repository and runmvn package
. This generates a folder named "target". In this folder is a JAR file namedsellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar
(or something similar) and all of the required dependencies. -
Install the JAR file in your local Maven repository.
For example:
mvn install:install-file -Dfile=[path to JAR file in "target" folder] -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=x.x -Dpackaging=jar
You can find the actual
groupId
,artifactId
, and version values near the top of thepom.xml
file in theselling-partner-api-models\clients\sellingpartner-api-aa-java
folder. -
-
Add a dependency on the AA library in the
pom.xml
of the client library:For example:
<dependency> <groupId>com.amazon.sellingpartnerapi</groupId> <artifactId>sellingpartnerapi-aa-java</artifactId> <version>x.x</version> </dependency>
After you have generated your SDK you can use it to make calls to the Selling Partner API. Refer to Connecting to the Selling Partner API using a generated Java SDK.
Logging request and response headers
To obtain request and response headers using your SDK, append
WithHttpInfo
to the method name. This new operation returns anApiResponse<OperationNameResponse>
object, which contains the header and status code in addition to the payload of theOperationName
.Example: The method
getMarketplaceParticipations
will return an object of typeGetMarketplaceParticipationsResponse
, whereas the operationgetMarketplaceParticipationsWithHttpInfo
will return an object of typeApiResponse<GetMarketplaceParticipationsResponse>
. TheApiResponse<GetMarketplaceParticipationsResponse>
object contains the header and status code as well as aGetMarketplaceParticipationsResponse
object.
Updated 6 months ago