Essa é uma revisão anterior do documento!


Versão da API: 2.0

Documentação da versão anterior: Acessar

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

Filtrar/buscar roteadores

Formato da URL
/api/v2/device/search{?page=1}
Método HTTP
PUT
Formato da Requisição
Parâmetro Descrição Formato Obrigatório
Page Número da paǵina da busca. Observe o retorno da busca para o número total de páginas. Inteiro Não
Parâmetros do Body
Parâmetro Descrição Formato Obrigatório
filter_list Lista com todos os filtros desejados Array com Strings Sim
Exemplo do Body
{
  "filter_list": ["online", "/ou", "offline"]
}
Retorno da Requisição
Status Code Descrição
200 OK. Observar variável “success” no body da mensagem para status de sucesso da busca
Exemplos de Retorno
{
  "success": false,
  "message": "Erro ao acessar base de dados",
  "type": "danger"
}
{
    "type": "success",
    "limit": 10,
    "page": 1,
    "pages": 2,
    "min_length_pass_pppoe": 7,
    "status": {
        "onlinenum": 12,
        "recoverynum": 0,
        "offlinenum": 0,
        "totalnum": 12
    },
    "single_releases": [
        {
            "id": "0042-aix",
            "model": [
                "DWR-116A3",
                "NCLOUDV1",
                "ARCHERC20V4",
                "ARCHERC5V4",
                "TL-WDR3500V1",
                "TL-WDR3600V1",
                "TL-WDR4300V1",
                "TL-WR741NDV4",
                "TL-WR840NV4",
                "TL-WR840NV5",
                "TL-WR841NDV7",
                "TL-WR841NDV8"
            ]
        },
        {
            "id": "0000-dos",
            "model": [
                "ARCHERC20V4"
            ]
        }
    ],
    "filter_list": "online",
    "devices": [
        {
            "_id": "0C:80:63:FF:FF:FF",
            "version": "0.16.0",
            "wifi_is_5ghz_capable": true,
            "do_update_status": 1,
            "mqtt_secret_bypass": false,
            "ping_hosts": [
                "www.google.com",
                "www.youtube.com",
                "www.facebook.com",
                "www.instagram.com",
                "www.apple.com"
            ],
            "model": "ARCHERC5V4",
            "installed_release": "0052-aix",
            "release": "0052-aix",
            "pppoe_user": "teste@teste",
            "pppoe_password": "teste",
            "lan_subnet": "192.168.42.0",
            "lan_netmask": 24,
            "wifi_ssid": "Ap-24ghz",
            "wifi_password": "teste1234",
            "wifi_channel": "auto",
            "wifi_band": "HT20",
            "wifi_mode": "11n",
            "wifi_ssid_5ghz": "Ap-5ghz",
            "wifi_password_5ghz": "teste1234",
            "wifi_channel_5ghz": "149",
            "wifi_band_5ghz": "VHT80",
            "wifi_mode_5ghz": "11ac",
            "wan_ip": "177.158.199.199",
            "wan_negociated_speed": "100",
            "wan_negociated_duplex": "full",
            "ip": "177.158.199.199",
            "last_contact": "2019-06-25T20:10:19.405Z",
            "do_update": false,
            "do_update_parameters": false,
            "lan_devices": [
                {
                    "is_blocked": false,
                    "port": [],
                    "router_port": [],
                    "dmz": false,
                    "ipv6": [],
                    "dhcpv6": [],
                    "last_seen": "2019-06-25T19:07:10.917Z",
                    "first_seen": "2019-04-16T01:58:18.074Z",
                    "_id": "88888888888888888888",
                    "mac": "aa:aa:aa:aa:aa:aa",
                    "dhcp_name": "Impressora",
                    "conn_type": 1,
                    "ip": "192.168.42.244",
                    "wifi_mode": "N",
                    "conn_speed": 65,
                    "wifi_signal": -42,
                    "wifi_snr": 50,
                    "wifi_freq": 2.4
                },
                {
                    "is_blocked": false,
                    "port": [],
                    "router_port": [],
                    "dmz": false,
                    "ipv6": [
                        "2804:7f1:c080:45e:aaaa:1b5f:1579:aaaa",
                        "fe80::aaaa:f038:d62d:aaaa"
                    ],
                    "dhcpv6": [],
                    "last_seen": "2019-06-25T04:08:05.672Z",
                    "first_seen": "2019-04-16T01:58:18.074Z",
                    "_id": "99999999999999999999999",
                    "mac": "ff:ff:ff:ff:ff:ff",
                    "dhcp_name": "Galaxy AA",
                    "conn_speed": 6,
                    "conn_type": 1,
                    "ip": "192.168.42.254",
                    "wifi_freq": 2.4,
                    "wifi_mode": "N",
                    "wifi_signal": -92,
                    "wifi_snr": 0
                }
            ],
            "apps": [
                {
                    "_id": "zzzzzzzzzzzz",
                    "id": "aaaaaaaaaaaaaa",
                    "secret": "aaaaaaaaaaaaaaa"
                },
                {
                    "_id": "yyyyyyyyyyyyyyyyy",
                    "id": "bbbbbbbbbbbbbbb",
                    "secret": "bbbbbbbbbbbbbbb"
                }
            ],
            "connection_type": "pppoe",
            "__v": 47,
            "mqtt_secret": "jsadshdajnsudshasjasawqqwass",
            "lastboot_date": "2019-06-23T17:00:33.768Z",
            "lastboot_log": "",
            "ntp_status": "0.000164",
            "firstboot_date": "2019-06-18T04:38:28.537Z",
            "firstboot_log": "",
            "external_reference": {
                "kind": "Outro",
                "data": "Usuário de Teste"
            },
            "app_password": "teste",
            "forward_index": "1561489581029",
            "last_devices_refresh": "2019-06-25T19:07:10.921Z",
            "id": "FF:FF:FF:B9:64:43",
            "releases": [
                {
                    "id": "0042-aix",
                    "model": "ARCHERC5V4"
                },
                {
                    "id": "0047-aix",
                    "model": "ARCHERC5V4"
                }
            ],
            "status_color": "green-text",
            "permissions": {
                "grantViewLogs": true,
                "grantResetDevices": true,
                "grantPortForward": true,
                "grantPortForwardAsym": true,
                "grantPortOpenIpv6": true,
                "grantWifi5ghz": true,
                "grantWifiBand": true,
                "grantPingTest": true,
                "grantLanEdit": true,
                "grantLanDevices": true
            }
        }
    ]
}

Consultar informações de um roteador

Formato da URL
/api/v2/device/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
/api/v2/device/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
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
/api/v2/device/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 Sim
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
/api/v2/device/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
/api/v2/device/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
/api/v2/device/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
ping Inicia execução de teste ping para lista de endereços previamente configurados
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
/api/v2/device/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
/api/v2/device/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'

Consultar abertura de portas de um roteador

Formato da URL
/api/v2/device/portforward/{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
Exemplos de Retorno
{
    "success": false,
    "message": "Roteador não encontrado"
}
{
    "success": true,
    "landevices": [
        {
            "mac": "f8:77:b8:ff:ff:ff",
            "port": [
                555
            ],
            "dmz": true,
            "router_port": [
                444
            ],
            "name": "",
            "has_dhcpv6": false
        },
        {
            "mac": "30:fd:38:ff:ff:ff",
            "port": [
                777
            ],
            "dmz": false,
            "router_port": [
                777
            ],
            "name": "Chromecast",
            "has_dhcpv6": false
        }
    ]
}

Configurar abertura de portas de um roteador

Formato da URL
/api/v2/device/portforward/{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
Exemplo do Body
{
	"content":"[{
		\"mac\":\"30:fd:38:ff:ff:ff\",
		\"port\":[777],
		\"dmz\":false,
		\"router_port\":[777]
		
	}]"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "message": "Error ao realizar parser do JSON"
}
{
    "success": true,
    "message": ""
}

Consultar lista de endereços para teste de ping

Formato da URL
/api/v2/device/pinghostslist/{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
Exemplos de Retorno
{
    "success": false,
    "message": "Roteador não encontrado"
}
{
    "success": true,
    "ping_hosts_list": [
        "www.google.com",
        "www.facebook.com",
        "www.instagram.com",
        "www.youtube.com",
        "www.terra.com.br"
    ]
}

Configurar lista de endereços para teste de ping

Formato da URL
/api/v2/device/pinghostslist/{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
Exemplo do Body
{
	"content":"{
		\"hosts\":[\"www.google.com\",
		           \"www.facebook.com\",
		           \"www.instagram.com\",
		           \"www.youtube.com\",
		           \"www.terra.com.br\",
		           \"www.g1.com\"
	]}"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "message": "Error ao realizar parser do JSON"
}
{
    "success": true,
    "hosts": [
        "www.google.com",
        "www.facebook.com",
        "www.instagram.com",
        "www.youtube.com",
        "www.terra.com.br",
        "www.g1.com"
    ]
}

Configurar callback para notificações de alteração de roteadores

Formato da URL
/api/v2/device/traps/callback
Método HTTP
PUT
Exemplo do Body
{
	"url": "http://localhost:5555",
	"user": "admin",
	"secret": "1234"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "message": "Endereço salvo com sucesso",
}

Obter todos os usuários

Formato da URL
/api/v2/user/get/all
Método HTTP
GET
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": true,
    "type": "success",
    "users": [
        {
            "createdAt": "2018-06-29T22:07:00.644Z",
            "autoUpdate": true,
            "maxElementsPerPage": 10,
            "is_superuser": true,
            "_id": "5b36ad85f60f0d001c432344",
            "name": "admin",
            "password": "$34fdasxjasjh89a8s98",
            "__v": 0,
            "lastLogin": "2019-06-25T18:40:57.264Z"
        },
        {
            "createdAt": "2019-05-06T14:59:07.881Z",
            "autoUpdate": true,
            "maxElementsPerPage": 10,
            "is_superuser": false,
            "_id": "5cd0520736e947001603dscc",
            "name": "teste",
            "password": "$2a$08ysbsisj88snakklsns",
            "role": "Gerente",
            "__v": 0,
            "lastLogin": "2019-05-16T02:21:25.930Z"
        }
    ]
}

Editar usuário

Formato da URL
/api/v2/user/edit/{Id do usuário}
Método HTTP
PUT
Formato da Requisição
Parâmetro Descrição Formato Obrigatório
Id do usuário String com chave identificadora de usuário (_id) String Sim
Exemplo do Body
{
	"name": "teste",
	"password": "teste1234",
	"passwordack": "teste1234",
	"role": "Gerente"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "type": "danger",
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "type": "success",
    "message": "Editado com sucesso!"
}

Criar usuário

Formato da URL
/api/v2/user/new
Método HTTP
PUT
Exemplo do Body
{
	"name": "joao",
	"password": "teste1234",
	"role": "Gerente"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "type": "danger",
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "type": "success",
    "message": "Usuário criado com sucesso!"
}

Remover usuário

Formato da URL
/api/v2/user/del
Método HTTP
DELETE
Exemplo do Body
{
	"ids": ["8sdu8sdhusdnc8sdc", "jsud8989a8s98asxnuas"],
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "type": "danger",
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "type": "success",
    "message": "Usuário(s) deletado(s) com sucesso!"
}

Configurar callback para notificações de alteração de usuários

Formato da URL
/api/v2/user/traps/callback
Método HTTP
PUT
Exemplo do Body
{
	"url": "http://localhost:5555",
	"user": "admin",
	"secret": "1234"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "message": "Endereço salvo com sucesso",
}

Obter todos as classes de permissões

Formato da URL
/api/v2/role/get/all
Método HTTP
GET
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": true,
    "type": "success",
    "roles": [
        {
            "grantWifiInfo": 0,
            "grantPPPoEInfo": 0,
            "grantPassShow": false,
            "grantFirmwareUpgrade": false,
            "grantWanType": false,
            "grantDeviceId": false,
            "grantDeviceActions": false,
            "grantDeviceRemoval": false,
            "grantDeviceAdd": false,
            "grantMonitorManage": false,
            "grantFirmwareManage": false,
            "grantAPIAccess": false,
            "grantLOGAccess": false,
            "grantNotificationPopups": false,
            "grantLanEdit": true,
            "grantLanDevices": 2,
            "_id": "5b90a64a82e383001cff8sda3222336",
            "name": "Gerente",
            "__v": 0
        }
    ]
}

Editar classe de permissão

Formato da URL
/api/v2/role/edit/{Id da classe de permissão}
Método HTTP
PUT
Formato da Requisição
Parâmetro Descrição Formato Obrigatório
Id da classe de permissão String com chave identificadora da classe de permissão (_id) String Sim
Exemplo do Body
{
    "grant-wifi-info": 0,
    "grant-pppoe-info": 0,
    "grant-pass-show": false,
    "grant-firmware-upgrade": false,
    "grant-wan-type": false,
    "grant-device-id": false,
    "grant-device-actions": false,
    "grant-device-removal": false,
    "grant-device-add": false,
    "grant-monitor-manage": false,
    "grant-firmware-manage": false,
    "grant-api-access": false,
    "grant-log-access": false,
    "grant-notification-popups": false,
    "grant-lan-edit": true,
    "grant-lan-devices": 2
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "type": "danger",
    "message": "Erro ao editar classe."
}
{
    "success": true,
    "type": "success",
    "message": "Classe de permissões editada com sucesso!"
}

Criar classe de permissão

Formato da URL
/api/v2/role/new
Método HTTP
PUT
Exemplo do Body
{
    "name": "Teste",
    "grant-wifi-info": 0,
    "grant-pppoe-info": 0,
    "grant-pass-show": false,
    "grant-firmware-upgrade": false,
    "grant-wan-type": false,
    "grant-device-id": false,
    "grant-device-actions": false,
    "grant-device-removal": false,
    "grant-device-add": false,
    "grant-monitor-manage": false,
    "grant-firmware-manage": false,
    "grant-api-access": false,
    "grant-log-access": false,
    "grant-notification-popups": false,
    "grant-lan-edit": true,
    "grant-lan-devices": 2
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "type": "danger",
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "type": "success",
    "message": "Classe de permissões criada com sucesso!"
}

Remover classe de permissão

Formato da URL
/api/v2/role/del
Método HTTP
DELETE
Exemplo do Body
{
        "names": ["Gerente", "Tecnico"],
	"ids": ["asdaoss8jx8sdasgdfgdasdas", "$saa88ajj2121bbshs"]
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "type": "danger",
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "type": "success",
    "message": "Classes deletada(s) com sucesso!"
}

Configurar callback para notificações de alteração de classe de permissões

Formato da URL
/api/v2/role/traps/callback
Método HTTP
PUT
Exemplo do Body
{
	"url": "http://localhost:5555",
	"user": "admin",
	"secret": "1234"
}
Retorno da Requisição
Status Code Descrição
200 OK, comando executado com sucesso
Exemplos de Retorno
{
    "success": false,
    "message": "Error gravar dados na base"
}
{
    "success": true,
    "message": "Endereço salvo com sucesso",
}