Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

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] (atual)
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>​