Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
api_flashman [21/03/2018 16:53] superuser |
api_flashman [19/04/2023 19:35] superuser |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ===== 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 ===== | ===== Métodos ===== | ||
- | === Consultar informações de um roteador === | + | |
+ | ==== Consultar informações de um roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
<code> | <code> | ||
- | https://flashman.anlix.io/devicelist/update/<MAC DO ROTEADOR> | + | /devicelist/update/{MAC do roteador} |
</code> | </code> | ||
- | === Alterar informações de um roteador === | + | == Método HTTP == |
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "device not found" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "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' | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Alterar informações de um roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/update/{MAC do roteador} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "content": { | ||
+ | "pppoe_user": "teste", | ||
+ | "pppoe_password": "teste123", | ||
+ | "wifi_ssid": "FlashMan-AP-Teste", | ||
+ | "wifi_password": "senhateste", | ||
+ | "wifi_channel": "auto" | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "device not found", | ||
+ | "errors": [] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "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 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": 'Erro validando os campos, ver campo "errors"', | ||
+ | "errors": [ | ||
+ | "password": "Este campo deve ter no mínimo 8 caracteres" | ||
+ | ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Habilitar ou desabilitar atualização de firmware de um roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/update/{MAC do roteador}/{Release} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "do_update": true | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Erro ao encontrar dispositivo" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "success": true | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Remover registro de roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/delete/{MAC do roteador} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | DELETE | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Criar registro de um roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/create | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "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" | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Erro no json recebido", | ||
+ | "errors": [] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": 'Erro validando os campos, ver campo "errors"', | ||
+ | "errors": [ | ||
+ | "password": "Este campo deve ter no mínimo 8 caracteres" | ||
+ | ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Enviar comando para um roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/command/{MAC do roteador}/{Comando} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Visualizar último log enviado de um roteador ==== | ||
+ | |||
+ | ATENÇÂO! Use esta função após o comando de envio de log. | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/lastlog/{MAC do roteador} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Não existe log deste roteador" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | 'Content-Encoding', 'gzip', | ||
+ | 'Content-Type', 'text/plain' | ||
+ | </code> | ||
+ | |||
+ | ==== Visualizar log de boot de um roteador ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /devicelist/firstlog/{MAC do roteador} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == 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 == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Não existe log deste roteador" | ||
+ | } | ||
+ | </code> | ||
<code> | <code> | ||
- | https://flashman.anlix.io/devicelist/update/<MAC DO ROTEADOR> | + | 'Content-Encoding', 'gzip', |
+ | 'Content-Type', 'text/plain' | ||
</code> | </code> |