Conectarse a la Selling Partner API mediante un SDK de Java generado

Cómo conectarse a SP-API utilizando un SDK de Java generado.

Antes de que su aplicación pueda conectarse a la Selling Partner API, debe registrarla y debe ser autorizada por un selling partner. Consulte Registro de su aplicación y Autorización de aplicaciones Selling Partner API .

Estas instrucciones le muestran cómo utilizar un SDK de Java generado para realizar llamadas. El SDK expone clases para configurar sus credenciales de LWA y AWS y las utiliza para intercambiar tokens de LWA y firmar solicitudes por usted. Para obtener más información, consulte Generación de un SDK de Java con autenticación e intercambio de tokens LWA .

Paso 1. Configura tus credenciales de AWS

Crear una instancia de AWSAuthenticationCredentials , utilizando los siguientes parámetros:

NombreDescripciónRequerido
accessKeyIdSu accessKeyId de AWS, del Paso 2. Cree un usuario de IAM .
secretKeySu secretKey de AWS, del paso 2. Cree un usuario de IAM .
regionLa región de AWS a la que está dirigiendo su llamada. Para obtener más información, consulte SP-API Endpoints

Ejemplo:

import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentials;

AWSAuthenticationCredentials awsAuthenticationCredentials=AWSAuthenticationCredentials.builder()
  .accessKeyId("myAccessKeyId")
  .secretKey("mySecretId")
  .region("us-east-1")
  .build();

Paso 2. Configure su AWS credentials provider

Crear una instancia de AWSAuthenticationCredentialsProvider , utilizando los siguientes parámetros:

NombreDescripciónRequerido
roleArnEl ARN del IAM role que creó en el Paso 4. Crear un IAM role .
roleSessionNameUn identificador para la sesión que defina. Recomendamos utilizar un Universally Unique Identifier (UUID).

Ejemplo:

import com.amazon.SellingPartnerAPIAA.AWSAuthenticationCredentialsProvider;

AWSAuthenticationCredentialsProvider awsAuthenticationCredentialsProvider=AWSAuthenticationCredentialsProvider.builder()
  .roleArn("myroleARN")
  .roleSessionName("myrolesessioname")
  .build();

Paso 3. Configura tus credenciales de LWA

Crear una instancia de LWAAuthorizationCredentials , utilizando los siguientes parámetros:

NombreDescripción
clientIdSu identificador de cliente LWA. Para obtener más información, consulte Visualización de su información de developer .
clientSecretSu clientSecret de LWA. Para obtener más información, consulte Visualización de su información de developer .
refreshTokenEl refreshToken de LWA. Obtenga este valor cuando el selling partner autorice su aplicación. Para obtener más información, consulte Autorización de aplicaciones Selling Partner API comerciales.No. Incluya refreshToken si la operación a la que llama en el siguiente paso requiere la autorización del selling partner. Todas las operaciones que no sean Operaciones sin garantía requieren la autorización del selling partner. Si incluye refreshToken, no incluya withScopes.
withScopesEl alcance de la concesión de la autorización LWA. Puede especificar uno o más valores de withScopes.

Valores:

- SCOPE_NOTIFICACIONES_API . Para la API de notificaciones.

- SCOPE_MIGRATION_API . Para la API de autorización.
No. Incluya withScopes si la operación a la que llama en el paso siguiente es una Operaciones sin garantía. Si incluye withScopes, no incluya refreshToken.
endpointEl URI del servidor de autenticación LWA.

Ejemplo de operaciones de llamada que requieren autorización de selling partner:

import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials;

LWAAuthorizationCredentials lwaAuthorizationCredentials = LWAAuthorizationCredentials.builder()
  .clientId("myClientId")
  .clientSecret("myClientSecret")
  .refreshToken("Aztr|...")
  .endpoint("https://api.amazon.com/auth/o2/token")
  .build();

Ejemplo para llamar a grantless operations (Operaciones sin garantía):

import com.amazon.SellingPartnerAPIAA.LWAAuthorizationCredentials;
import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_NOTIFICATIONS_API;
import static com.amazon.SellingPartnerAPIAA.ScopeConstants.SCOPE_MIGRATION_API;

LWAAuthorizationCredentials lwaAuthorizationCredentials =
  LWAAuthorizationCredentials.builder()
  .clientId("myClientId")
  .clientSecret("myClientSecret")
  .withScopes(SCOPE_NOTIFICATIONS_API, SCOPE_MIGRATION_API)
  .endpoint("https://api.amazon.com/auth/o2/token")
  .build();

Paso 4. Cree una instancia de la Sellers API y llame a una operación

Con tu AWSAuthenticationCredentials , AWSAuthenticationCredentialsProvider y Con las instancias de LWAAuthorizationCredentials configuradas, puede crear una instancia de SellersApi y llamar a una operación.

Ejemplo:

SellersApi sellersApi = new SellersApi.Builder()
  .awsAuthenticationCredentials(awsAuthenticationCredentials)
  .lwaAuthorizationCredentials(lwaAuthorizationCredentials)
  .awsAuthenticationCredentialsProvider(awsAuthenticationCredentialsProvider)
  .endpoint("https://sellingpartnerapi-na.amazon.com")
  .build();