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
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.
2. Adicione uma nova "Request"
Com botão direito sobre a nova "collection", clique em "Add Request".
3. Adicione um método Post
Utilize a API da Amazon para fazer sua requisição
https://api.amazon.com/auth/o2/token
4. Adicionando "Authorization"
Na aba "Authorization", selecione o type "Aws Signature".
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:
6. Navegue até a aba "Body"
Selecione a opção "x-www-form-urlencoded"
7. Preencha com os dados
Adicione as seguintes keys:
Key | Value (Exemplo) |
---|---|
grant_type | authorization_code |
code | spapi_oauth_code |
client_id | Client identifier |
client_secret | Client secret |
redirect_url | Use 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".
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
9. Clique em "Send"
Você deve receber o "access_token" e o "refresh_token"
Refresh Token
1. Adicione uma nova requisição
2. Selecione o tipo "POST"
URL: https://api.amazon.com/auth/o2/token
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.
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.
Key | Value |
---|---|
grant_type | refresh_token |
refresh_token | Refrash que pegamos na "Authorization Token" |
client_id | ClientID do aplicativo |
client_secret | SecretKey do aplicativo |
redirect_url | "URL" do aplicativo callback |
4. Clique em "Send"
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.
Parâmetro | Descrição | Obrigatoriedade |
---|---|---|
grant_type | Os 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_token | O 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. |
scope | O 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_id | Obtenha este valor ao registrar sua aplicação. | Obrigatório |
client_secret | Obtenha 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âmetro | Descrição |
---|---|
access_token | O LWA access token. Tamanho máximo: 2048 bytes. |
token_type | O tipo de token retornado. Deve ser bearer. |
expires_in | O número de segundos para que o LWA access token se torne inválido (geralmente, 3600s). |
refresh_token | O 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.
Updated almost 2 years ago