Atualizar carga de tabelas

Force a atualização da carga de tabelas no Plugin SmartPOS sem iniciar venda, com callbacks, mensagens e tratamento de erros.

Force a atualização da carga de tabelas no terminal SmartPOS sem iniciar um fluxo de venda.

Esta funcionalidade não é mandatória. Durante uma transação, o dispositivo realiza a carga de tabelas automaticamente quando necessário.

Quando usar

Use a atualização de carga de tabelas quando quiser preparar o terminal antes de uma operação transacional ou executar uma atualização manual sem iniciar uma venda.

Esse fluxo pode ser útil para:

  • validar se o terminal está pronto antes do atendimento;
  • reduzir esperas durante a primeira venda;
  • executar uma atualização operacional sob demanda;
  • exibir mensagens de progresso ao operador.

Pré-requisitos

Antes de atualizar a carga de tabelas:

    1. Ative o terminal em Ativação SmartPOS.

    2. Inicialize o SDK e plugue o SmartPOSPlugin em Inicialização SmartPOS.

    3. Solicite as permissões Android necessárias em tempo de execução.

    4. Prepare a interface para exibir mensagens recebidas pelo messageCallback.


Classe utilizada

Para atualizar a carga de tabelas, use a classe SmartPOSTableLoadRequestBuilder.

A requisição é criada por:

SmartPOSPlugin.createTableLoadRequestBuilder()

Exemplo

val tableLoadRequest = SmartPOSPlugin.createTableLoadRequestBuilder()
    .callback(object: Callback<SmartPOSTableLoadResponse>() \{
        override fun onFail(error: Throwable) {
            handleFailTableLoad(error)
        }

        override fun onSuccess(response: SmartPOSTableLoadResponse) {
            handleSuccessTableLoad(response)
        }
    \})
    .messageCallback(object: Callback<MessageCallbackRequestField.MessageData>() \{
        override fun onFail(error: Throwable) {
        }

        override fun onSuccess(response: MessageCallbackRequestField.MessageData) {
            displayUserMessage(response.message)
        }
    \})
    .build()

Zoop.post(tableLoadRequest)

Retorno

Quando a carga é concluída com sucesso, o callback principal recebe um objeto SmartPOSTableLoadResponse.

data class SmartPOSTableLoadResponse(
    val message: String
)
CampoTipoDescrição
messageStringMensagem retornada ao final do fluxo de carga.

Callbacks

.callback

Controla o fluxo principal da carga: início, sucesso, falha e conclusão.

MétodoQuando ocorreAção recomendada
onStartA carga foi iniciada.Exiba um estado de carregamento, se necessário.
onSuccessA carga foi concluída com sucesso.Informe o sucesso ao operador e siga com o fluxo do app.
onFailA carga falhou.Trate a exceção e exiba uma mensagem de erro.
onCompleteO fluxo terminou, com sucesso ou falha.Remova estados de carregamento.

Exceções de falha

Em onFail, você pode receber uma destas exceções:

ExceçãoQuando ocorre
ZoopPaymentExceptionFalha no fluxo da carga. A mensagem pode ser acessada em exception.message.
ZoopTimeoutExceptionTempo excedido na operação.
ZoopClosedConnectionExceptionConexão interrompida.
ZoopNetworkExceptionFalha de conexão.

.messageCallback

Recebe mensagens do fluxo da carga de tabelas.

MétodoQuando ocorreAção recomendada
onSuccessUma mensagem foi enviada pelo fluxo.Exiba response.message para o usuário.
onFailNão recebe dados.Nenhuma ação necessária.

Tratamento recomendado

Trate todos os estados da carga para manter o operador informado:

    1. Em onStart, indique que a atualização começou.

    2. Em messageCallback.onSuccess, exiba as mensagens recebidas do terminal.

    3. Em callback.onSuccess, informe que a atualização foi concluída.

    4. Em callback.onFail, exiba erro e permita nova tentativa.

    5. Em onComplete, libere a interface.


Checklist da carga de tabelas

Antes de enviar a requisição com Zoop.post(tableLoadRequest), confirme:

  • O SDK foi inicializado com credenciais.
  • O SmartPOSPlugin foi plugado.
  • As permissões necessárias foram concedidas.
  • A interface exibe mensagens do messageCallback.
  • O app trata sucesso, falha e conclusão no callback principal.
  • O operador entende que este fluxo não inicia uma venda.

Próximo passo

Depois de implementar a atualização de carga de tabelas, consulte Pagamento via cartão ou Pagamento via Pix para iniciar fluxos transacionais.


Did this page help you?