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 Próxima revisão Ambos lados da revisão seguinte | ||
api_2.0_flashman [23/04/2020 21:39] superuser |
api_2.0_flashman [23/05/2023 19:48] superuser |
||
---|---|---|---|
Linha 20: | Linha 20: | ||
<code> | <code> | ||
- | /api/v2/device/search{?page=1} | + | /api/v2/device/search{?page=1&limit=10} |
</code> | </code> | ||
Linha 33: | Linha 33: | ||
^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ^ 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 | | | Page | Número da paǵina da busca. Observe o retorno da busca para o número total de páginas. | Inteiro | Não | | ||
+ | | Limit | Número máximo de CPEs a serem buscadas. Limitado a buscar, no máximo, 50 CPEs por página. | Inteiro | Não | | ||
== Parâmetros do Body == | == Parâmetros do Body == | ||
Linha 40: | Linha 41: | ||
| query_result_filter | Filtrar campos que serão retornados nos resultados | String | Não | | | query_result_filter | Filtrar campos que serão retornados nos resultados | String | Não | | ||
| | | | | | | | | | | | ||
+ | |||
+ | * Obs.: O parâmetro query_result_filter pode incluir o marcador "-" antes de cada campo para apenas excluir os campos indicados do resultado. | ||
+ | |||
+ | * Obs.2: Os seguintes campos não podem ser filtrados do resultado: releases, status_color, permissions, wifi_state, wifi_state_5ghz. | ||
== Exemplo do Body == | == Exemplo do Body == | ||
Linha 45: | Linha 50: | ||
<code> | <code> | ||
{ | { | ||
- | "filter_list": "online,/ou,offline" | + | "filter_list": "online,/ou,offline", |
"query_result_filter": "-firstboot_log,-lastboot_log" | "query_result_filter": "-firstboot_log,-lastboot_log" | ||
} | } | ||
Linha 141: | Linha 146: | ||
"do_update": false, | "do_update": false, | ||
"do_update_parameters": 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": [ | "apps": [ | ||
{ | { | ||
Linha 202: | Linha 162: | ||
"mqtt_secret": "jsadshdajnsudshasjasawqqwass", | "mqtt_secret": "jsadshdajnsudshasjasawqqwass", | ||
"lastboot_date": "2019-06-23T17:00:33.768Z", | "lastboot_date": "2019-06-23T17:00:33.768Z", | ||
- | "lastboot_log": "", | ||
"ntp_status": "0.000164", | "ntp_status": "0.000164", | ||
"firstboot_date": "2019-06-18T04:38:28.537Z", | "firstboot_date": "2019-06-18T04:38:28.537Z", | ||
- | "firstboot_log": "", | ||
"external_reference": { | "external_reference": { | ||
"kind": "Outro", | "kind": "Outro", | ||
Linha 240: | Linha 198: | ||
] | ] | ||
} | } | ||
+ | </code> | ||
+ | |||
+ | ==== Consultar roteadores ==== | ||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/get | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | POST | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | filter_list | Lista com todos os filtros desejados | String | Sim | | ||
+ | | fields | Filtrar campos que serão retornados nos resultados | String | Sim | | ||
+ | | | | | | | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "filter_list": "online,/ou,offline", | ||
+ | "fields": "_id,use_tr069,model" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK. Retorna as informações dos roteadores encontrados | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | [ | ||
+ | { | ||
+ | "_id": "18:0D:2C:5E:37:00", | ||
+ | "use_tr069": false, | ||
+ | "model": "ACTIONRG1200V1" | ||
+ | }, | ||
+ | { | ||
+ | "_id": "F8:6C:E1:E9:30:40", | ||
+ | "use_tr069": true, | ||
+ | "model": "G-140W-C" | ||
+ | }, | ||
+ | { | ||
+ | "_id": "98:00:6A:96:9B:84", | ||
+ | "use_tr069": true, | ||
+ | "model": "F670L" | ||
+ | } | ||
+ | ] | ||
</code> | </code> | ||
Linha 248: | Linha 261: | ||
<code> | <code> | ||
- | /api/v2/device/update/{MAC do roteador} | + | /api/v2/device/update/{ID do CPE} |
</code> | </code> | ||
Linha 259: | Linha 272: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 278: | Linha 291: | ||
<code> | <code> | ||
{ | { | ||
- | "success": true, | ||
"external_reference": { | "external_reference": { | ||
- | "kind": 'CPF', | + | "kind": 'CPF', // Poderá ser CPF, CNPJ ou Outro |
"data": '123.456.789-00' | "data": '123.456.789-00' | ||
}, | }, | ||
"apps": [], | "apps": [], | ||
- | _id: '11:11:11:11:11:11', | + | _id: '11:11:11:11:11:11', // Endereço MAC da WAN ou da interface de Wi-Fi a depender do modelo de CPE |
"model": 'TL-MR3020V1', | "model": 'TL-MR3020V1', | ||
"release": '0004-AIX', | "release": '0004-AIX', | ||
"pppoe_user": '', | "pppoe_user": '', | ||
"pppoe_password": '', | "pppoe_password": '', | ||
+ | "pppoe_ip": "192.168.89.1", // IP do CPE informado pela conexão PPP, se existir. | ||
+ | "pppoe_mac": "c4:ad:34:c3:db:f1", // MAC do CPE informado pela conexão PPP, se existir | ||
"wifi_ssid": 'TesteSSID', | "wifi_ssid": 'TesteSSID', | ||
"wifi_password": 'SenhaWifi', | "wifi_password": 'SenhaWifi', | ||
"wifi_channel": 'auto', | "wifi_channel": 'auto', | ||
+ | "wifi_last_channel": "7", // Poderá informar último canal utilizado pelo CPE caso esteja em auto | ||
+ | "wifi_band": "HT40", // Poderá ser auto, HT20, HT40, VHT20, VHT40, VHT80 ou VHT160 | ||
+ | "wifi_last_band": "20", // Poderá informar última largura de canal utilizado pelo CPE caso esteja em auto | ||
+ | "wifi_mode": "11n", // Poderá ser 11g, 11n, 11na, 11ac, 11ax | ||
+ | "wifi_state": 1, // Poderá ser 1 se estiver habilitado ou 0 caso contrário | ||
+ | "wifi_hidden": 0, // Poderá ser 1 se SSID estiver escondido. | ||
+ | "wifi_power": 75, // Potência na antena de 0 a 100. Valores percentuais. | ||
+ | "wifi_is_5ghz_capable": true, // Poderá ser true caso CPE seja dual band | ||
+ | "wifi_ssid_5ghz": "Anlix-MESH-AP-5GHz", | ||
+ | "wifi_password_5ghz": "aaaaaaaaaaa", | ||
+ | "wifi_channel_5ghz": "161", | ||
+ | "wifi_last_channel_5ghz": "161", | ||
+ | "wifi_band_5ghz": "VHT40", | ||
+ | "wifi_last_band_5ghz": "20", | ||
+ | "wifi_mode_5ghz": "11ac", | ||
+ | "wifi_state_5ghz": 1, | ||
+ | "wifi_hidden_5ghz": 0, | ||
+ | "wifi_power_5ghz": 100, | ||
+ | "upnp_requests": [], // Pedidos de liberação de regra via uPnP | ||
+ | "mesh_mode": 0, // Poderá ser 0 -> desabilitado, 1 -> somente por cabo, 2 -> somente por 2.4GHz, 3 -> 5.0Ghz e 4 para todos os modos | ||
+ | "mesh_slaves": [], // CPEs secundárias na rede mesh | ||
+ | "mesh_father": "", // CPE principal na rede mesh | ||
+ | "bridge_mode_enabled": false, // CPE em modo bridge | ||
+ | "bridge_mode_switch_disable": false, // Estado do switch do CPE quando modo bridge habilitado | ||
"last_contact": 2018-01-01T03:00:00.000Z, | "last_contact": 2018-01-01T03:00:00.000Z, | ||
"do_update": false, | "do_update": false, | ||
"do_update_parameters": true, | "do_update_parameters": true, | ||
- | "connection_type": 'dhcp', | + | "connection_type": 'dhcp', // Poderá ser pppoe ou dhcp |
- | "__v": 0, | + | "ip": '5.5.5.5', // Informação de IP do CPE visível pelo servidor do Flashman |
- | "ip": '5.5.5.5', | + | "wan_ip": '10.10.10.10', // Informação de IP da WAN enviado pelo CPE |
- | "wan_ip": '10.10.10.10' | + | "wan_ipv4_mask": 32, |
+ | "wan_ipv6_mask": 64, | ||
+ | "ipv6_enabled": 1, // Poderá ser 1 se ipv6 habilitado ou 0 se estiver desabilitado. O valor 2 será informado quando estado desconhecido. | ||
+ | "wan_ipv6": "2804:3e0:0:4200:e80:63ff:feb9:6444", | ||
+ | "prefix_delegation_addr": "fc00:dead:c0de:700::", | ||
+ | "prefix_delegation_local": "fc00:dead:c0de:700::1", | ||
+ | "prefix_delegation_mask": "64", | ||
+ | "wan_negociated_speed": "1000", // Poderá ser vazio, 10, 100, 1000 ou 10000 | ||
+ | "wan_negociated_duplex": "full", // Poderá ser vazio, half ou full | ||
+ | "lan_subnet": "10.0.30.1", | ||
+ | "lan_netmask": 24, | ||
+ | "current_diagnostic": { // Último diagnóstico realizado pelo CPE. Poderá ser qualquer procedimento ativo disponível para o CPE. | ||
+ | "type": "speedtest", // Poderá ser speedtest, ping, traceroute, sitesurvey | ||
+ | "stage": "done", // Poderá ser estimative, measure, initiating, error, done | ||
+ | "customized": false, | ||
+ | "in_progress": false, | ||
+ | "started_at": "2023-03-29T13:44:24.876Z", | ||
+ | "last_modified_at": "2023-03-29T13:44:31.850Z", | ||
+ | "targets": [ | ||
+ | "192.168.88.6:25752" // Destinos do diagnóstico. Poderá ser vazio a depender do diagnóstico | ||
+ | ], | ||
+ | "user": "raul", // Usuário do Flashman ou app que realizou o disparo do diagnóstico | ||
+ | "webhook_url": "", // Webhook de retorno do teste. Caso vazio será utilizada a configuração de callback padrão. | ||
+ | "webhook_user": "", | ||
+ | "webhook_secret": "", | ||
+ | "recursion_state": 5 | ||
+ | }, | ||
+ | "use_tr069": false, // CPE é gerenciado por TR-069 caso o valor seja true | ||
+ | "secure_tr069": true, // CPE utiliza HTTPS para ser gerenciado por TR-069 | ||
+ | "sys_up_time": 878952, // Valor em segundos de tempo de CPE ligado | ||
+ | "wan_up_time": 676051, // Valor em segundos de tempo de CPE conectado | ||
+ | "latitude": -22.9228285, | ||
+ | "longitude": -43.2341451, | ||
+ | "wps_is_active": false, // Poderá ser true se WPS ativo no CPE | ||
+ | "wps_last_connected_mac": "", // MAC do último dispositivo conectado por WPS no CPE | ||
+ | "cpu_usage": 10, // Último valor percentual de uso de CPU. De 0 a 100. Valor 101 significa resultado desconhecido | ||
+ | "memory_usage": 101, // Último valor percentual de uso de RAM. De 0 a 100. Valor 101 significa resultado desconhecido | ||
+ | "isSsidPrefixEnabled": false, // Poderá ter prefixo SSID habilitado se true | ||
+ | "vlan": [ // Poderá ser vazio. VLANs ID configuradas em cada por LAN | ||
+ | { | ||
+ | "vlan_id": 1, | ||
+ | "_id": "631747ae8cfdad24d97249f9", | ||
+ | "port": 1 | ||
+ | }, | ||
+ | { | ||
+ | "vlan_id": 1, | ||
+ | "_id": "631747ae8cfdad24d97249fa", | ||
+ | "port": 2 | ||
+ | }, | ||
+ | ], | ||
+ | "lan_devices": [ | ||
+ | { | ||
+ | "is_blocked": false, | ||
+ | "port": [], | ||
+ | "router_port": [], | ||
+ | "dmz": false, | ||
+ | "ipv6": [ | ||
+ | "fe80::2094:c6ff:fe74:f653" | ||
+ | ], | ||
+ | "dhcpv6": null, | ||
+ | "upnp_permission": "none", | ||
+ | "_id": "63175b8fe9410d24b56177c1", | ||
+ | "mac": "22:94:c6:74:f6:53", | ||
+ | "dhcp_name": "K41S", | ||
+ | "first_seen": "2022-09-06T14:39:11.989Z", | ||
+ | "last_seen": "2023-01-17T17:52:31.077Z", | ||
+ | "ip": "10.0.30.160", | ||
+ | "conn_type": 1, | ||
+ | "conn_speed": 65, | ||
+ | "wifi_signal": -61, | ||
+ | "wifi_snr": 24, | ||
+ | "wifi_freq": 2.4, | ||
+ | "wifi_mode": "N", | ||
+ | "wifi_fingerprint": "", | ||
+ | "dhcp_fingerprint": "1,3,6,15,26,28,51,58,59,43,114,108", | ||
+ | "dhcp_vendor_class": "android-dhcp-11", | ||
+ | "ping": 115.361 | ||
+ | }, | ||
+ | ], | ||
+ | "ap_survey": [ // Lista de redes Wi-Fi ao redor coletadas no último diagnóstico de site survey agendado. | ||
+ | { | ||
+ | "_id": "631df5961478f456186a761b", | ||
+ | "mac": "ff:ff:ff:90:00:d1", | ||
+ | "ssid": "Anlix-Macbook", | ||
+ | "freq": 2417, | ||
+ | "signal": -18, | ||
+ | "width": 20, | ||
+ | "VHT": false, | ||
+ | "first_seen": "2022-09-11T14:49:58.224Z", | ||
+ | "last_seen": "2023-03-24T18:11:52.157Z" | ||
+ | }, | ||
+ | ], | ||
+ | "pingtest_results": [ // Resultado de ping para os destinados especificados no último diagnóstico de ping agendado. | ||
+ | { | ||
+ | "lat": "---", // Valores em ponto flutuante 0.00 ou --- na ausência de resposta | ||
+ | "loss": "---", | ||
+ | "count": "---", | ||
+ | "completed": false, | ||
+ | "_id": "641c6c7d7e3602002bbe91e0", | ||
+ | "host": "www.globo.com" | ||
+ | }, | ||
+ | ], | ||
+ | "speedtest_results": [ // Resultados de teste de velocidade agendados no por diagnóstico. | ||
+ | { | ||
+ | "_id": "637bc5d50ee75719c062966a", | ||
+ | "user": "admin", // Usuário do Flashman, app do técnico ou disparo pelo app do cliente | ||
+ | "timestamp": "21/11/2022 15:39", | ||
+ | "down_speed": "234 Mbps" | ||
+ | }, | ||
+ | ], | ||
+ | "traceroute_results": [ // Lista com resultados de traceroute realizados no último diagnóstico agendado. | ||
+ | { | ||
+ | "all_hops_tested": true, // Valor true caso todos os saltos informarem resposta | ||
+ | "reached_destination": true, // Valor true se destino foi alcançado | ||
+ | "address": "www.globo.com", | ||
+ | "tries_per_hop": 3, | ||
+ | "completed": true, // Valor false em caso de diagnóstico em andamento | ||
+ | "_id": "641c6c637e3602002bbe91c3", | ||
+ | "hops": [ | ||
+ | { | ||
+ | "hop_index": 1, | ||
+ | "ip": "192.168.89.1", | ||
+ | "ms_values": [ // Valores em milissegundos da latência para o salto informado no campo ip | ||
+ | "0.480", | ||
+ | "0.220", | ||
+ | "0.320" | ||
+ | ], | ||
+ | "_id": "641c6c657e3602002bbe91c9" | ||
+ | }, | ||
+ | ], | ||
+ | }, | ||
+ | ], | ||
+ | "lastboot_date": "2023-03-25T10:05:20.986Z", // Data de último boot do CPE. Poderá ser vazio para alguns CPEs | ||
+ | "last_devices_refresh": "2023-03-29T18:47:39.690Z", // Obsoleto. Para alguns CPEs, informa data de última coleta de aparelhos. | ||
+ | "wan_bytes": { // Bytes trafegados na WAN em alguns instantes de tempo | ||
+ | "1679580929": [ // Chave do dicionário refere-se ao tempo em formato epoch da coleta | ||
+ | 50528273959, // Total de bytes cumulativos no sentido downstream | ||
+ | 14623344764 // Total de bytes cumulativos no sentido upstream | ||
+ | ], | ||
+ | "1679580989": [ | ||
+ | 50528466107, | ||
+ | 14623507966 | ||
+ | ], | ||
+ | }, | ||
+ | "firstboot_date": "2023-02-12T22:27:16.748Z", // Data de primeiro boot do CPE. Será para CPEs gerenciados por TR-069 | ||
+ | "default_gateway_v4": "192.168.89.1", // Gateway IPv4 de saída padrão da conexão WAN do CPE. Poderá ser vazio a depender do CPE. | ||
+ | "default_gateway_v6": "fe80::f2:d293", // Gateway IPv6 de saída padrão da conexão WAN do CPE. Poderá ser vazio a depender do CPE. | ||
+ | "dns_server": "192.168.88.1", // Servidor de DNS utilizado pelo CPE. Poderá ser vazio de acordo com o CPE. | ||
+ | "is_license_active": true, // Informa se licença Flashbox do CPE está ativo ou bloqueado | ||
} | } | ||
</code> | </code> | ||
Linha 307: | Linha 493: | ||
<code> | <code> | ||
- | /api/v2/device/update/{MAC do roteador} | + | /api/v2/device/update/{ID do CPE} |
</code> | </code> | ||
Linha 318: | Linha 504: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Parâmetros do Body == | == Parâmetros do Body == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ Parâmetro ^ Descrição ^ Formato | **Valores** ^ Obrigatório ^ |
- | | pppoe_user | Usuário PPPoE | String | Não | | + | | pppoe_user | Usuário PPPoE | String | | Não | |
- | | pppoe_password | Senha do 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_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_password | Senha do ponto de acesso sem fio do usuário | String | Mínimo de 8 caracteres | Não | |
- | | wifi_channel | Canal do 802.11 | String | Não | | + | | wifi_channel | Canal do 802.11 | String | "auto","1","2","3","4","5","6","7","8","9","10","11" | Não | |
- | | | | | | | + | | connection_type | Tipo de conexão WAN | String | "dhcp" ou "pppoe" | Não | |
- | | | | | | | + | | ipv6_enabled | Habilitar Ipv6 | Integer | 0 - Desligado , 1 - Ligado | Não | |
+ | | lan_subnet | Gateway da subrede LAN | String | IP válido | Não | | ||
+ | | lan_netmask | Máscara da subrede LAN | String | "24", "25", "26" | Não | | ||
+ | | wifi_band | Largura de banda Wi-Fi 2.4GHz | String | 'HT20', 'HT40' | Não | | ||
+ | | wifi_mode | Modo de operação Wi-Fi 2.4GHz | String | '11g', '11n' | Não | | ||
+ | | wifi_power | Potência da antena Wi-Fi 2.4GHz | Integer | 25, 50, 75, 100 (por cento) | Não | | ||
+ | | wifi_state | Liga/Desliga Wi-Fi 2.4GHz | Integer | 0 - Off , 1 - On | Não | | ||
+ | | wifi_hidden | Esconder SSID Wi-Fi 2.4GHz | Integer | 0 - Visível, 1 - Escondido | Não | | ||
+ | | wifi_ssid_5ghz | Identificação do ponto de acesso sem fio do usuário (SSID) | String | | Não | | ||
+ | | wifi_password_5ghz | Senha do ponto de acesso sem fio do usuário | String | Mínimo de 8 caracteres | Não | | ||
+ | | wifi_channel_5ghz | Canal do 802.11 | String | 'auto','36', '40', '44', '48', '52', '56', '60', '64','149', '153', '157', '161', '165' | Não | | ||
+ | | wifi_band_5ghz | Largura de banda Wi-Fi 5.0GHz | String | 'VHT20', 'VHT40', 'VHT80' | Não | | ||
+ | | wifi_mode_5ghz | Modo de operação Wi-Fi 5.0GHz | String | '11na', '11ac' | Não | | ||
+ | | wifi_power_5ghz | Potência da antena Wi-Fi 5.0GHz | Integer | 25, 50, 75, 100 (por cento) | Não | | ||
+ | | wifi_state_5ghz | Liga/Desliga Wi-Fi 5.0GHz | Integer | 0 - Off , 1 - On | Não | | ||
+ | | wifi_hidden_5ghz | Esconder SSID Wi-Fi 5.0GHz | Integer | 0 - Visível, 1 - Escondido | Não | | ||
+ | | mesh_mode | Tipo do modo Mesh (Quando for compatível) | Integer | 0 - Off, 1 - Cabo, 2 - Cabo e 2.4, 3 - Cabo e 5.0, 4 - Cabo e ambos Wi-Fi | Não | | ||
+ | | bridgeEnabled | Habilitar modo bridge/AP no roteador | Integer | 0 - Off, 1 - On | Não | | ||
+ | | bridgeDisableSwitch | Desabilitar portas LAN cabeadas | Integer | 0 - Modo router , 1 - Modo bridge | Não | | ||
+ | | bridgeFixIP | Fixar IP WAN do roteador no modo bridge | String | IP válido | Não | | ||
+ | | bridgeFixGateway | Fixar | String | IP válido | Não | | ||
+ | | bridgeFixDNS | | String | IP válido | Não | | ||
+ | | | | | | | | ||
== Exemplo do Body == | == Exemplo do Body == | ||
Linha 400: | Linha 608: | ||
<code> | <code> | ||
- | /api/v2/device/update/{MAC do roteador}/{Release} | + | /api/v2/device/update/{ID do CPE}/{Release} |
</code> | </code> | ||
Linha 411: | Linha 619: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
- | | Release | Identificador de release do firmware. Exemplo: 0001-fab | String | Sim | | + | | Release | Identificador de release do firmware. Exemplo: 0001-fab | String | Sim | |
== Parâmetros do Body == | == Parâmetros do Body == | ||
Linha 453: | Linha 661: | ||
<code> | <code> | ||
- | /api/v2/device/delete/{MAC do roteador} | + | /api/v2/device/delete/{ID do CPE} |
</code> | </code> | ||
Linha 464: | Linha 672: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 495: | Linha 703: | ||
== Parâmetros do Body == | == Parâmetros do Body == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | 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 | | + | | release | Identificador de release do firmware. Exemplo: 0001-fab | String | Não | |
- | | pppoe_user | Usuário PPPoE | String | Não | | + | | pppoe_user | Usuário PPPoE | String | Não | |
- | | pppoe_password | Senha do 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_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_password | Senha do ponto de acesso sem fio do usuário | String | Não | |
- | | wifi_channel | Canal do 802.11 | String | Não | | + | | wifi_channel | Canal do 802.11 Wi-Fi 2.4GHz | String | Não | |
- | | | | | | | + | | wifi_band | Largura de banda Wi-Fi 2.4GHz | String | Não | |
+ | | wifi_mode | Modo de operação Wi-Fi 2.4GHz | String | Não | | ||
== Exemplo do Body == | == Exemplo do Body == | ||
Linha 516: | Linha 725: | ||
"wifi_ssid": "FlashMan-AP-Teste", | "wifi_ssid": "FlashMan-AP-Teste", | ||
"wifi_password": "senhateste", | "wifi_password": "senhateste", | ||
- | "wifi_channel": "auto" | + | "wifi_channel": "auto", |
+ | "wifi_band": "auto", | ||
+ | "wifi_mode": "11g" | ||
} | } | ||
} | } | ||
Linha 556: | Linha 767: | ||
<code> | <code> | ||
- | /api/v2/device/command/{MAC do roteador}/{Comando} | + | /api/v2/device/command/{ID do CPE}/{Comando} |
</code> | </code> | ||
Linha 567: | Linha 778: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
- | | Comando | Tipo de comando a ser desempenhado pelo roteador Flashbox | Veja os comandos suportados logo abaixo | Sim | | + | | Comando | Tipo de comando a ser desempenhado pelo roteador Flashbox | Veja os comandos suportados logo abaixo | Sim | |
- | ^ Comando ^ Descrição ^ | + | ^ Comando ^ Descrição ^ |
- | | boot | Reiniciar roteador Flashbox | | + | | boot | Reiniciar roteador Flashbox | |
- | | rstapp | Apagar senha de login do aplicativo do usuário final | | + | | log | Envia o de log do roteador para o Flashman. Para ver o log, use o comando de visualizar último log | |
- | | rstmqtt | Cuidado! Gera um novo token MQTT. Apenas use esse comando após a remoção do cadastro do roteador no Flashman | | + | | onlinedevs | Inicia a coleta de aparelhos conectados ao CPE | |
- | | 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 | |
- | | ping | Inicia execução de teste ping para lista de endereços previamente configurados | | + | | pondata | Inicia execução da coleta de dados do nível de sinal da interface PON. Utilizar registro de callback para coletar campos pon_rxpower, pon_txpower e pon_signal_measure | |
- | | speedtest | Inicia execução de teste de velocidade para o servidor configurado (Flashman 1.28.0 ou superior e Flashbox 0.24.0 ou superior) | | + | | rstapp | Apagar senha de login do aplicativo do usuário final | |
+ | | rstdevices | Reseta a senha do aplicativo do cliente | | ||
+ | | rstmqtt | Cuidado! Gera um novo token MQTT. Apenas use esse comando após a remoção do cadastro do roteador no Flashman | | ||
+ | | sitesurvey | Inicia execução da varredura de redes vizinhas. Utilizar registro de callback para a coleta dos resultados. | | ||
+ | | speedtest | Inicia execução de teste de velocidade para o servidor configurado (Flashman 1.28.0 ou superior e Flashbox 0.24.0 ou superior) | | ||
+ | | traceroute | Inicia execução do teste de traceroute para os destinos previamente definidos através da chamada de API "pinghostslist" | | ||
+ | | upstatus | Inicia execução da coleta de quanto tempo o roteador está online e conectado. Também coleta o tráfego na WAN em bytes | | ||
+ | | wanbytes | Inicia execução da coleta de bytes trafegados na WAN tanto para upload quanto para download. Utilizar registro de callback para coletar resultado | | ||
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 589: | Linha 807: | ||
{ | { | ||
"success": true | "success": true | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "CPE não esta online!" | ||
} | } | ||
</code> | </code> | ||
Linha 599: | Linha 823: | ||
<code> | <code> | ||
- | /api/v2/device/lastlog/{MAC do roteador} | + | /api/v2/device/lastlog/{ID do CPE} |
</code> | </code> | ||
Linha 610: | Linha 834: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 637: | Linha 861: | ||
<code> | <code> | ||
- | /api/v2/device/firstlog/{MAC do roteador} | + | /api/v2/device/firstlog/{ID do CPE} |
</code> | </code> | ||
Linha 648: | Linha 872: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 670: | Linha 894: | ||
</code> | </code> | ||
- | ==== Consultar abertura de portas de um roteador ==== | + | ==== Consultar abertura de portas de um CPE Flashbox ==== |
== Formato da URL == | == Formato da URL == | ||
<code> | <code> | ||
- | /api/v2/device/portforward/{MAC do roteador} | + | /api/v2/device/portforward/{ID do CPE} |
</code> | </code> | ||
Linha 686: | Linha 910: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 733: | Linha 957: | ||
</code> | </code> | ||
- | ==== Configurar abertura de portas de um roteador ==== | + | ==== Configurar abertura de portas de um CPE Flashbox ==== |
== Formato da URL == | == Formato da URL == | ||
Linha 755: | Linha 979: | ||
<code> | <code> | ||
{ | { | ||
- | "content":"[{ | + | "content": [{ |
- | \"mac\":\"30:fd:38:ff:ff:ff\", | + | "mac": "30:fd:38:ff:ff:ff", |
- | \"port\":[777], | + | "port": [777], |
- | \"dmz\":false, | + | "dmz": false, |
- | \"router_port\":[777] | + | "router_port": [777] |
- | + | }] | |
- | }]" | + | } |
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Error ao realizar parser do JSON" | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "" | ||
+ | } | ||
+ | </code> | ||
+ | ==== Consultar abertura de portas de um CPE TR-069 ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/portforwardtr069/{ID do CPE} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == Formato da Requisição == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Roteador não encontrado" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "content": [ | ||
+ | { | ||
+ | "_id": "63d2bfc3898b1a5fdcf2ae50", | ||
+ | "external_port_start": 5000, | ||
+ | "external_port_end": 5000, | ||
+ | "ip": "192.168.18.50", | ||
+ | "internal_port_start": 5000, | ||
+ | "internal_port_end": 5000 | ||
+ | }, | ||
+ | { | ||
+ | "_id": "63d2bfc3898b1a5fdcf2ae51", | ||
+ | "external_port_start": 6000, | ||
+ | "external_port_end": 6000, | ||
+ | "ip": "192.168.18.60", | ||
+ | "internal_port_start": 6000, | ||
+ | "internal_port_end": 6000 | ||
+ | }, | ||
+ | { | ||
+ | "_id": "63d2bfc3898b1a5fdcf2ae52", | ||
+ | "external_port_start": 6600, | ||
+ | "external_port_end": 6600, | ||
+ | "ip": "192.168.18.60", | ||
+ | "internal_port_start": 6600, | ||
+ | "internal_port_end": 6600 | ||
+ | } | ||
+ | ], | ||
+ | "wrongPortMapping": false, | ||
+ | "compatibility": { | ||
+ | "simpleSymmetric": true, | ||
+ | "simpleAsymmetric": true, | ||
+ | "rangeSymmetric": true, | ||
+ | "rangeAsymmetric": false | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Configurar abertura de portas de um CPE TR-069 ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/portforwardtr069/{ID do CPE} | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == Formato da Requisição == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "content": [ | ||
+ | { | ||
+ | "ip": "192.168.18.10", | ||
+ | "external_port_start": "1010", | ||
+ | "external_port_end": "1010", | ||
+ | "internal_port_start": "1010", | ||
+ | "internal_port_end": "1010" | ||
+ | } | ||
+ | ] | ||
} | } | ||
</code> | </code> | ||
Linha 788: | Linha 1132: | ||
<code> | <code> | ||
- | /api/v2/device/pinghostslist/{MAC do roteador} | + | /api/v2/device/pinghostslist/{ID do CPE} |
</code> | </code> | ||
Linha 799: | Linha 1143: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Retorno da Requisição == | == Retorno da Requisição == | ||
Linha 832: | Linha 1176: | ||
<code> | <code> | ||
- | /api/v2/device/pinghostslist/{MAC do roteador} | + | /api/v2/device/pinghostslist/{ID do CPE} |
</code> | </code> | ||
Linha 843: | Linha 1187: | ||
== Formato da Requisição == | == Formato da Requisição == | ||
- | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | + | ^ 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 | | + | | ID do CPE | Endereço MAC ou Número serial localizado na etiqueta do CPE | String. Caracteres sempre maiúsculos | Sim | |
== Exemplo do Body == | == Exemplo do Body == | ||
<code> | <code> | ||
{ | { | ||
- | "content":"{ | + | "content": { |
- | \"hosts\":[\"www.google.com\", | + | "hosts": [ |
- | \"www.facebook.com\", | + | "www.google.com", |
- | \"www.instagram.com\", | + | "www.facebook.com", |
- | \"www.youtube.com\", | + | "www.instagram.com", |
- | \"www.terra.com.br\", | + | "www.youtube.com", |
- | \"www.g1.com\" | + | "www.terra.com.br", |
- | ]}" | + | "www.g1.com" |
+ | ] | ||
+ | } | ||
} | } | ||
</code> | </code> | ||
Linha 868: | Linha 1214: | ||
{ | { | ||
"success": false, | "success": false, | ||
- | "message": "Error ao realizar parser do JSON" | + | "message": "Erro ao tratar JSON" |
} | } | ||
</code> | </code> | ||
Linha 882: | Linha 1228: | ||
"www.g1.com" | "www.g1.com" | ||
] | ] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Configurar estado de bloqueio do roteador LAN ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/landevice/block | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "id": "18:0D:2C:5E:37:00", | ||
+ | "lanid": "34:fc:ef:fe:57:64", | ||
+ | "isblocked": false | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Erro ao buscar CPE (3093)" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Configurar posicionamento GPS de um CPE ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/coordinates | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | devices | Lista de roteadores, seguindo o formato descrito abaixo | Array | Sim | | ||
+ | | devices.*.id | Identificador único do roteador, conforme listado no Flashman | String | Sim | | ||
+ | | devices.*.latitude | Valor de latitude deste roteador | Número | Sim | | ||
+ | | devices.*.longitude | Valor de longitude deste roteador | Número | Sim | | ||
+ | | devices.*.preventAutoUpdate | Flag para prevenir atualizações de posicionamento pelos apps | Booleano | Sim | | ||
+ | |||
+ | * Obs.: Os campos de id, latitude, longitude e preventAutoUpdate devem ser fornecidos para cada roteador dentro do Array | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | {"devices":[{ | ||
+ | "id": "18:0D:2C:5E:37:00", | ||
+ | "latitude": 12.3456789, | ||
+ | "longitude": 0.1234567, | ||
+ | "preventAutoUpdate": true | ||
+ | }, { | ||
+ | "id": "AA:AA:AA:AA:AA:AA", | ||
+ | "latitude": -22.222222", | ||
+ | "longitude": -11.111111, | ||
+ | "preventAutoUpdate": true | ||
+ | }] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro ao processar a requisição | | ||
+ | |||
+ | Obs.: Caso somente algumas das edições falhem, o Flashman ainda assim retornará status 200, sendo necessário consultar o body da requisição para ver quantos e quais roteadores falharam na atualização dos campos | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "okCount": 2, | ||
+ | "failCount": 0, | ||
+ | "status": { | ||
+ | "18:0D:2C:5E:37:00": "Sucesso", | ||
+ | "AA:AA:AA:AA:AA:AA": "Sucesso" | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "okCount": 1, | ||
+ | "failCount": 1, | ||
+ | "status": { | ||
+ | "18:0D:2C:5E:37:00": "Sucesso", | ||
+ | "AA:AA:AA:AA:AA:AA": "Erro ao buscar a CPE" | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "okCount": 0, | ||
+ | "failCount": 0, | ||
+ | "status": {}, | ||
+ | "message": "Campo 'devices' inválido" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Consultar status de licença de CPE ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/license/get | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | id | ID de CPE | String | Sim | | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "id": "CC:CC:CC:CC:CC:CC", | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "id": "ZTEDGH1248DD82", | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro ao processar a requisição | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "status": true // Licença ativa | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "JSON fora do formato" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Alterar status de licenças de CPEs ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/license/set | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | ids | Lista de IDs de CPEs ou um único ID de CPE | Array de Strings ou String | Sim | | ||
+ | | block | Booleano para bloquear ou desbloquear as licença(s) dos IDs forncecidos | Booleano | Sim | | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "ids": "CC:CC:CC:CC:CC:CC", | ||
+ | "block": true | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "ids": ["AA:AA:AA:AA:AA:AA", "BB:BB:BB:BB:BB:BB"], | ||
+ | "block": false | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro ao processar a requisição | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "JSON fora do formato" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Consultar callback para notificações de alteração de roteadores ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "exists": true, | ||
+ | "user": "admin", | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "devicesCrud": [{ | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "user": "admin" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:8888", | ||
+ | "user": "user" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:9999", | ||
+ | "user": "usuario123" | ||
+ | }] | ||
} | } | ||
</code> | </code> | ||
Linha 898: | Linha 1505: | ||
PUT | PUT | ||
</code> | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | url | URL da callback para notificação de alteração | String | Sim | | ||
+ | | user | Usuário usada para autenticação na URL | String | Não | | ||
+ | | secret | Senha usada para autenticação na URL | String | Não | | ||
+ | |||
+ | * Obs.: Caso a URL especificada já esteja registrada como uma callback no Flashman, somente serão atualizados o user e secret para aquela URL. Caso não esteja registrada, será adicionada uma nova entrada na lista de callbacks. | ||
== Exemplo do Body == | == Exemplo do Body == | ||
<code> | <code> | ||
{ | { | ||
- | "url": "http://localhost:5555", | + | "url": "http://localhost:5555", |
- | "user": "admin", | + | "user": "admin", |
- | "secret": "1234" | + | "secret": "1234" |
} | } | ||
</code> | </code> | ||
Linha 923: | Linha 1539: | ||
"success": true, | "success": true, | ||
"message": "Endereço salvo com sucesso", | "message": "Endereço salvo com sucesso", | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Deletar callback para notificações de alteração de roteadores ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/device/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | DELETE | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | index | Índice a ser deletado da lista de callbacks registradas | Inteiro | Sim | | ||
+ | |||
+ | * Obs.: O index pode ser consultado através de um GET, para consulta da lista atual | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "index": 1 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro processando a requisição | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Não foi encontrado nenhum elemento para o índice passado" | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Operação realizada com sucesso" | ||
} | } | ||
</code> | </code> | ||
Linha 953: | Linha 1616: | ||
"users": [ | "users": [ | ||
{ | { | ||
- | "createdAt": "2018-06-29T22:07:00.644Z", | + | "_id": "5d80dd2c04980000aef80ca2", |
+ | "createdAt": "2019-09-17T13:18:36.111Z", | ||
"autoUpdate": true, | "autoUpdate": true, | ||
- | "maxElementsPerPage": 10, | + | "maxElementsPerPage": 50, |
"is_superuser": true, | "is_superuser": true, | ||
- | "_id": "5b36ad85f60f0d001c432344", | + | "name": "CarolinaNNN", |
- | "name": "admin", | + | "password": "$2a$05$MLUESjuUwMW1f5G80e/HjONjo8huRm3lITAVzWHFnsKLYYK3QhkXG", |
- | "password": "$34fdasxjasjh89a8s98", | + | "__v": 137, |
- | "__v": 0, | + | "lastLogin": "2022-03-03T17:43:47.220Z", |
- | "lastLogin": "2019-06-25T18:40:57.264Z" | + | "visibleColumnsOnPage": [ |
+ | 4, | ||
+ | 5, | ||
+ | 6, | ||
+ | 7, | ||
+ | 8, | ||
+ | 10, | ||
+ | 11, | ||
+ | 12 | ||
+ | ], | ||
+ | "role": "Supervisão" | ||
}, | }, | ||
{ | { | ||
- | "createdAt": "2019-05-06T14:59:07.881Z", | + | "_id": "5d9f72e78a02a80019961fca", |
+ | "createdAt": "2019-10-03T21:49:30.748Z", | ||
"autoUpdate": true, | "autoUpdate": true, | ||
"maxElementsPerPage": 10, | "maxElementsPerPage": 10, | ||
"is_superuser": false, | "is_superuser": false, | ||
- | "_id": "5cd0520736e947001603dscc", | + | "name": "Rodrigo", |
- | "name": "teste", | + | "password": "$2a$05$kTy5rakI9kPb67dPAnWPhecKXv.7Osb2Y4Gj2w1m.xXEAIN2VUCsa", |
- | "password": "$2a$08ysbsisj88snakklsns", | + | "role": "Supervisão", |
- | "role": "Gerente", | + | "__v": 4, |
- | "__v": 0, | + | "lastLogin": "2022-03-02T13:24:47.350Z", |
- | "lastLogin": "2019-05-16T02:21:25.930Z" | + | "visibleColumnsOnPage": [ |
+ | 4, | ||
+ | 5, | ||
+ | 6, | ||
+ | 7, | ||
+ | 8, | ||
+ | 10, | ||
+ | 11, | ||
+ | 12 | ||
+ | ] | ||
} | } | ||
] | ] | ||
Linha 1001: | Linha 1685: | ||
<code> | <code> | ||
{ | { | ||
- | "name": "teste", | + | "name": "teste", |
- | "password": "teste1234", | + | "password": "teste1234", |
- | "passwordack": "teste1234", | + | "passwordack": "teste1234", |
- | "role": "Gerente" | + | "role": "Gerente" |
} | } | ||
</code> | </code> | ||
Linha 1045: | Linha 1729: | ||
<code> | <code> | ||
{ | { | ||
- | "name": "joao", | + | "name": "joao", |
- | "password": "teste1234", | + | "password": "teste1234", |
- | "role": "Gerente" | + | "role": "Gerente" |
} | } | ||
</code> | </code> | ||
Linha 1082: | Linha 1766: | ||
<code> | <code> | ||
- | DELETE | + | PUT |
</code> | </code> | ||
Linha 1088: | Linha 1772: | ||
<code> | <code> | ||
{ | { | ||
- | "ids": ["8sdu8sdhusdnc8sdc", "jsud8989a8s98asxnuas"], | + | "ids": ["8sdu8sdhusdnc8sdc", "jsud8989a8s98asxnuas"], |
} | } | ||
</code> | </code> | ||
Linha 1109: | Linha 1793: | ||
"type": "success", | "type": "success", | ||
"message": "Usuário(s) deletado(s) com sucesso!" | "message": "Usuário(s) deletado(s) com sucesso!" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Consultar callback para notificações de alteração de usuários ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/user/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "exists": true, | ||
+ | "user": "admin", | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "devicesCrud": [{ | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "user": "admin" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:8888", | ||
+ | "user": "user" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:9999", | ||
+ | "user": "usuario123" | ||
+ | }] | ||
} | } | ||
</code> | </code> | ||
Linha 1125: | Linha 1847: | ||
PUT | PUT | ||
</code> | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | url | URL da callback para notificação de alteração | String | Sim | | ||
+ | | user | Usuário usada para autenticação na URL | String | Não | | ||
+ | | secret | Senha usada para autenticação na URL | String | Não | | ||
+ | |||
+ | * Obs.: Caso a URL especificada já esteja registrada como uma callback no Flashman, somente serão atualizados o user e secret para aquela URL. Caso não esteja registrada, será adicionada uma nova entrada na lista de callbacks. | ||
== Exemplo do Body == | == Exemplo do Body == | ||
<code> | <code> | ||
{ | { | ||
- | "url": "http://localhost:5555", | + | "url": "http://localhost:5555", |
- | "user": "admin", | + | "user": "admin", |
- | "secret": "1234" | + | "secret": "1234" |
} | } | ||
</code> | </code> | ||
Linha 1150: | Linha 1881: | ||
"success": true, | "success": true, | ||
"message": "Endereço salvo com sucesso", | "message": "Endereço salvo com sucesso", | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Deletar callback para notificações de alteração de usuários ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/user/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | DELETE | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | index | Índice a ser deletado da lista de callbacks registradas | Inteiro | Sim | | ||
+ | |||
+ | * Obs.: O index pode ser consultado através de um GET, para consulta da lista atual | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "index": 1 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro processando a requisição | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Não foi encontrado nenhum elemento para o índice passado" | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Operação realizada com sucesso" | ||
} | } | ||
</code> | </code> | ||
Linha 1155: | Linha 1933: | ||
===== Métodos para permissões ===== | ===== Métodos para permissões ===== | ||
- | ==== Obter todos as classes de permissões ==== | + | ==== Obter todas as classes de permissões ==== |
== Formato da URL == | == Formato da URL == | ||
Linha 1333: | Linha 2111: | ||
<code> | <code> | ||
- | DELETE | + | PUT |
</code> | </code> | ||
Linha 1340: | Linha 2118: | ||
{ | { | ||
"names": ["Gerente", "Tecnico"], | "names": ["Gerente", "Tecnico"], | ||
- | "ids": ["asdaoss8jx8sdasgdfgdasdas", "$saa88ajj2121bbshs"] | + | "ids": ["asdaoss8jx8sdasgdfgdasdas", "$saa88ajj2121bbshs"] |
} | } | ||
</code> | </code> | ||
Linha 1361: | Linha 2139: | ||
"type": "success", | "type": "success", | ||
"message": "Classes deletada(s) com sucesso!" | "message": "Classes deletada(s) com sucesso!" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Consultar callback para notificações de alteração de classe de permissões ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/role/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "exists": true, | ||
+ | "user": "admin", | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "devicesCrud": [{ | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "user": "admin" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:8888", | ||
+ | "user": "user" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:9999", | ||
+ | "user": "usuario123" | ||
+ | }] | ||
} | } | ||
</code> | </code> | ||
Linha 1377: | Linha 2193: | ||
PUT | PUT | ||
</code> | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | url | URL da callback para notificação de alteração | String | Sim | | ||
+ | | user | Usuário usada para autenticação na URL | String | Não | | ||
+ | | secret | Senha usada para autenticação na URL | String | Não | | ||
+ | |||
+ | * Obs.: Caso a URL especificada já esteja registrada como uma callback no Flashman, somente serão atualizados o user e secret para aquela URL. Caso não esteja registrada, será adicionada uma nova entrada na lista de callbacks. | ||
== Exemplo do Body == | == Exemplo do Body == | ||
<code> | <code> | ||
{ | { | ||
- | "url": "http://localhost:5555", | + | "url": "http://localhost:5555", |
- | "user": "admin", | + | "user": "admin", |
- | "secret": "1234" | + | "secret": "1234" |
} | } | ||
</code> | </code> | ||
Linha 1404: | Linha 2229: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | ==== Deletar callback para notificações de alteração de classe de permissões ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/role/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | DELETE | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | index | Índice a ser deletado da lista de callbacks registradas | Inteiro | Sim | | ||
+ | |||
+ | * Obs.: O index pode ser consultado através de um GET, para consulta da lista atual | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "index": 1 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro processando a requisição | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Não foi encontrado nenhum elemento para o índice passado" | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Operação realizada com sucesso" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== Métodos para certificações ===== | ||
+ | |||
+ | ==== Consultar callback para notificações de alteração de certificações ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/certification/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | GET | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "exists": true, | ||
+ | "user": "admin", | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "devicesCrud": [{ | ||
+ | "url": "http://127.0.0.1:5555", | ||
+ | "user": "admin" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:8888", | ||
+ | "user": "user" | ||
+ | }, { | ||
+ | "url": "http://127.0.0.1:9999", | ||
+ | "user": "usuario123" | ||
+ | }] | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Configurar callback para notificações de alteração de certificações ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/certification/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | PUT | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | url | URL da callback para notificação de alteração | String | Sim | | ||
+ | | user | Usuário usada para autenticação na URL | String | Não | | ||
+ | | secret | Senha usada para autenticação na URL | String | Não | | ||
+ | |||
+ | * Obs.: Caso a URL especificada já esteja registrada como uma callback no Flashman, somente serão atualizados o user e secret para aquela URL. Caso não esteja registrada, será adicionada uma nova entrada na lista de callbacks. | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "url": "http://localhost:5555", | ||
+ | "user": "admin", | ||
+ | "secret": "1234" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Error gravar dados na base" | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Endereço salvo com sucesso", | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Deletar callback para notificações de alteração de certificações ==== | ||
+ | |||
+ | == Formato da URL == | ||
+ | |||
+ | <code> | ||
+ | /api/v2/certification/traps/callback | ||
+ | </code> | ||
+ | |||
+ | == Método HTTP == | ||
+ | |||
+ | <code> | ||
+ | DELETE | ||
+ | </code> | ||
+ | |||
+ | == Parâmetros do Body == | ||
+ | |||
+ | ^ Parâmetro ^ Descrição ^ Formato ^ Obrigatório ^ | ||
+ | | index | Índice a ser deletado da lista de callbacks registradas | Inteiro | Sim | | ||
+ | |||
+ | * Obs.: O index pode ser consultado através de um GET, para consulta da lista atual | ||
+ | |||
+ | == Exemplo do Body == | ||
+ | <code> | ||
+ | { | ||
+ | "index": 1 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | == Retorno da Requisição == | ||
+ | ^ Status Code ^ Descrição ^ | ||
+ | | 200 | OK, comando executado com sucesso | | ||
+ | | 500 | Erro processando a requisição | | ||
+ | |||
+ | == Exemplos de Retorno == | ||
+ | <code> | ||
+ | { | ||
+ | "success": false, | ||
+ | "message": "Não foi encontrado nenhum elemento para o índice passado" | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | { | ||
+ | "success": true, | ||
+ | "message": "Operação realizada com sucesso" | ||
+ | } | ||
+ | </code> | ||
+ |