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, use Zoop.enqueue().


Callbacks da ativação

tokenCallback

Use tokenCallback para receber o token que deve ser exibido ao usuário e pareado no dashboard.

MétodoQuando ocorreAção recomendada
onSuccessO token foi gerado.Exiba response.token no app.
onFailO token não foi gerado.Mostre uma mensagem de erro e permita tentar novamente.

confirmCallback

Use confirmCallback para receber a confirmação da ativação e as credenciais do terminal.

MétodoQuando ocorreAção recomendada
onSuccessO token foi confirmado no dashboard.Salve as credenciais localmente.
onFailA 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

Use themeCallback para receber o esquema de cores configurado para o seller no dashboard.

MétodoQuando ocorreAção recomendada
onSuccessO tema foi recuperado.Aplique o tema visual no app, se necessário.
onFailO 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 SmartPOSPlugin foi 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.


Did this page help you?