Mudanças entre as edições de "Controllr/API/REST-HTTP"

De BrByte Wiki
< Controllr‎ | API
Linha 113: Linha 113:
  
  
 +
Para listagem dos clientes usando algum filtro especifico deve montar a requisição com os parâmetros corretos.
 +
Utilizando o F12 do seu navegador, irá visualizar os parâmetros que são utilizáveis para montagem da sua URL.
 +
Caminho da opção do desenvolvedor: Aba Network > XHR > Headers
  
{| class="wikitable table-striped" style="margin: auto;"
+
 
 +
<div class="img-responsive align-center">[[Arquivo:controllrctl-client-list.png | link=]]</div>
 +
 +
 
 +
==='''FORM DATA'''===
 +
 
 +
{| class="table table-bordered table-striped" style="margin: auto;"
 +
! style="text-align:center"| Start
 +
|-
 +
|Parâmetro da posição que deseja que seja listado os clientes. Sendo '''0 (zero)''' a primeira posição
 +
|-
 +
|}
 +
 
 +
 
 +
{| class="table table-bordered table-striped" style="margin: auto;"
 +
! style="text-align:center"| Limit
 +
|-
 +
| Parâmetro para setar o valor da quantidade de clientes que devem ser listados na requisição URL
 +
|-
 +
|}
 +
 
 +
 
 +
{| class="table table-bordered table-striped" style="margin: auto;"
 +
! style="text-align:center" | Sort
 +
|-
 +
|Parâmetro de ordenação da coluna de sua listagem. Por padrão é ordenado pela coluna '''client_complete_name''', mas pode escolher qualquer outra de sua escolha
 +
|-
 +
|}
 +
 
 +
 
 +
{| class="table table-bordered table-striped" style="margin: auto;"
 +
! style="text-align:center" | Dir
 +
|-
 +
|Parâmetro de ordenação do maior para o menor ou vice-versa. Sendo '''ASC''' - para ordenar do '''menor''' para o '''maior''' e '''DESC''' - para ordenar do '''maior''' para o '''menor'''
 +
|-
 +
|}
 +
 
 +
 
 +
{| class="table table-bordered table-striped" style="margin: auto;"
 +
! style="text-align:center" colspan="2" | Where
 +
|-
 +
|colspan="2"|Parâmetro de montagem de filtro para listagem de clientes específicos.
 +
|-
 +
|style="text-align:center" colspan="2"| <b> Field </b>
 +
|-
 +
|colspan="2"|Marque a coluna que deseja usar esse filtro e também pode usar com a opção '''AND''', para usar mais de uma coluna no filtro
 +
|-
 +
|style="text-align:center" colspan="2"|<b> Oper </b>
 +
|-
 +
|colspan="2"|É código do filtro que irá usar para a coluna marcada.
 +
|-
 +
|"oper":<b style="color:red">1</b>|| Menor que <b style="color:red"> < </b>
 +
|-
 +
|"oper":<b style="color:red">2</b>||Maior que <b style="color:red"> > </b>
 +
|-
 +
|"oper":<b style="color:red">3</b>||Menor ou igual à <b style="color:red"> <= </b>
 +
|-
 +
|"oper":<b style="color:red">4</b>||Maior ou igual à <b style="color:red"> >= </b>
 +
|-
 +
|"oper":<b style="color:red">5</b>||Igual à <b style="color:red"> = </b>
 +
|-
 +
|"oper":<b style="color:red">6</b>||Diferente de <b style="color:red"> != </b> ou <b style="color:red"> <> </b>
 +
|-
 +
|"oper":<b style="color:red">7</b>||É <b style="color:red"> IS </b>
 +
|-
 +
|"oper":<b style="color:red">8</b>||Não é <b style="color:red"> IS NOT </b>
 +
|-
 +
|"oper":<b style="color:red">9</b>||<b style="color:red"> LIKE </b>
 +
|-
 +
|"oper":<b style="color:red">10</b>||<b style="color:red"> ILIKE </b>
 +
|-
 +
|style="text-align:center" colspan="2"| <b> Value </b>
 +
|-
 +
|colspan="2"|Valor da coluna que deseja utilizar no filtro
 +
|-
 +
|}
 +
 
 +
 +
 
 +
 
 +
{| class="table table-bordered table-striped" style="margin: auto;"
 
! style="text-align:center" colspan="3" | COMANDOS WHERE
 
! style="text-align:center" colspan="3" | COMANDOS WHERE
 
|-
 
|-

Edição das 10h18min de 13 de agosto de 2019

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'


OBS: A área administrativa, deve ser acessada através da porta WEB que por padrão é a 8080

Exemplo http://192.168.144.10:8080

É diferente do acesso dá área do cliente, que utiliza por padrão a porta 80, através do acesso do Hotsite.


Para listagem dos clientes usando algum filtro especifico deve montar a requisição com os parâmetros corretos. Utilizando o F12 do seu navegador, irá visualizar os parâmetros que são utilizáveis para montagem da sua URL. Caminho da opção do desenvolvedor: Aba Network > XHR > Headers


Controllrctl-client-list.png


FORM DATA

Start
Parâmetro da posição que deseja que seja listado os clientes. Sendo 0 (zero) a primeira posição


Limit
Parâmetro para setar o valor da quantidade de clientes que devem ser listados na requisição URL


Sort
Parâmetro de ordenação da coluna de sua listagem. Por padrão é ordenado pela coluna client_complete_name, mas pode escolher qualquer outra de sua escolha


Dir
Parâmetro de ordenação do maior para o menor ou vice-versa. Sendo ASC - para ordenar do menor para o maior e DESC - para ordenar do maior para o menor


Where
Parâmetro de montagem de filtro para listagem de clientes específicos.
Field
Marque a coluna que deseja usar esse filtro e também pode usar com a opção AND, para usar mais de uma coluna no filtro
Oper
É código do filtro que irá usar para a coluna marcada.
"oper":1 Menor que <
"oper":2 Maior que >
"oper":3 Menor ou igual à <=
"oper":4 Maior ou igual à >=
"oper":5 Igual à =
"oper":6 Diferente de  != ou <>
"oper":7 É IS
"oper":8 Não é IS NOT
"oper":9 LIKE
"oper":10 ILIKE
Value
Valor da coluna que deseja utilizar no filtro



COMANDOS WHERE
FIELD CÓDIGO EXEMPLOS
Nome do campo da tabela que irá utilizar o filtro "OPER":1 = Menor Que <
OPER "OPER":2 = Maior Que >
É um número usado para equivalência do parâmetro WHERE
"OPER":3 = Menor ou Igual à <=
"OPER":4 = Maior ou Igual à >=
"OPER":5 = Igual = [{"field":"client.client_doc1","oper":5,"value":"69120603070"}]
"OPER":6 = Diferente  != ou <>
"OPER":7 = é IS
"OPER":8 = Não é IS NOT
VALUE "OPER":9 = LIKE
Valor que usará para retornar o filtro desejado "OPER":10 = ILIKE [{"field":"client.client_complete_name","oper":10,"value":"Teste%"}]