No passo anterior, você criou o aplicativo na App Store e obteve as credenciais. Neste passo, vamos utilizar as credenciais client_id e redirect_uri para obter o code.
O objetivo dessa etapa é autorizar o aplicativo (criado no passo 1) a se conectar com a conta desejada do RD Station Marketing.
| Campo | Valor | Descrição |
|---|---|---|
| Client Id: | client_id do aplicativo | |
| Redirect Uri: | redirect_uri do aplicativo (callback) | |
| State: | (Opcional) Param extra para a URL de callback |
https://api.rd.services/auth/dialog?client_id=&redirect_uri=&state=
1. Compondo a URL de autorização
Você deve substituir os parâmetros client_id e redirect_uri da URL de autorização indicada abaixo, pelas credenciais obtidas no passo anterior:
https://api.rd.services/auth/dialog?client_id=client_id&redirect_uri=redirect_uri&state=state
O parâmetroredirect_urideve ser substituído pela obteve as credenciais. Neste passo, vamos utilizar as crede cadastrada no aplicativo criado no passo 1.
Se você estiver realizando esse passo manualmente, você pode substituir os parâmetros utilizando o Gerador de URL de autorização abaixo para criar sua URL:
Gerador de URL de autorização
| Campo | Valor | Descrição |
|---|---|---|
| Client Id: | client_id do aplicativo | |
| Redirect Uri: | redirect_uri do aplicativo (callback) | |
| State: | (Opcional) Param extra para a URL de callback |
https://api.rd.services/auth/dialog?client_id=&redirect_uri=&state=
Atenção: Certifique-se de que a sua url de callback foi inserida por completo (exatamente como foi cadastrada no aplicativo), pois aqui é feita uma comparação de strings entre a url de callback inserida na sua app e a redirect uri.
O parâmetro "state" é usado como um mecanismo de segurança para garantir a integridade da resposta de autenticação ao usar o OAuth e prevenir ataques CSRF.Ele é determinado ao configurar a URL de autorização e, ao gerar o code, o servidor retorna esse parâmetro na resposta, permitindo comparar esse valor recebido com o valor originalmente gerado.
Exemplo de URL de autorização
Veja um exemplo de como ficaria a URL de autorização após substituir o client_id e redirect_uri pelas credenciais geradas por um aplicativo.
Credenciais de exemplo:
Campo | Valor |
|---|---|
| client_id | 68956445-3421-4a0f-a0dd-3142a97621f4 |
| client_secret | 81f840006c994d71a87d0b4fa6e2f0a2 |
| url_callback | https://www.rdstation.com/contato |
URL de autorização atualizada com as credenciais:
https://api.rd.services/auth/dialog?client_id=68956445-3421-4a0f-a0dd-3142a97621f4&redirect_uri=https://www.rdstation.com/contato2. Autorizando o aplicativo
Após gerar a URL de autorização, é necessário acessá-la para obter o code.
Ao acessar/ser redirecionado para a URL de autorização, o usuário poderá selecionar qual conta do RD Station Marketing deseja integrar e será exibida a caixa de permissões para confirmar a autorização, conforme mostrado a imagem abaixo:
Se o redirecionamento for feito corretamente, o code será retornado em uma URL com a estrutura similar:
https://yourapp.org/auth/callback?code={code}
As atualizações no Aplicativo levam até 1 hora para serem refletidas.Se a URL de Callback for atualizada e estiver ocorrendo um erro ao tentar gerar o code, é necessário aguardar esse tempo para utilizá-la.
Se você estiver criando um aplicativo privado (para uso interno):
Pode realizar essa etapa acessando a URL de autorização pela barra de endereço do seu navegador para ser redirecionado para a sua conta do RD Station Marketing, autorizar a conexão e obter o code.
Se você estiver criando um aplicativo público (para os seus clientes):
Sua aplicação precisa redirecionar o navegador do usuário para a URL de autorização que você construiu. Para isso, pode exibir um botão que diz: "Conectar Nome do app" com a URL de autorização para que o usuário seja ser redirecionado para a conta do RD Station Marketing e obtenha o code.
Esse processo só precisa ser feito uma vezO code expira em seu primeiro uso ou após 60 minutos, pois a sua única função no processo de Autenticação é solicitar o access_token e refresh_token.
Após utilizá-lo para gerar os tokens ele não será mais necessário para a utilização da API.
Ainda ficou com dúvida? Leia a nossa receita (: