| Linha 39: | Linha 39: | ||
<div> | <div> | ||
| − | <span class="label label- | + | <span class="label label-success">Resposta</span> <span class="label label-concrete">JSON</span> |
</div> | </div> | ||
| − | <blockquote><pre> | + | <blockquote class="blockquote-neutral"><pre> |
Resposta | Resposta | ||
| Linha 50: | Linha 50: | ||
Content-Length: 17 | Content-Length: 17 | ||
Connection: keep-alive | Connection: keep-alive | ||
| − | Set-Cookie: BRBOSCookie= | + | Set-Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; expires=Sun, 26 Apr 2020 19:51:49 GMT; path=/ |
Access-Control-Allow-Credentials: true | Access-Control-Allow-Credentials: true | ||
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS | Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS | ||
| Linha 60: | Linha 60: | ||
<span class="label label-info">POST</span> <span class="label label-concrete">/login</span> | <span class="label label-info">POST</span> <span class="label label-concrete">/login</span> | ||
</div> | </div> | ||
| − | |||
| − | |||
| − | |||
| − | |||
<blockquote><pre> | <blockquote><pre> | ||
| Linha 89: | Linha 85: | ||
Content-Length: 17 | Content-Length: 17 | ||
Connection: keep-alive | Connection: keep-alive | ||
| − | Set-Cookie: BRBOSCookie= | + | Set-Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; expires=Sat, 20 Apr 2019 20:56:26 GMT; path=/ |
{"success": true} | {"success": true} | ||
| Linha 104: | Linha 100: | ||
curl -i -X GET \ | curl -i -X GET \ | ||
-H "Accept:application/json" \ | -H "Accept:application/json" \ | ||
| − | -H "Cookie:BRBOSCookie= | + | -H "Cookie:BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a" \ |
<nowiki> 'http://192.168.142.23:8080/controllrctl/dashboard/info'</nowiki> | <nowiki> 'http://192.168.142.23:8080/controllrctl/dashboard/info'</nowiki> | ||
| Linha 110: | Linha 106: | ||
| − | =='''Capturar Informações do | + | =='''Capturar Informações do Provedor'''== |
<div> | <div> | ||
<span class="label label-info">POST</span> <span class="label label-concrete">/site_ctl/config/info</span> | <span class="label label-info">POST</span> <span class="label label-concrete">/site_ctl/config/info</span> | ||
</div> | </div> | ||
| − | |||
<blockquote><pre> | <blockquote><pre> | ||
| Linha 126: | Linha 121: | ||
</pre></blockquote> | </pre></blockquote> | ||
| + | |||
| + | <div> | ||
| + | <span class="label label-info">POST</span> <span class="label label-concrete">/site_ctl/config/info</span> | ||
| + | </div> | ||
| + | <blockquote><pre> | ||
| + | POST /site_ctl/config/info HTTP/1.1 | ||
| + | Host: 192.168.142.23 | ||
| + | Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; | ||
| + | Content-Type: application/x-www-form-urlencoded | ||
| + | Content-Length: 0 | ||
| + | </pre></blockquote> | ||
| + | |||
<div> | <div> | ||
<span class="label label-success">Resposta</span> <span class="label label-concrete">JSON</span> | <span class="label label-success">Resposta</span> <span class="label label-concrete">JSON</span> | ||
</div> | </div> | ||
| − | |||
<blockquote class="blockquote-neutral"><pre> | <blockquote class="blockquote-neutral"><pre> | ||
| Linha 149: | Linha 155: | ||
"change_password": 1 | "change_password": 1 | ||
} | } | ||
| + | </pre></blockquote> | ||
| − | |||
=='''Alterar senha do Login'''== | =='''Alterar senha do Login'''== | ||
| Linha 157: | Linha 163: | ||
<span class="label label-info">POST</span> <span class="label label-concrete">/session/setpassword</span> | <span class="label label-info">POST</span> <span class="label label-concrete">/session/setpassword</span> | ||
</div> | </div> | ||
| − | |||
| − | |||
{| class='table table-responsive table-striped' | {| class='table table-responsive table-striped' | ||
! PROPRIEDADE | ! PROPRIEDADE | ||
| Linha 172: | Linha 176: | ||
|} | |} | ||
| + | <div> | ||
| + | <span class="label label-info">POST</span> <span class="label label-concrete">/session/setpassword</span> | ||
| + | </div> | ||
<blockquote><pre> | <blockquote><pre> | ||
| − | |||
curl -i -X POST \ | curl -i -X POST \ | ||
-H "Content-Type:application/x-www-form-urlencoded" \ | -H "Content-Type:application/x-www-form-urlencoded" \ | ||
| Linha 180: | Linha 186: | ||
-d "user_password_repeat: Nova senha" \ | -d "user_password_repeat: Nova senha" \ | ||
<nowiki>'http://192.168.142.23/session/setpassword'</nowiki> | <nowiki>'http://192.168.142.23/session/setpassword'</nowiki> | ||
| + | </pre></blockquote> | ||
| + | |||
| + | |||
| + | <div> | ||
| + | <span class="label label-info">POST</span> <span class="label label-concrete">/session/setpassword</span> | ||
| + | </div> | ||
| + | <blockquote><pre> | ||
| + | POST/session/setpassword HTTP/1.1 | ||
| + | Host: 192.168.142.23 | ||
| + | Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; | ||
| + | Content-Type: application/x-www-form-urlencoded | ||
| + | Content-Length: 53 | ||
| + | |||
| + | user_password=novasenha&user_password_repeat=novasenha | ||
| + | |||
</pre></blockquote> | </pre></blockquote> | ||
| Linha 186: | Linha 207: | ||
<span class="label label-success">Resposta</span> <span class="label label-concrete">JSON</span> | <span class="label label-success">Resposta</span> <span class="label label-concrete">JSON</span> | ||
</div> | </div> | ||
| − | |||
<blockquote class="blockquote-neutral"><pre> | <blockquote class="blockquote-neutral"><pre> | ||
| − | |||
{ | { | ||
"success": true, | "success": true, | ||
Edição das 13h10min de 2 de maio de 2019
Índice
API
Exemplo de requisição pura. Feita com Telnet para ilustrar como deve ser montada a requisição.
Nestes exemplos estarei usando o IP 192.168.1.2 como EXEMPLO, este IP deverá ser o do servidor que deseja conectar.
POST /login
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "username=admin" \
-d "password=admin" \
'http://[$IP-do-servidor]/login'
Requisição de LOGIN
Requisição POST para http://[IP-SERVIDOR]/login Com body username=USER&password=PASS
POST /login
telnet 192.168.1.2 8080 POST /login HTTP/1.1 Host: 192.168.142.23:8080 Content-Type: application/x-www-form-urlencoded Content-Length: 29 username=admin&password=admin
Resposta JSON
Resposta
HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Sat, 27 Apr 2019 19:41:49 GMT
Content-Type: application/json
Content-Length: 17
Connection: keep-alive
Set-Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; expires=Sun, 26 Apr 2020 19:51:49 GMT; path=/
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
{"success": true}
POST /login
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "username=admin" \
-d "password=admin" \
'http://[$IP-do-servidor]/login'
RESPOSTA - pegar o cookie do cabeçalho Set-Cookie
Na resposta do Login, capturar o cookie que será usado para requisição
Resposta JSON
HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Fri, 20 Apr 2018 20:46:26 GMT
Content-Type: application/json
Content-Length: 17
Connection: keep-alive
Set-Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; expires=Sat, 20 Apr 2019 20:56:26 GMT; path=/
{"success": true}
Para capturar as informações do Dashboard, fazer uma requisição usando o Cookie previamente autenticado.
POST /controllrctl/dashboard/info
curl -i -X GET \
-H "Accept:application/json" \
-H "Cookie:BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a" \
'http://192.168.142.23:8080/controllrctl/dashboard/info'
Capturar Informações do Provedor
POST /site_ctl/config/info
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "username=teste" \
-d "password=12345678" \
'http://192.168.142.23/site_ctl/config/info'
POST /site_ctl/config/info
POST /site_ctl/config/info HTTP/1.1 Host: 192.168.142.23 Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; Content-Type: application/x-www-form-urlencoded Content-Length: 0
Resposta JSON
{
"success": true,
"facebook": {
"page": "https://www.facebook.com/ispcontrollr",
"title": "FACEBOOK"
},
"anatel": {
"scm": "00000",
"title": "Provedor Licenciado"
},
"title": "Meu Provedor",
"theme": "brbyte-light",
"support_open_time": 5,
"print_contract": 1,
"change_password": 1
}
Alterar senha do Login
POST /session/setpassword
| PROPRIEDADE | TIPO | TAMANHO | OBRIGATÓRIO | DESCRIÇÃO |
|---|---|---|---|---|
| user_password | Texto | 8~16 | Sim | Senha |
| user_password_repeat | Texto | 8~16 | Sim | Senha de novo |
POST /session/setpassword
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "user_password: Nova senha" \
-d "user_password_repeat: Nova senha" \
'http://192.168.142.23/session/setpassword'
POST /session/setpassword
POST/session/setpassword HTTP/1.1 Host: 192.168.142.23 Cookie: BRBOSCookie=1c248080a70955b1d8bf7b20a1067c7a; Content-Type: application/x-www-form-urlencoded Content-Length: 53 user_password=novasenha&user_password_repeat=novasenha
Resposta JSON
{
"success": true,
"total": 1,
"results": [
{
"client_username": "teste",
"client_pk": 1
}
]
}
Listagem do Contratos
POST /controllr_client/contract/list
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "limit: 10" \
-d "start: 0" \
-d "sort: contract_pk" \
-d "dir: ASC" \
'http://192.168.142.23/controllr_client/contract/list'
Resposta JSON
{
"success": true,
"total": 1,
"results": [
{
"contract_pk": 3,
"contract_number": 3,
"contract_pay_day": 10,
"contract_amount": "1",
"contract_date_cad": "2018-05-15 16:19:45"
}
]
}
Listagem de Cobranças
POST /invoice_ctl/invoice/list
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "limit: 15" \
-d "start: 0" \
-d "page: 0" \
-d "sort: invoice_date_due" \
-d "dir: DESC" \
'http://192.168.142.23/invoice_ctl/invoice/list'
Resposta JSON
{
"success": true,
"total": 2,
"results": [
{
"contract_pk": null,
"contract_number": null,
"invoice_pk": 11,
"bank_account_code": "0",
"invoice_gn_link": null,
"invoice_date_due": "2018-05-11",
"invoice_amount_document": "15",
"invoice_date_credit": "2018-05-11",
"invoice_amount_paid": "15.00",
"invoice_type": 1,
"invoice_state": 0,
"invoice_obs": 4
},
{
"contract_pk": null,
"contract_number": null,
"invoice_pk": 2,
"bank_account_code": "0",
"invoice_gn_link": null,
"invoice_date_due": "2018-05-09",
"invoice_amount_document": "123",
"invoice_date_credit": "2018-05-14",
"invoice_amount_paid": "123.00",
"invoice_type": 1,
"invoice_state": 0,
"invoice_obs": 4
}
]
}
Listagem de Conexões
POST /controllr_client/cpe/list
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "limit: 15" \
-d "start: 0" \
-d "page: 0" \
-d "sort: contract_pk" \
-d "dir: DESC" \
'http://192.168.142.23/controllr_client/cpe/list'
Resposta JSON
{
"success": true,
"total": 1,
"results": [
{
"network_cpe_pk": 2,
"network_cpe_automac": false,
"network_cpe_autoip": false,
"network_cpe_status": 0,
"network_cpe_ip": "",
"network_cpe_mac": "",
"network_cpe_mac_status": 2,
"network_cpe_ip_status": 2,
"network_cpe_username": "123",
"network_cpe_password": "123",
"network_cpe_authentication_type": 3,
"network_cpe_date_cad": "2018-05-15 16:20:34",
"network_cpe_deleted": false,
"network_cpe_commom_interface": null,
"network_cpe_commom_device_name": null,
"network_cpe_commom_lastip": null,
"network_cpe_commom_rates": null,
"network_cpe_commom_rx_rate": null,
"network_cpe_commom_tx_rate": null,
"network_cpe_commom_distance": null,
"network_cpe_commom_tx_ccq": null,
"network_cpe_commom_signal_rx": null,
"network_cpe_commom_signal_tx": null,
"network_cpe_commom_noisefloor": null,
"network_cpe_commom_idle": null,
"network_cpe_commom_tx_bytes": null,
"network_cpe_commom_rx_bytes": null,
"network_cpe_especdata": null,
"network_cpe_commom_rx_ccq": null,
"network_cpe_commom_ping": null,
"network_cpe_commom_uptime": null,
"network_cpe_lending": 0,
"network_cpe_lastupdate": null,
"network_cpe_reduced_speed": false,
"network_cpe_reduced_speed_date": null,
"network_cpe_turbo_active": false,
"network_cpe_wifi_encryption_type": 0,
"network_cpe_wifi_encryption_password": null,
"network_cpe_access_login": "",
"network_cpe_access_password": "",
"network_cpe_access_port": "22",
"network_cpe_longitude": "0",
"network_cpe_latitude": "0",
"network_cpe_circuit_id": "",
"network_cpe_circuit_id_hex": null,
"network_cpe_fiber": 0,
"network_cpe_fiber_onu_mac": null,
"network_cpe_fiber_device_pk": null,
"network_cpe_fiber_onu_pppoe_svc_name": null,
"network_cpe_req_origin": 0,
"suppliers_pk": null,
"network_devices_pk": 3,
"network_cpe_model_pk": null,
"radius_plans_pk": 1,
"contract_pk": 3,
"network_subnets_pk": 1,
"client_pk": 1,
"panel_pk": 1,
"network_cpe_control_pk": 0
}
]
}
Listagem de Suportes
POST /controllr_client/support/list
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "limit: 10" \
-d "start: 0" \
-d "page: 0" \
-d "sort: os_date_entry" \
-d "dir: ASC" \
'http://192.168.142.23/controllr_client/support/list'
Resposta JSON
{
"success": true,
"total": 1,
"results": [
{
"support_protocol": "2018051515386",
"os_obs": "Sua descrição",
"os_date_entry": "2018-05-15 15:38:45",
"os_date_soluction": null,
"os_date_sched": "2018-05-15 15:38:45",
"os_done": 0,
"os_amount": null,
"task_name": "Viabilidade",
"task_desc": "Teste de viabilidade técnica para instalação de internet"
}
]
}
Criação de Suporte Técnico
POST /controllr_client/support/create
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "priority: 0" \
-d "task_pk: 1" \
-d "phone: 67998083499" \
-d "os_obs: Sua Descrição" \
'http://192.168.142.23/controllr_client/support/create'
Resposta JSON
{
"success": true,
"total": 1,
"results": [
{
"os_pk": -1,
"os_obs": "1.12337081805556",
"os_desc": null,
"os_date_entry": null,
"os_date_soluction": null,
"os_date_sched": null,
"os_done": null,
"os_deleted": null,
"os_amount": null,
"staff_pk": null,
"task_pk": null,
"os_create_type": null,
"support_pk": null
}
]
}
Listagem de Tarefas do Suporte Técnico
POST /controllr_client/support/tasklist
curl -i -X POST \
-H "Content-Type:application/x-www-form-urlencoded" \
-H "Accept:application/json" \
-d "sort: task_name" \
-d "dir: ASC" \
'http://192.168.142.23/controllr_client/support/tasklist'
Resposta JSON
{
"success": true,
"total": 6,
"results": [
{
"task_pk": 5,
"task_name": "Desinstalação"
},
{
"task_pk": 8,
"task_name": "Desinstalação Equipamento"
},
{
"task_pk": 2,
"task_name": "Instalação"
},
{
"task_pk": 3,
"task_name": "Suporte Técnico"
},
{
"task_pk": 4,
"task_name": "Troca de Equipamento"
},
{
"task_pk": 1,
"task_name": "Viabilidade"
}
]
}
