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

De BrByte Wiki
< Controllr‎ | API
Linha 171: Linha 171:
 
"oper":<b style="color:red">10</b> <b style="color:red"> ILIKE </b>
 
"oper":<b style="color:red">10</b> <b style="color:red"> ILIKE </b>
  
<ol>
+
 
<li>    OPER_NONE: (p = 0),
+
01.    OPER_NONE: (p = 0),
<li>    OPER_LESS_THAN: ++p,
+
02.    OPER_LESS_THAN: ++p,
<li>    OPER_GREATER_THAN: ++p,
+
03.    OPER_GREATER_THAN: ++p,
<li>    OPER_LESS_THAN_OR_EQUAL_TO: ++p,
+
04.    OPER_LESS_THAN_OR_EQUAL_TO: ++p,
<li>    OPER_GREATER_THAN_OR_EQUAL_TO: ++p,
+
05.    OPER_GREATER_THAN_OR_EQUAL_TO: ++p,
<li>    OPER_EQUAL: ++p,
+
06.    OPER_EQUAL: ++p,
<li>    OPER_NOT_EQUAL: ++p,
+
07.    OPER_NOT_EQUAL: ++p,
<li>    OPER_IS: ++p,
+
08.    OPER_IS: ++p,
<li>    OPER_IS_NOT: ++p,
+
09.    OPER_IS_NOT: ++p,
<li>    OPER_LIKE: ++p,
+
10.    OPER_LIKE: ++p,
<li>    OPER_ILIKE: ++p,
+
11.    OPER_ILIKE: ++p,
<li>    OPER_INET_IS_LESS_THAN: ++p,
+
12.    OPER_INET_IS_LESS_THAN: ++p,
<li>    OPER_INET_IS_LESS_THAN_OR_EQUAL: ++p,
+
13.    OPER_INET_IS_LESS_THAN_OR_EQUAL: ++p,
<li>    OPER_INET_EQUALS: ++p,
+
14.    OPER_INET_EQUALS: ++p,
<li>    OPER_INET_IS_GREATER_OR_EQUAL: ++p,
+
15.    OPER_INET_IS_GREATER_OR_EQUAL: ++p,
<li>    OPER_INET_IS_GREATER_THAN: ++p,
+
16.    OPER_INET_IS_GREATER_THAN: ++p,
<li>    OPER_INET_IS_NOT_EQUAL: ++p,
+
17.    OPER_INET_IS_NOT_EQUAL: ++p,
<li>    OPER_INET_IS_CONT_W: ++p,
+
18.    OPER_INET_IS_CONT_W: ++p,
<li>    OPER_INET_IS_CONT_W_OR_EQUALS: ++p,
+
19.    OPER_INET_IS_CONT_W_OR_EQUALS: ++p,
<li>    OPER_INET_CONT: ++p,
+
20.    OPER_INET_CONT: ++p,
<li>    OPER_INET_CONT_OR_EQUALS: ++p,
+
21.    OPER_INET_CONT_OR_EQUALS: ++p,
<li>    OPER_IN: ++p
+
22.    OPER_IN: ++p
 
<ol>
 
<ol>
 
<br/>
 
<br/>

Edição das 08h22min de 7 de novembro de 2023

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

Propriedade Descrição Tipo Tamanho
start Parâmetro da posição que deseja que seja listado os clientes. Sendo 0 (zero) a primeira posição Número 0 ~ n
limit Parâmetro para setar o valor da quantidade de clientes que devem ser listados na requisição URL Número 1 ~ n
sort Nome da coluna da tabela que deseja ordenar a sua listagem Texto 2 - 45
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 Booleano -
where Parâmetro de montagem de filtro para listagem de clientes específicos. Where -


Comandos Where

Com a propriedade Where pode ser montado vários filtros para listar o que deseja, sendo cliente por CPF/CNPJ, cobranças em atraso, usuário bloqueado, etc...

A montagem do Where é do tipo json.

Para montar o filtro pode usar 3 tipos:

* field:

Field é usado para selecionar qual é a coluna da tabela.

* oper:

É o código da operação do filtro que irá realizar com essa coluna selecionada. Criamos 22 códigos de operações.

"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


01. OPER_NONE: (p = 0), 02. OPER_LESS_THAN: ++p, 03. OPER_GREATER_THAN: ++p, 04. OPER_LESS_THAN_OR_EQUAL_TO: ++p, 05. OPER_GREATER_THAN_OR_EQUAL_TO: ++p, 06. OPER_EQUAL: ++p, 07. OPER_NOT_EQUAL: ++p, 08. OPER_IS: ++p, 09. OPER_IS_NOT: ++p, 10. OPER_LIKE: ++p, 11. OPER_ILIKE: ++p, 12. OPER_INET_IS_LESS_THAN: ++p, 13. OPER_INET_IS_LESS_THAN_OR_EQUAL: ++p, 14. OPER_INET_EQUALS: ++p, 15. OPER_INET_IS_GREATER_OR_EQUAL: ++p, 16. OPER_INET_IS_GREATER_THAN: ++p, 17. OPER_INET_IS_NOT_EQUAL: ++p, 18. OPER_INET_IS_CONT_W: ++p, 19. OPER_INET_IS_CONT_W_OR_EQUALS: ++p, 20. OPER_INET_CONT: ++p, 21. OPER_INET_CONT_OR_EQUALS: ++p, 22. OPER_IN: ++p


    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 no field .
    "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 Inteiro Depende da coluna que irá filtrar



    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%"}]