Atualizar carga de tabelas

Forçar carga de tabelas

  • Requisição enviada para forçar uma carga de tabelas para o PIN Pad.

Observações

  • Esta funcionalidade não é mandatória, visto que, caso seja necessário, o dispositivo realizará a carga de tabelas durante a transação. Esta funcionalidade apenas força uma carga, sem prosseguir com o fluxo de venda.

Exemplo de carga de tabelas

Requisitando ao servidor:
  • Inicie uma carga de tabelas enviando uma requisição em JSON com os seguintes campos:
{
  "type": "tableLoad"
}
  • Isso deve ser feito por meio de WebSocket, como no exemplo abaixo, em JavaScript.
let tablesRequest = {
  type: "tableLoad"
}

// Onde `socket` é um objeto de `WebSocket`.
socket.send(JSON.stringify(tablesRequest))
socket.onmessage = (event) => {
  let response = JSON.parse(event.data)

  if (response == null) {
    return
  }

  if (response.type == "tableLoad") {
    if (response.status == "started") {
      // O processo de carga de tabelas foi iniciado.
      // ...

      return
    }

    if (response.status == "message") {
      /* Uma mensagem foi recebida no campo `message`, e deverá ser apresentada
         ao operador/cliente. */
      // ...

      return
    }

    if (response.status == "success") {
      // A carga de tabelas foi bem-sucedida.
      // ...

      return
    }

    if (response.status == "failed") {
      // Falha na carga de tabelas.
      // ...

      return
    }

    if (response.status == "finished") {
      // O processo de carga de tabelas terminou.
      // ...

      return
    }
  }

  // ...
}

Um exemplo mais completo pode ser encontrado no aplicativo de exemplo, na função eventUpdateTables do arquivo updateTables.js.

Respostas:
  • O Zoop Desktop Server responderá em JSON, indicando em status:
    • started: o início da carga de tabelas;
    • message: o recebimento de uma mensagem;
    • success: o sucesso da carga de tabelas;
    • failed: a falha da carga de tabelas e a causa;
    • finished: ou o término da carga de tabelas.
Início da carga de tabelas:
  • Esta resposta sinaliza o início do processo de carga de tabelas. Ela será sucedida por outras respostas informando o andamento do processo.
{
  "type": "tableLoad",
  "status": "started",
  "message": "Processando carga de tabelas"
}
Mensagem:
  • Esta resposta sinaliza o recebimento de uma mensagem que deverá ser apresentada de alguma forma ao operador/cliente.
{
  "type": "tableLoad",
  "status": "message",
  "message": "Atualizando tabelas"
}
Sucesso na carga de tabelas:
  • Esta resposta sinaliza o sucesso da carga de tabelas.
{
  "type": "tableLoad",
  "status": "success",
  "message": "Tabelas carregadas"
}
Falha durante a carga de tabelas:
  • Caso ocorra alguma falha durante o processo, a resposta será similar a esta:
{
  "type": "tableLoad",
  "status": "failed",
  "message": "OPERACAO CANCELADA",
  "statusCode": -1,
}
  • O valor de statusCode será o código do erro que ocasionou a falha, sendo -1 caso não haja um código para a causa.
Término da carga de tabelas:
  • Esta resposta sinaliza o término do processo de carga de tabelas, independente de sucesso ou falha.
{
  "type": "tableLoad",
  "status": "finished",
  "message": "Carga de tabela finalizada"
}