Tutorial: como automatizar suas chamadas à SP-API usando um SDK em Java

Automatize suas chamadas à SP-API com a troca e autenticação de tokens do Login com a Amazon (LWA).

Este tutorial descreve como gerar um SDK Java com a troca e autenticação de tokens Login with Amazon (LWA) para criar seu aplicativo sem problemas. Você aprenderá os pré-requisitos necessários para criar o Java SDK e também verá um exemplo usando a API Selling Partner for Sellers e o Swagger Code Generator.

Primeiro, veja como o processo de autorização funciona.

Tutorial

O tutorial a seguir ajudará você a configurar seu próprio Java SDK para automatizar chamadas de SP-API.

Pré-requisitos

Para concluir este tutorial, você precisa dos seguintes pré-requisitos:

  • Um aplicativo híbrido ou SP-API em estado de rascunho ou publicado
  • Software de ambiente de desenvolvimento integrado (IDE) (este passo a passo usa o Eclipse IDE no sistema operacional Windows)

Before your application can connect to the Selling Partner API, you must register it, and it must be authorized by a selling partner. If you do not have a hybrid or SP-API app, follow the steps to register as a developer, register your application, and Authorizing Selling Partner API applications. Then, return to this tutorial.

Em seguida, configure seu espaço de trabalho para o tutorial.

Etapa 1. Configure o espaço de trabalho

Primeiro, você precisará baixar os pacotes de software necessários, baixar o Swagger Code Generator e clonar o repositório de modelos SP-API.

  1. Em sua unidade local, crie um diretório para esse projeto e nomeie-o SwaggerToCL.

  2. Baixe as seguintes ferramentas e disponibilize-as em seu $PATH.

  3. Execute o seguinte comando para baixar o gerador de código do Swagger:

    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
  4. Copie swagger-codegen-cli.jar em seu diretório local C:\\SwaggerToCL.

  5. In GitHub, go to https://github.com/amzn/selling-partner-api-models/tree/main/models and use the following command to clone the selling-partner-api-models repository to your local directory C:\\SwaggerToCL.

    git clone https://github.com/amzn/selling-partner-api-models
  6. Navegue até o selling-partner-api-models\models pasta em sua cópia local do repositório e copie todos os arquivos JSON das subpastas do modelo em C:\\SwaggerToCL.

    The selling-partner-api-models repository has two directories:

    • models directory - contains all the currently available Selling Partner API models.

    📘

    Observação

    Developers use Swagger Codegen to generate client libraries from these models. Swagger CodeGen is an open source project which enables automatic generation of API client libraries (SDK generation), server stubs, and documentation from an OpenAPI specification. For more information, refer to Swagger Codegen.

Now that you have completed the required setup, the next step is to generate the Java SDK with the authentication and authorization classes provided in the sellingpartner-api-aa-java folder.

Etapa 2. Gere o Java SDK para SP-APIs

Nesta etapa, você gera o SDK com base nos modelos na pasta selling-partner-api-models\clients\sellingpartner-api-aa-java em sua cópia local do repositório. Essa pasta contém uma biblioteca de autorização e autenticação, além de modelos personalizados para o Swagger Code Generator e um arquivo de configuração para gerar a versão correta do SDK.

Para gerar o Java SDK, você precisa executar o seguinte comando para cada arquivo JSON em seu diretório local:

java -jar C:\SwaggerToCL\swagger-codegen-cli.jar generate \ -i C:\SwaggerToCL\[name of model].json \ -l java -t [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\swagger-codegen\templates\ \ -o C:\SwaggerToCL\[name of client library] \ -c [path to selling-partner-api-models\clients\sellingpartner-api-aa-java folder]\resources\java\config.json

Por exemplo, execute o seguinte comando para gerar código Java para sellers.json.

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

Repeat this step to generate SDKs for each of the SP-APIs available in the models directory.

O SDK gerado inclui as classes para configurar suas credenciais de LWA e as usa para trocar tokens LWA.

In the following steps, x.x refers to the latest version of the AA library. Refer to the readme to get the latest version.

Etapa 3. Crie a biblioteca da Biblioteca de Autenticação/Autorização (AA)

Depois de gerar o SDK, crie a biblioteca AA.

  1. Navegue até o selling-partner-api-models\clients\sellingpartner-api-aa-java pasta da sua cópia local do repositório e execute mvn package. Isso gera uma pasta chamada target. Nesta pasta está um JAR arquivo chamado sellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar (ou com nome semelhante) e todas as dependências necessárias.
  2. Execute o comando a seguir para instalar o arquivo JAR em seu repositório {{1}} local.
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

Você pode encontrar o real groupId, artifactId, e version valores próximos ao topo do pom.xml arquivo no selling-partner-api-models\clients\sellingpartner-api-aa-java pasta.

Por exemplo:

mvn install:install-file -Dfile=C:\SwaggerToCL\sellingpartner-api-aa-java\target\sellingpartnerapi-aa-java-x.x.jar -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=x.x -Dpackaging=jar
mvn install:install-file -Dfile=C:\SwaggerToCL\sellingpartner-api-aa-java\target\sellingpartnerapi-aa-java-x.x-jar-with-dependencies.jar -DgroupId=com.amazon.sellingpartnerapi -DartifactId=sellingpartnerapi-aa-java -Dversion=x.x -Dpackaging=jar

Etapa 4. Adicione a biblioteca como uma dependência do SDK

Para adicionar a biblioteca como uma dependência, você precisa editar o pom.xml arquivo.

  1. Em seu diretório local, navegue até selling-partner-api-models/clients/sellingpartner-api-aa-java e abra o pom.xml arquivo.

  2. Adicione o código a seguir como uma dependência no arquivo.

    <dependency> <groupId>com.amazon.sellingpartnerapi</groupId> <artifactId>sellingpartnerapi-aa-java</artifactId> <version>x.x</version> </dependency>
  3. Salve e feche o arquivo.

A próxima etapa é escrever o aplicativo real e conectar-se à SP-API usando o Java SDK gerado.

Etapa 5. Conecte-se à API do parceiro de vendas usando o Java SDK gerado

In this step, you connect to the Selling Partner API using your generated Java SDK. These steps use Eclipse IDE to import the generated SDK and connect to the Selling Partner API, but you can use your preferred IDE.

  1. Em {{0}}, no menu Arquivo, clique em Abrir projetos do sistema de arquivos e, em seguida, importe o SDK gerado em Java.

  2. Em src/main/java adicionar um class para escrever seu código.

  3. Insira o código no campo adicionado class para configurar a seguinte instância:

    📘

    Observação

    Observação: se o caminho da classe não reconhecer as classes no JAR, você precisará adicionar os arquivos target criados na pasta {{2}}, localizada na pasta do SDK gerado.

  4. Crie uma instância da API SDK gerada e chame as operações. Por exemplo, consulte o código de exemplo a seguir para se conectar à API do parceiro de vendas para vendedores (desde que você tenha gerado o SDK para essa API).

    import io.swagger.client.*; import io.swagger.client.auth.*; import io.swagger.client.model.*; import io.swagger.client.api.SellersApi; import java.io.File; import java.util.*; import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials; import com.amazon.SellingPartnerAPIAA.LWAException; import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_NOTIFICATIONS_API; // for grantless operations (Notifications API) import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_MIGRATION_API; // for grantless operations (Authorization API) public class SellersApiDemo { public static void main(String[] args) { //Configure your LWA credentials : LWAAuthorizationCredentials lwaAuthorizationCredentials = LWAAuthorizationCredentials.builder() .clientId("amzn1.application-*********************") .clientSecret("***********************************") .refreshToken("Atzr|******************************") .endpoint("https://api.amazon.com/auth/o2/token") .build(); //For Grantless operations (Authorization API and Notifications API), use following code : /* LWAAuthorizationCredentials lwaAuthorizationCredentials = LWAAuthorizationCredentials.builder() .clientId("amzn1.application-*********************") .clientSecret("***********************************") .withScopes(SCOPE_NOTIFICATIONS_API, SCOPE_MIGRATION_API) .endpoint("https://api.amazon.com/auth/o2/token") .build(); */ //Create an instance of the Sellers API and call an operation : SellersApi sellersApi = new SellersApi.Builder() .lwaAuthorizationCredentials(lwaAuthorizationCredentials) .endpoint("https://sellingpartnerapi-na.amazon.com") // use Sandbox URL here if you would like to test your applications without affecting production data. .build(); try { GetMarketplaceParticipationsResponse result = sellersApi.getMarketplaceParticipations(); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling SellersApi#getMarketplaceParticipations"); e.printStackTrace(); } catch (LWAException e) { System.err.println("LWA Exception when calling SellersApi#getMarketplaceParticipations"); System.err.println(e.getErrorCode()); System.err.println(e.getErrorMessage()); e.printStackTrace(); } } }

Agora que você executou o código, execute a classe main. Você verá uma lista de sites nos quais seu vendedor autorizado pode vender.

Você pode seguir etapas semelhantes para outras SP-APIs.


Esta página ajudou você?