2 - Ativação
Ative o terminal SmartPOS, gere o token de pareamento, confirme no dashboard e salve as credenciais para inicializar o SDK.
Ative o terminal SmartPOS para associar o dispositivo ao estabelecimento e recuperar as credenciais usadas na inicialização do SDK.
Cada dispositivo precisa passar pela ativação uma única vez. Depois disso, salve as credenciais retornadas e use-as nas próximas inicializações do SDK.
Pré-requisitos
Antes de iniciar a ativação:
1. Configure o projeto Android em Configuração do projeto.
2. Instale o app no terminal conforme Deploy SmartPOS.
3. Solicite as permissões Android necessárias em tempo de execução.
4. Tenha acesso ao dashboard usado para parear o token de ativação.
Fluxo de ativação
O fluxo de ativação recupera as credenciais do dispositivo por meio de um token exibido no app e pareado no dashboard.
1. Inicialize o SDK sem credenciais.
2. Crie e plugue o SmartPOSPlugin.
3. Gere o token de ativação.
4. Exiba o token para o usuário.
5. Pareie o token no dashboard.
6. Receba a confirmação da ativação.
7. Salve as credenciais localmente.
8. Use as credenciais nas próximas inicializações.
1. Inicialize o SDK sem credenciais
Para solicitar a ativação, inicialize o SDK sem informar credenciais.
Zoop.initialize(context)2. Plugue o SmartPOSPlugin
Depois de inicializar o SDK, crie a instância do plugin e conecte-a ao SDK.
val smartPOSPlugin = SmartPOSPlugin(Zoop.constructorParameters())
Zoop.plug(smartPOSPlugin)3. Crie a requisição de ativação
Com o SDK inicializado e o plugin conectado, crie a requisição de ativação pelo dashboard.
val activationRequestBuilder = ZoopFoundationPlugin.createDashboardActivationRequestBuilder()
.tokenCallback(object: Callback<DashboardTokenResponse>() \{
override fun onSuccess(response: DashboardTokenResponse) {
// Apresente o token ao usuário: response.token
displayActivationToken(response.token)
}
override fun onFail(error: Throwable) {
// Falha ao requisitar token
displayTokenGenerationError()
}
\})
.confirmCallback(object: Callback<DashboardConfirmationResponse>() \{
override fun onSuccess(response: DashboardConfirmationResponse) {
/**
* Nesse ponto, salve as credenciais localmente em um banco de dados
* ou shared preferences para usar na próxima inicialização.
*/
saveCredentials(response)
displayTokenActiveMessage()
}
override fun onFail(error: Throwable) {
/**
* Caso o login seja cancelado, esta callback recebe a resposta
* com a mensagem "request canceled".
*/
when (error) {
is ZoopTimeoutException -> displayTokenExpiredMessage()
else -> displayGenericTokenActivationMessageError()
}
}
\})
.themeCallback(object: Callback<DashboardThemeResponse>() \{
override fun onSuccess(response: DashboardThemeResponse) {
/**
* Aqui você recebe o esquema de cores configurado para o seller
* no dashboard e também sinaliza o sucesso no fluxo de ativação.
*/
applyBackgroundTheme(response)
}
override fun onFail(error: Throwable) {
warnDownloadBackgroundThemeError()
}
\})
.build()
Zoop.post(activationRequestBuilder)O método
Zoop.post()processa uma requisição ao SDK de forma assíncrona. Se precisar processar a requisição de forma síncrona, useZoop.enqueue().
Callbacks da ativação
tokenCallback
tokenCallbackUse tokenCallback para receber o token que deve ser exibido ao usuário e pareado no dashboard.
| Método | Quando ocorre | Ação recomendada |
|---|---|---|
onSuccess | O token foi gerado. | Exiba response.token no app. |
onFail | O token não foi gerado. | Mostre uma mensagem de erro e permita tentar novamente. |
confirmCallback
confirmCallbackUse confirmCallback para receber a confirmação da ativação e as credenciais do terminal.
| Método | Quando ocorre | Ação recomendada |
|---|---|---|
onSuccess | O token foi confirmado no dashboard. | Salve as credenciais localmente. |
onFail | A confirmação falhou, expirou ou foi cancelada. | Trate ZoopTimeoutException e demais erros. |
Salve as credenciais retornadas em
confirmCallback.onSuccess(). Elas serão usadas para inicializar o SDK nas próximas execuções, sem repetir a ativação.
themeCallback
themeCallbackUse themeCallback para receber o esquema de cores configurado para o seller no dashboard.
| Método | Quando ocorre | Ação recomendada |
|---|---|---|
onSuccess | O tema foi recuperado. | Aplique o tema visual no app, se necessário. |
onFail | O tema não foi recuperado. | Avise o usuário ou siga com tema padrão. |
Credenciais retornadas
Depois da confirmação, armazene as credenciais localmente para inicializar o SDK nas próximas execuções.
Essas credenciais são usadas na página Inicialização SmartPOS:
Zoop.initialize(context) {
credentials {
marketplace = "{marketplace ID}"
seller = "{seller ID}"
accessKey = "{chave de acesso}"
}
}Ativação via aplicativo de exemplo
Você também pode ativar usando o aplicativo de exemplo disponível em Downloads SmartPOS.
1. Instale o app de exemplo no terminal.
2. Toque em Iniciar ativação.
3. Pareie o token exibido no app com o dashboard.
4. Aguarde o fim da ativação.
5. Copie as credenciais exibidas pelo app.
Checklist de ativação
Antes de seguir para inicialização com credenciais, confirme:
- O SDK foi inicializado sem credenciais para iniciar a ativação.
- O
SmartPOSPluginfoi plugado antes da requisição. - O token foi exibido ao usuário.
- O token foi pareado no dashboard.
- A confirmação retornou sucesso.
- As credenciais foram salvas localmente.
- O app trata token expirado, falha de confirmação e cancelamento.
Próximo passo
Depois de ativar o terminal, inicialize o SDK com as credenciais salvas em Inicialização SmartPOS.
Updated 9 days ago
