Atualizar Carga de Tabelas
Funcionalidade de atualização de carga de tabelas do Zoop Desktop Server.
Envie uma requisição para forçar uma carga de tabelas para o PIN Pad.
Esta funcionalidade não é mandatória. Quando necessário, o dispositivo realiza a carga de tabelas durante a transação. Use esta funcionalidade apenas para forçar 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"
}Envie a requisição 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 está disponível no aplicativo de exemplo, na função
eventUpdateTablesdo arquivoupdateTables.js.
Respostas
O Desktop Server responderá em JSON, indicando em status:
started: início da carga de tabelas;message: recebimento de uma mensagem;success: sucesso da carga de tabelas;failed: falha da carga de tabelas e a causa;finished: 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, independentemente de sucesso ou falha.
{
"type": "tableLoad",
"status": "finished",
"message": "Carga de tabela finalizada"
}