===== Autenticação =====
Todos os métodos da API necessitam de autenticação. É possível utilizar o usuário e senha de acesso via Web.
**Tipo da autenticação:** Basic Auth
===== Métodos =====
==== Consultar informações de um roteador ====
== Formato da URL ==
/devicelist/update/{MAC do roteador}
== Método HTTP ==
GET
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, retorna as informações do roteador |
| 404 | Roteador não encontrado |
| 500 | Erro interno do servidor |
== Exemplos de Retorno ==
{
"success": false,
"message": "device not found"
}
{
"success": true,
"external_reference": {
"kind": 'CPF',
"data": '123.456.789-00'
},
"apps": [],
_id: '11:11:11:11:11:11',
"model": 'TL-MR3020V1',
"release": '0004-AIX',
"pppoe_user": '',
"pppoe_password": '',
"wifi_ssid": 'TesteSSID',
"wifi_password": 'SenhaWifi',
"wifi_channel": 'auto',
"last_contact": 2018-01-01T03:00:00.000Z,
"do_update": false,
"do_update_parameters": true,
"connection_type": 'dhcp',
"__v": 0,
"ip": '5.5.5.5',
"wan_ip": '10.10.10.10'
}
==== Alterar informações de um roteador ====
== Formato da URL ==
/devicelist/update/{MAC do roteador}
== Método HTTP ==
PUT
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
== Parâmetros do Body ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| pppoe_user | Usuário PPPoE | String | Não |
| pppoe_password | Senha do usuário PPPoE | String | Não |
| wifi_ssid | Identificação do ponto de acesso sem fio do usuário (SSID) | String | Não |
| wifi_password | Senha do ponto de acesso sem fio do usuário | String | Não |
| wifi_channel | Canal do 802.11 | String | Não |
| | | | |
| | | | |
**Observação**: O parâmetro ''wifi_ssid'' possui limitações que dependem do roteador, como por exemplo o uso de espaços. Existem roteadores que não permitem o uso de espaços para o SSID e existem outros, que embora permitam, podem remover os espaços em brancos.
== Exemplo do Body ==
{
"content": {
"pppoe_user": "teste",
"pppoe_password": "teste123",
"wifi_ssid": "FlashMan-AP-Teste",
"wifi_password": "senhateste",
"wifi_channel": "auto"
}
}
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, retorna as informações do roteador alterado |
| 404 | Roteador não encontrado |
| 500 | Erro no servidor, mais informações no body da mensagem de retorno |
== Exemplos de Retorno ==
{
"success": false,
"message": "device not found",
"errors": []
}
{
"success": true,
"external_reference": {
"kind": 'CPF',
"data": '123.456.789-00'
},
"apps": [],
_id: '11:11:11:11:11:11',
"model": 'TL-MR3020V1',
"release": '0004-AIX',
"pppoe_user": '',
"pppoe_password": '',
"wifi_ssid": 'TesteSSID',
"wifi_password": 'SenhaWifi',
"wifi_channel": 'auto',
"last_contact": 2018-01-01T03:00:00.000Z,
"do_update": false,
"do_update_parameters": true,
"__v": 0
}
{
"success": false,
"message": 'Erro validando os campos, ver campo "errors"',
"errors": [
"password": "Este campo deve ter no mínimo 8 caracteres"
]
}
==== Habilitar ou desabilitar atualização de firmware de um roteador ====
== Formato da URL ==
/devicelist/update/{MAC do roteador}/{Release}
== Método HTTP ==
PUT
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
| Release | Identificador de release do firmware. Exemplo: 0001-fab | String | Não |
== Parâmetros do Body ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| do_update | Habilitar ou desabilitar a atualização de firmware | Booleano | Sim |
== Exemplo do Body ==
{
"do_update": true
}
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, alteração feita com sucesso |
| 500 | Erro no servidor, mais informações no body da mensagem de retorno |
== Exemplos de Retorno ==
{
"success": false,
"message": "Erro ao encontrar dispositivo"
}
{
"success": true
}
==== Remover registro de roteador ====
== Formato da URL ==
/devicelist/delete/{MAC do roteador}
== Método HTTP ==
DELETE
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, roteador foi deletado com sucesso |
| 500 | Erro interno do servidor |
== Exemplos de Retorno ==
{
"success": true
}
==== Criar registro de um roteador ====
== Formato da URL ==
/devicelist/create
== Método HTTP ==
PUT
== Parâmetros do Body ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| mac_address | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
| release | Identificador de release do firmware. Exemplo: 0001-fab | String | Não |
| pppoe_user | Usuário PPPoE | String | Não |
| pppoe_password | Senha do usuário PPPoE | String | Não |
| wifi_ssid | Identificação do ponto de acesso sem fio do usuário (SSID) | String | Não |
| wifi_password | Senha do ponto de acesso sem fio do usuário | String | Não |
| wifi_channel | Canal do 802.11 | String | Não |
| | | | |
== Exemplo do Body ==
{
"content": {
"mac_address": "FF:FF:FF:00:00:00",
"release": "0001-fab",
"pppoe_user": "teste",
"pppoe_password": "teste123",
"wifi_ssid": "FlashMan-AP-Teste",
"wifi_password": "senhateste",
"wifi_channel": "auto"
}
}
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, roteador criado com sucesso |
| 500 | Erro no servidor, mais informações no body da mensagem de retorno |
== Exemplos de Retorno ==
{
"success": false,
"message": "Erro no json recebido",
"errors": []
}
{
"success": true,
}
{
"success": false,
"message": 'Erro validando os campos, ver campo "errors"',
"errors": [
"password": "Este campo deve ter no mínimo 8 caracteres"
]
}
==== Enviar comando para um roteador ====
== Formato da URL ==
/devicelist/command/{MAC do roteador}/{Comando}
== Método HTTP ==
PUT
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
| Comando | Tipo de comando a ser desempenhado pelo roteador Flashbox | Veja os comandos suportados logo abaixo | Sim |
^ Comando ^ Descrição ^
| boot | Reiniciar roteador Flashbox |
| rstapp | Apagar senha de login do aplicativo do usuário final |
| rstmqtt | Cuidado! Gera um novo token MQTT. Apenas use esse comando após a remoção do cadastro do roteador no Flashman |
| log | Envia o de log do roteador para o Flashman. Para ver o log, use o comando de visualizar último log |
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, comando executado com sucesso |
| 500 | Erro interno do servidor |
| 404 | Comando ou roteador não encontrado |
== Exemplos de Retorno ==
{
"success": true
}
==== Visualizar último log enviado de um roteador ====
ATENÇÂO! Use esta função após o comando de envio de log.
== Formato da URL ==
/devicelist/lastlog/{MAC do roteador}
== Método HTTP ==
GET
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, comando executado com sucesso |
| 500 | Erro interno do servidor |
| 404 | Roteador não encontrado |
== Exemplos de Retorno ==
{
"success": true,
"message": "Não existe log deste roteador"
}
'Content-Encoding', 'gzip',
'Content-Type', 'text/plain'
==== Visualizar log de boot de um roteador ====
== Formato da URL ==
/devicelist/firstlog/{MAC do roteador}
== Método HTTP ==
GET
== Formato da Requisição ==
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^
| MAC do roteador | Endereço MAC do roteador que encontra-se na etiqueta do equipamento | [A-F]:[A-F]:[A-F]:[A-F]:[A-F]:[A-F] | Sim |
== Retorno da Requisição ==
^ Status Code ^ Descrição ^
| 200 | OK, comando executado com sucesso |
| 500 | Erro interno do servidor |
| 404 | Roteador não encontrado |
== Exemplos de Retorno ==
{
"success": true,
"message": "Não existe log deste roteador"
}
'Content-Encoding', 'gzip',
'Content-Type', 'text/plain'