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 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.2 Trocar CODE pelo Access Token
https://id.magalu.com/oauth/tokencurl --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
}
- Expiração do CODE: O seu
CODEsó pode ser usado uma única vez e expira imediatamente após o uso. - Autorização por Loja: Na API V2, a autorização é individual. O seller deve autorizar sua aplicação para cada loja que você desejar acessar.
- Token Exclusivo: Como resultado, cada loja terá seu próprio
Access Tokenexclusivo. Certifique-se de que seu sistema gerencie e utilize o token correspondente à loja específica que está sendo operada no momento.
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.