Ativação

Ativação

É necessário inicializar o SDK sem passar as credenciais, a fim de realizar a requisição para recuperar as credenciais.

Zoop.initialize(context)

Neste momento, é necessário injetar o plugin do SmartPOS, conforme abaixo:

val smartPOSPlugin = SmartPOSPlugin(Zoop.constructorParameters())

Zoop.plug(smartPOSPlugin)

Com o SDK inicializado, é necessário fazer uma ativação pelo seu dashboard para recuperar as credenciais*, utilizando um token gerado com a requisição de ativação, conforme exemplo a seguir.

Ativação pelo dashboard

Dica

Cada dispositivo só precisa fazer essa ativação uma única vez para que seja registrado na nossa base de dados, associando-o ao estabelecimento. Depois disso, é possível inicializar o plugin diretamente com as credenciais recebidas.

Exemplo
val activationRequestBuilder = ZoopFoundationPlugin.createDashboardActivationRequestBuilder()
    .tokenCallback(object: Callback<DashboardTokenResponse>() {
        override fun onSuccess(response: DashboardTokenResponse) {
            // "Apresentar 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, é necessário guardar as credenciais localmente em um banco de dados/shared preferences,
             * para usar na próxima inicialização, passando como parâmetro na ativação
             */
            saveCredentials(response)
            displayTokenActiveMessage()
        }

        override fun onFail(error: Throwable) {
            /**
             * Caso o login seja cancelado, receberá a resposta aqui, com mensagem "request canceled"
             * loginRequest.cancel()
             */
            // "Apresentar erro na confirmação do token: ${error.message}"
            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 do terminal.
             */
            applyBackgroundTheme(response)
        }

        override fun onFail(error: Throwable) {
            warnDownloadBackgroundThemeError()
        }
    })
    .build()

Zoop.post(activationRequestBuilder)

Credenciais

Você pode armazenar as credenciais localmente com a resposta do confirmCallback(). Assim, é possível informá-las na próxima inicialização sem precisar passar pela ativação via dashboard.

Outras Formas de Ativação

Ativação via aplicativo de exemplo

Instale o app disponível aqui.

Ativação via aplicativo de exemplo

  1. Clique no botão “Iniciar ativação”;
  2. Pareie o token disponível no dashboard;
  3. Ao fim da ativação, o app exibirá as credenciais.