Autorizar através do Marketplace Appstore

Neste processo será executado o fluxo de autorização OAuth em que o vendedor inicia a partir da página de Marketplace App Store da Amazon.

Quando desenvolvedores parceiros listam a sua aplicação no Marketplace App Store, os vendedores podem pesquisar essa aplicação na App Store e autorizá-la ao clicar no botão de "Autorizar já".

Como testar o fluxo de autorização da App Store do Marketplace

  1. Tenha certeza que sua aplicação está no status de "Rascunho", para olhar este status volte no tópico "Checando as suas informações de desenvolvedor".

  2. Faça um ou mais URIs de autorização OAuth para testes. Inclua sempre o parâmetro "&version=beta" no final, enquanto a aplicação está em Rascunho;

  3. No passo 3 (o vendedor entra no seu website), tenha certeza que o fluxo adicione o parâmetro "&version=beta" para o URI de retorno de chamada (call back) da Amazon, afim de indicar que o fluxo de trabalho é para autorizar um aplicativo no status de Rascunho.

  4. Após executados os passos acima, você pode testar o fluxo de autorização com um
    vendedor de sua confiança, ou utilizando as suas próprias credenciais de vendedor. Em vez de iniciar pelo passo 1 (o vendedor inicia a autorização do Marketplace App Store),
    inicia-se pela navegação da URI de Autorização OAuth criada anteriormente, no passo
    URIs de Autorização Oauth.

👍

Nota

Após testar o fluxo de autorização, você pode convertê-lo para o fluxo de produção.

Fluxo de autorização através da App Store do Marketplace

Passo 1 - O vendedor inicia a autorização pela Appstore

  1. O vendedor faz o log-in no Seller Central e procura a aplicação na App Store.
1863
  1. O vendedor faz a busca pela sua aplicação e clica no botão de autorização. Logo, a página de consentimento será aberta.

Passo 2 - O vendedor concede autorização para sua aplicação

  1. O vendedor vai ler, revisar e aceitar os acessos a dados requeridos pela sua aplicação e, então, vai clicar em "Login em [nome da sua aplicação] " para continuar. O que também pode acontecer é o vendedor clicar em "Cancelar" e sair sem autorizar sua aplicação.
  2. A Amazon vai carregar o seu Login URI (URI de log-in que você informou no registro da sua aplicação) no navegador, adicionando os seguintes parâmetros na query:
ParâmetroDescrição
amazon_callback_uriA URI redirecionando o navegador para Amazon.
amazon_stateUm valor de estado gerado pela Amazon para proteção contra ataques de falsificação de solicitação entre sites.
selling_partner_idO Seller ID do seller o qual está autorizando sua aplicação.
  1. A página de log-in do seu website aparece.

Passo 3 - O vendedor faz o log-in no seu website

🚧

É necessário possuir uma conta no aplicativo

Caso o vendedor ainda não tenha uma conta, ele deve completar o processo de cadastramento na sua plataforma.

A sua aplicação irá carregar o URI de callback Amazon (enviado pela Amazon no passo anterior) no seu navegador, adicionando os seguintes parâmetros:

ParâmetroDescrição
redirect_uriUm URI para redirecionar o navegador para seu aplicativo.
amazon_stateO valor amazon_state passado pela Amazon na etapa anterior.
stateUm valor de estado gerado por seu aplicativo. Seu aplicativo usa esse valor para manter o estado entre essa solicitação e a resposta, ajudando a se proteger contra ataques de falsificação de solicitação entre sites.

📘

Nota

Se incluir o parâmetro version=beta, o fluxo vai autorizar a aplicação no status de rascunho. Caso não inclua o parâmetro, o fluxo vai autorizar uma aplicação publicada na App Store.

Exemplo:
https://amazon.com/apps/authorize/confirm/amzn1.sellerapps.app.2eca283f-9f5a4d13-b16c474EXAMPLE57?redirect_uri=https://d2yzyfnnpjylxu.cloudfront.net/landing.html&amazon_state=amazonstateexample&state=-37131022&version=beta

Passo 4 - A Amazon envia a informação de autorização

O Seller Central exibe uma página para o vendedor indicando que a Amazon está autorizando você (desenvolvedor) a acessar os dados dele. Enquanto esta página é exibida, as seguintes ações ocorrem:

  1. A Amazon carrega o URI de redirecionamento para o navegador, adicionando os seguintes parâmetros na query:
ParâmetroDescrição
stateO valor de estado que você passou no passo anterior.
selling_partner_idO Seller Id do vendedor que está autorizando a sua aplicação.
mws_auth_tokenO valor MWSAuthToken que você usa ao criar uma string de consulta para uma chamada ao Amazon Marketplace Web Service. O parâmetro mws_auth_token é passado apenas quando o vendedor está autorizando uma aplicação híbrida.
spapi_oauth_codeO Login with Amazon (LWA) authorization code. Esse LWA authorization code será trocado por um LWA refresh token no passo seguinte.

Exemplo:

https://client-example.com?state=stateexample&mws_auth_token=mwsauthtokenexample&selling_partner_id=sellingpartneridexample&spapi_oauth_code=spapioauthcodeexample
  1. Sua aplicação valida o valor state.
  2. Sua aplicação salva selling_partner_id, mws_auth_token (caso tenha sido incluído) a spapi_oauth_code.
  3. A home page do seu website é exibida.

Passo 5 - Sua aplicação troca o código de autorização LWA por um token de atualização LWA

👍

Atenção!

Nesta etapa será realizada a troca do código de autorização LWA (authorization code) para o token de atualização LWA (refresh token).

Nós preparamos um SDK para JavaScript para auxiliar no processo - veja aqui.

Para trocar um código de autorização LWA por um token de atualização LWA:

  1. Sua aplicação chama o servidor de autorização LWA (https://api.amazon.com/auth/o2/token) para a troca. A chamada precisa incluir os parâmetros abaixo:
ParâmetroDescrição
grant_typeO tipo de concessão de acesso solicitada. Deve ser o authorization_code.
codeO authorization code que você recebeu no Passo 4 - Amazon envia a informação de autorização.
redirect_uriO URI de redirecionamento para sua aplicação.
client_idEsse valor faz parte das credenciais de LWA. Obtido no registro da aplicação.
client_secretEsse valor faz parte das credenciais de LWA. Obtido no registro da aplicação.

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=authorization_code&code=SplxlOexamplebYS6WxSbIA&client_id=foodev&client_secret=Y76SDl2F
  1. O servidor de autorização LWA retorna o token de atualização LWA na seguinte resposta em JSON:
HTTP/l.l 200 OK
Content-Type: application/json;
charset UTF-8
Cache - Control: no-store
Pragma: no-cache
{
  "access_token": "Atza|IQEBLjAsAexampleHpi0U-Dme37rR6CuUpSR",
  "token_type": "bearer",
  "expires_in": 3600,
  "refresh_token": "Atzr|IQEBLzAtAhexamplewVz2Nn6f2y-tpJX2DeX"
}
  1. Sua aplicação salva o valor de refresh_token;
  2. O navegador mostra a página que indica os próximos passos para utilizar a sua aplicação.

📘

Nota

O LWA refresh_token é um token de longa duração que pode ser trocado por um novo token de acesso (passo que será executado em seguida). Este token deve ser incluído em todos os requests para a SP-API. Uma vez que o token é recebido, ele é válido por uma (1) hora. Esse token pode ser utilizado para realizar diversas chamadas APIs dentro da SP-API.

Agora a sua aplicação está autorizada a fazer chamadas na SP-API pelo vendedor!

Convertendo o fluxo de autorização teste para produção

  1. Faça a publicação da sua aplicação no Marketplace App Store. Esta ação fará com que sua aplicação mude do status de rascunho para publicado. Para tal, na Central de Desenvolvedores, selecione a opção "Criar oferta" e preencha os formulários.
1980
  1. Atualize o seu fluxo para que não tenha mais o parâmetro "&version=beta" realizado na seção URIs de autorização OAuth.