1. Access e Refresh Token (LWA)

Para completar esta etapa, os passos anteriores de setup devem ter sido finalizadas. Esta etapa trará instruções para fazer chamadas na SP-API.

Fluxograma

1109

Se estiver fazendo integração direta (private) pode pular a etapa “Obtendo o Access Token” e ir para “Solicitar o token de acesso LWA”.

Obtendo o Access Token

Obtendo Access Token e Refresh Token

1. Crie uma nova "Collection"

Abra o postman, vá até a aba "collections" e crie uma nova.

138

2. Adicione uma nova "Request"

Com botão direito sobre a nova "collection", clique em "Add Request".

209

3. Adicione um método Post

Utilize a API da Amazon para fazer sua requisição

386
https://api.amazon.com/auth/o2/token

4. Adicionando "Authorization"

Na aba "Authorization", selecione o type "Aws Signature".

390

5. Adicione os parâmetros

Quando fizemos o Download da Chave ao criar o usuário, no passo 8, recebemos o AccessKey e o SecretKey.

Deve ficar algo como:

455

6. Navegue até a aba "Body"

Selecione a opção "x-www-form-urlencoded"

358

7. Preencha com os dados

Adicione as seguintes keys:

KeyValue (Exemplo)
grant_typeauthorization_code
codespapi_oauth_code
client_idClient identifier
client_secretClient secret
redirect_urlUse a mesma URI que colocou no OAuth Login

Ao chamarmos a permissão do desenvolvedor, no passo 6, recebemos o "spapi_oauth_code", ele deve ser usado no "code".

900

8. As demais informações

Você encontra cada uma dessas informações na criação do APP.
client_id: Client identifier
client_secret: Client secret
redirect_url: Use a mesma URI que colocou no OAuth Login

619

"Client identifier" e "Client secret"

735

"redirect_url"

9. Clique em "Send"

Você deve receber o "access_token" e o "refresh_token"

116 328

Refresh Token

1. Adicione uma nova requisição

209

2. Selecione o tipo "POST"

URL: https://api.amazon.com/auth/o2/token

386

3. Você precisa do AccessKey e SecretKey

Quando criamos o usuário, fizemos o Download do CSV, no passo 8, nesta parte iremos usar essas credenciais.

853

3. Adicionar as credenciais do aplicativo

Ao registrar um Novo aplicativo, no passo 10, geramos as chaves.

Você deve usar as chaves e "URL" do aplicativo.

KeyValue
grant_typerefresh_token
refresh_tokenRefrash que pegamos na "Authorization Token"
client_idClientID do aplicativo
client_secretSecretKey do aplicativo
redirect_url"URL" do aplicativo callback
900

4. Clique em "Send"

116

5. Você deve receber um JSON

O JSON de resposta é deve ser parecido com esse.

{
    "access_token": "Atza|IwEBIIt0HeL3Lcp3uVG3AIh5SiwCU3f2qes6SQSsSODJNlsiJe8YQiGDB6fX7S3_73sj4k_SyhPsni7Q7GdKa7YC7dkBYWqPmoMakE2Qb6ywlp1SihRhdPwRZtXESmVSMnTH6irYfrRKQAr0_CGmc5rBHQa1iwahzLE6tQCj38PCo7gBMIzbUqGuWiM6u6sntcP1kV03GbE34GIzxRhxTGPSNIDQBT27rRhM_Fpgl0elIkTF3Z33vyEktCTwPp1MG5SCR7gQtawPk3SzrggIiS7DgW-w11kWRRwbM-L862_zdvbHaz3E81kHEVJkZP7HbEuNJ0TbjjGuEtoWAvL-qIj9E4",
    "refresh_token": "Atzr|IwEBIF3tLAgN_A9VCHX44i8wD7n2d0ZUgbQNFg8DdbYqtqNI-QV_XpF-WmCUK-5KSOPGlYiLz__ckBwY2w_mo4jtfsg88L85ho0BVsI5o8fIv0nPZvpmSxBahMjw_OSR_7-_lzw4YVYmgCkDvkKebPPzd17uDs0gYoM8BZ3hP1tPDdXIOHUlNPM_wI0i3oajI785nGxlCRH916If9b8pnlNTouoBsODezfL90pUA1nr1u4tJYs4GOFCLzoaAY_9Jds79IRfzIM2Ed8enZjT7z_pGNWczLsFQWmL1vs4o0wwqD-FGKkF1zDhC7CoQRgaw0kIoI",
    "token_type": "bearer",
    "expires_in": 3600
}

Solicitar o token de acesso LWA

Para fazer um request para um LWA access token, faça uma chamada HTTP para o LWA authentication server (https://api.amazon.com/auth/o2/token) com os seguintes parâmetros:

📘

Grantless Operations

Operações Grantless é uma operação que você pode chamar sem uma autorização explícita de um vendedor. Significa que quando você solicita um token de acesso LWA antes de chamar uma operação grantless, você não precisa providenciar um token de atualização. Em vez disso, você utiliza o parâmetro scope para providenciar o escopo da garantia de autorização LWA. Se você utilizar um Java SDK (veja Conectando à SP-API utilizando um Java SDK) para chamar operações grantless, utilize o parâmetro withScopes para configurar um ou mais escopos para a garantia de autorização LWA quando configurar suas credenciais LWA.

Veja aqui as operações grantless.

ParâmetroDescriçãoObrigatoriedade
grant_typeOs tipos de grant_type solicitada.

Valores:

refresh_token: Use para operações de chamada que requerem autorização de um vendedor. Ao especificar esse valor, inclua o parâmetro refresh_token.

client_credentials: Use isso para chamar grantless operations. Ao especificar este valor, inclua o parâmetro scope.
Obrigatório
refresh_tokenO LWA refresh token. Obtenha este valor quando o vendedor autorizar seu aplicativo.Opcional. Inclua o refresh_token para operações que requerem autorização do vendedor. Se incluir o refresh_token não inclua o scope.
scopeO parâmetro scope do LWA authorization.

Valores:

sellingpartnerapi::notifications para Notifications API.
sellingpartnerapi::migration para Authorization API.
Opcional. Inclua o scope para operações grantless Se incluir o scope não inclua o refresh_token.
client_idObtenha este valor ao registrar sua aplicação.Obrigatório
client_secretObtenha este valor ao registrar sua aplicação.Obrigatório

Exemplo de chamada:

POST /auth/o2/token HTTP/l.l
Host: api.amazon.com
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
grant_type=refresh_token
&refresh_token=Aztr|...
&client_id=foodev
&client_secret=Y76SDl2F

Exemplo para chamada de operação grantless:

POST /auth/o2/token HTTP/l.l
Host: api.amazon.com
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
grant_type=client_credentials
&scope=sellingpartnerapi::notifications
&client_id=foodev
&client_secret=Y76SDl2F

📘

Dica

Para evitar receber um certificado de autoridade (CA) não confiável, certifique-se de atualizar sua loja confiável para que sua aplicação confie no servidor de autorização LWA.

Resposta

Uma resposta de sucesso inclui os seguintes valores

ParâmetroDescrição
access_tokenO LWA access token. Tamanho máximo: 2048 bytes.
token_typeO tipo de token retornado. Deve ser bearer.
expires_inO número de segundos para que o LWA access token se torne inválido (geralmente, 3600s).
refresh_tokenO LWA access token que você incluiu no request. Tamanha máximo: 2048 bytes.
HTTP/l.l 200 OK
Content-Type: application/json;charset UTF-8
Cache-Control: no-store
Pragma:no-cache
{
  "access_token":"Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSREXAMPLE",
  "token_type":"bearer",
  "expires_in":3600,
  "refresh_token":"Atzr|IQEBLzAtAhRPpMJxdwVz2Nn6f2y-tpJX2DeXEXAMPLE"
}

👍

Mais informações

Visite a página de Authorization Code Grant na documentação de LWA.