Pular para o conteúdo principal

Passo 2 - Geração do Token de Acesso

Com o Client ID e o Client Secret em mãos, você poderá solicitar um Token de Acesso que será utilizado para autenticar as chamadas à API. O processo envolve os seguintes passos:

2.1 Realize o consentimento da sua aplicação (sandbox)

Esse passo é necessário apenas para ambientes de Sandbox


Para conceder permissões à sua aplicação em sua loja de testes (sandbox), você tem duas opções:

  1. Utilizar a Interface: Na página Aplicações, clique no botão "sandbox" para iniciar o processo de autorização

  2. Utilizar o Link Direto: Construa o link de autorização no ID Magalu com os seguintes parâmetros, substituindo <CLIENT_ID>, <REDIRECT_URI> e <SCOPES> pelos seus valores:


    https://id.magalu.com/login?client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_URI>&scope=<SCOPES>&response_type=code&choose_tenants=true

Atenção: Ao utilizar o link direto, é crucial garantir que os escopos especificados na URL sejam idênticos aos escopos configurados na sua aplicação, para evitar erros de autorização e potenciais problemas de segurança.

Utilize a tabela para guiar:

Escopo aplicaçãoEscopo URL
ver pedidosaqf:order:create
editar pedidosaqf:order:read
ver cardápioaqf:menu:create
editar cardápioaqf:menu:read
ver lojaaqf:store:create
editar lojaaqf:store:read

Exemplo de uso, caso você tenha criado um aplicativo com os escopos ver loja e editar loja você deve atualizar na url o campo <SCOPES> com : aqf:store:read aqf:store:create separando cada escopo com um espaço.

Então ficaria uma URL dessa forma:

https://id.magalu.com/login?client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_URI>&scope=aqf:store:read aqf:store:create&response_type=code&choose_tenants=true

Faça login ou cadastre-se no ID Magalu para poder prosseguir.

Após feito login, você será redirecionado para a tela de consentimento, onde precisa selecionar quais escopos você pretende utilizar na sua aplicação.

Sugerimos que marque todas as permissões para que no futuro, você não precise re-autenticar todos seus clientes caso venha a utilizar novos recursos no futuro.

2.2 Obtendo seu primeiro ACCESS TOKEN

Após a realização do consentimento, você será redirecionado para a sua URL informada na sua aplicação, com um parametro ?code=<CODE>.

Exemplo, caso minha URL de redirecionamento cadastrada no aplicativo fosse https://developer.aiqfome.com, após a realização do consentimento, eu seria redirecionado para:

https://developer.aiqfome.com?code=<CODE>

Agora, você possui um código, e pode trocar pelo seu primeiro ACCESS TOKEN.

Para obter seu primeiro token siga faça o seguinte, você vai juntar os dados que obteve no passo 1 que são CLIENT_ID, CLIENT_SECRET e o REDIRECT_URI cadastrado na sua aplicação, e vai utilizar o CODE que obteve na etapa anterior.

Agora com isso você pode fazer o seguinte request, para trocar o CODE pelo seu Access Token.

2.3 Trocar CODE pelo Access Token

POST
https://id.magalu.com/oauth/token
curl --request POST \
--url https://id.magalu.com/oauth/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data client_id=<CLIENT_ID> \
--data client_secret=<CLIENT_SECRET> \
--data redirect_uri=<REDIRECT_URI> \
--data code=<CODE> \
--data grant_type=authorization_code

e sua resposta deve ser algo como isso:

{
"access_token": "<ACCESS_TOKEN>",
"token_type": "Bearer",
"expires_in": 7200,
"refresh_token": "<REFRESH_TOKEN>",
"scope": "aqf:menu:create aqf:menu:read aqf:order:create aqf:order:read aqf:store:read aqf:store:create",
"created_at": 123456789
}

Observação importante: Seu CODE só pode ser usado uma única vez e logo após seu uso ele é expirado.


Agora, armazene seu REFRESH_TOKEN de forma segura, pois você precisa realizar a atualização do seu token periodicamente.

Caso seu REFRESH TOKEN venha a expirar, será necessário realizar novamente a etapa de consentimento para obter o CODE e troca-lo por um novo par de ACCESS_TOKEN e REFRESH_TOKEN.

aiqfome

© Copyright 2007-2025 aiqfome LTDA .