Introdução ao Push

O Push do servidor funciona da seguinte forma:

O equipamento faz uma requisição HTTP ao servidor para verificar se há algum comando para ser executado. Se receber uma resposta vazia, significa que não há nada para fazer, e depois de um certo período de tempo, o equipamento faz novamente a requisição. Caso contrário, o equipamento executa o comando e faz uma outra requisição enviando o resultado da operação. Essa requisição de resposta recebe uma resposta vazia. Em seguida o equipamento realizará outra requisição de /push, possibilitando a execução de múltiplos comandos em sequência.

Para utilizar o Push é necessário definir alguns parâmetros de configuração descritos em push.

Evento para verificar se há algum push do servidor

O equipamento faz requisições periódicas ao servidor para verificar se há algum push do servidor. O método HTTP usado é o GET e todos os parâmetros são enviados através da query string.

GET /push

Parâmetros

  • deviceId (int 64) : Id do equipamento que está fazendo a request.

Respostas

Mensagem de Retorno

Mensagem de retorno do servidor para o equipamentos após um evento de tentativa de push.

Resultado da análise da tentativa de push.

Campo Tipo Descrição
verb string Especifica o método HTTP (GET ou POST) que será utilizado para executar o comando no equipamento. O valor padrão é POST. (Opcional)
endpoint string Especifica o comando que será executado no equipamento. Consulte as seções de API para obter todos os comandos possíveis.(Opcional)
body string Especifica os parâmetros necessários para a execução do comando no equipamento. Consulte a documentação do comando para obter os parâmetros necessários.(Opcional)
contentType string Especifica o tipo de dados que será enviado no body. O valor padrão é application/json.(Opcional)
queryString string Especifica os query string necessários para executar o comando. (Opcional)

Exemplo da resposta da requisição

{
   verb: "POST",
   endpoint: "load_objects",
   body: { object: "users" },
   contentType: "application/json"
}

Uma resposta vazia significa que não há nenhum push para ser executado.

Evento result

Envia o resultado da execução do push para o servidor. Essa requisição contém o resultado push executado no equipamento. O método HTTP utilizado é o POST.

POST /result

Parâmetros

  • deviceId (int) : Id do equipamento que está fazendo a request. (Este parâmetro é enviado na query string)
  • response (string) : Contém a resposta dada pela API com a execução do push. Consulte a documentação do comando para informações do formato da resposta. Note que este parâmetro estará presente somente se não ocorrer erro durante a operação
  • error (string) : Especifica o erro que ocorreu durante a execução do push. Note que este parâmetro estará presente somente se ocorrer algum erro.

Exemplo de requisição

Requisição com o resultado de listar usuários.

response: {
    "users":
    [{
        "id":1,
        "registration": "Teste",
        "name": "Walter White",
        "password": "Heisenberg",
        "salt": "",
        "expires": 0,
        "user_type_id": 0,
        "begin_time": 0,
        "end_time": 0
    }]
}

Exemplo de resposta:

A resposta para essa requisição é vazia.