Cliente
Quantidade máxima de items retornados.
20Quantidade de items para ignorar antes de retornar resultado.
0O filtro é permitido apenas pelos atributos do objeto principal.
Esta seção descreve e fornece exemplos de filtragem em consultas em tabelas e exibições habilitadas para REST.
A filtragem é o processo de limitar um recurso de coleção usando uma definição de filtro dinâmico por solicitação em vários recursos de página, em que cada página contém um subconjunto de itens encontrados na coleção completa. A filtragem permite a passagem eficiente de grandes coleções.
Para filtrar em uma consulta, inclua o parâmetro q=FilterObject, onde FilterObject é um objeto JSON que representa a seleção e classificação customizadas a serem aplicadas ao recurso. Por exemplo, suponha o seguinte recurso:
https://api.systextil.com
A consulta a seguir inclui um filtro que restringe a coluna NOME_CLIENTE a "SYSTEXTIL":
https://api.systextil.com/comercial/v1/clientes?q={"nome_cliente":"JOHN"}
Gramática FilterObject
FilterObject { orderby , asof, wmembers }
orderby
"$orderby": {orderByMembers}
orderByMembers
orderByProperty
orderByProperty , orderByMembers
orderByProperty
columnName : sortingValue
sortingValue
"ASC"
"DESC"
"-1"
"1"
-1
1
asof
"$asof": date
"$asof": "datechars"
"$asof": scn
"$asof": +int
wmembers
wpair
wpair , wmembers
wpair
columnProperty
complexOperatorProperty
columnProperty
columnName : string
columnName : number
columnName : date
columnName : simpleOperatorObject
columnName : complexOperatorObject
columnName : [complexValues]
columnName
"\p{Alpha}[[\p{Alpha}]]([[\p{Alnum}]#$_])*$"
complexOperatorProperty
complexKey : [complexValues]
complexKey : simpleOperatorObject
complexKey
"$and"
"$or"
complexValues
complexValue , complexValues
complexValue
simpleOperatorObject
complexOperatorObject
columnObject
columnObject
{columnProperty}
simpleOperatorObject
{simpleOperatorProperty}
complexOperatorObject
{complexOperatorProperty}
simpleOperatorProperty
"$eq" : string | number | date
"$ne" : string | number | date
"$lt" : number | date
"$lte" : number | date
"$gt" : number | date
"$gte" : number | date
"$instr" : string
"$ninstr" : string
"$like" : string
"$null" : null
"$notnull" : null
"$between" : betweenValue
betweenValue
[null , betweenNotNull]
[betweenNotNull , null]
[betweenRegular , betweenRegular]
betweenNotNull
number
date
betweenRegular
string
number
date
Definições de tipo de dados incluem o seguinte:
string
JSONString
number
JSONNumber
date
{"$date":"datechars"}
scn
{"$scn": +int}
where
Datechars é um formato de data RFC3339 em UTC (Z)
JSONString
""
" chars "
chars
char
char chars
char
any-Unicode-character except-"-or-\-or-control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
JSONNumber
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-
O FilterObject deve ser codificado de acordo com a Seção 2.1 do RFC3986
Exemplos
A seguir estão exemplos de operadores em especificações de FilterObject.
ORDER BY property ($orderby)
Order by with literals
{
"$orderby": {"SALARY": "ASC","ENAME":"DESC"}
}
Order by with numbers
```json
{ "$orderby": {"SALARY": -1,"ENAME": 1} }
y ($asof)
### With SCN (Implicit)
```json
{
"$asof": 1273919
}
With SCN (Explicit)
{
"$asof": {"$scn": "1273919"}
}
With Date (Implicit)
{
"$asof": "2014-06-30T00:00:00Z"
}
With Date (Explicit)
{
"$asof": {"$date": "2014-06-30T00:00:00Z"}
}
EQUALS operator ($eq)
(Implicit and explicit equality supported._
Implicit (Support String and Dates too)
{
"SALARY": 1000
}
Explicit
{
"SALARY": {"$eq": 1000}
}
Strings
{
"ENAME": {"$eq":"SMITH"}
}
Dates
{
"HIREDATE": {"$date": "1981-11-17T08:00:00Z"}
}
NOT EQUALS operator ($ne)
Number
{
"SALARY": {"$ne": 1000}
}
String
```json
{ "ENAME": {"$ne":"SMITH"} }
#### Dates
```json
{
"HIREDATE": {"$ne": {"$date":"1981-11-17T08:00:00Z"}}
}
LESS THAN operator ($lt)
(Supports dates and numbers only)
Numbers
```json
{ "SALARY": {"$lt": 10000} }
#### Dates
```json
{
"SALARY": {"$lt": {"$date":"1999-12-17T08:00:00Z"}}
}
LESS THAN OR EQUALS operator ($lte)
(Supports dates and numbers only)
Numbers
```json
{ "SALARY": {"$lte": 10000} }
#### Dates
```json
{
"HIREDATE": {"$lte": {"$date":"1999-12-17T08:00:00Z"}}
}
GREATER THAN operator ($gt)
(Supports dates and numbers only)
Numbers
```json
{ "SALARY": {"$gt": 10000} }
#### Dates
```json
{
"SALARY": {"$gt": {"$date":"1999-12-17T08:00:00Z"}}
}
GREATER THAN OR EQUALS operator ($gte)
(Supports dates and numbers only)
Numbers
{
"SALARY": {"$gte": 10000}
}
Dates
{
"HIREDATE": {"$gte": {"$date":"1999-12-17T08:00:00Z"}}
}
In string operator ($instr)
(Supports strings only) ```json { "ENAME": {"$instr":"MC"} }
#### Not in string operator ($ninstr)
(Supports strings only)
```json
{
"ENAME": {"$ninstr":"MC"}
}
####LIKE operator ($like) (Supports strings. Eescape character not supported to try to match expressions with _ or % characters.) ```json { "ENAME": {"$like":"AX%"} }
#### BETWEEN operator ($between)
(Supports string, dates, and numbers)
#### Numbers
```json
{
"SALARY": {"$between": [1000,2000]}
}
Dates
```json
{ "SALARY": {"$between": [{"$date":"1989-12-17T08:00:00Z"},{"$date":"1999-12-17T08:00:00Z"}]} }
#### Strings
```json
{
"ENAME": {"$between": ["A","C"]}
}
Null Ranges ($lte equivalent)
(Supported by numbers and dates only)
{
"SALARY": {"$between": [null,2000]}
}
Null Ranges ($gte equivalent)
(Supported by numbers and dates only)
{
"SALARY": {"$between": [1000,null]}
}
NULL operator ($null)
{
"ENAME": {"$null": null}
}
NOT NULL operator ($notnull)
{
"ENAME": {"$notnull": null}
}
AND operator ($and)
(Supports all operators, including $and and $or)
Column context delegation
(Operators inside $and will use the closest context defined in the JSON tree.)
{
"SALARY": {"$and": [{"$gt": 1000},{"$lt":4000}]}
}
Column context override
(Example: salary greater than 1000 and name like S%)
{
"SALARY": {"$and": [{"$gt": 1000},{"ENAME": {"$like":"S%"}} ] }
}
Implicit and in columns
{
"SALARY": [{"$gt": 1000},{"$lt":4000}]
}
High order AND
(All first columns and or high order operators -- $and and $ors -- defined at the first level of the JSON will be joined and an implicit AND) (Example: Salary greater than 1000 and name starts with S or T)
{
"SALARY": {"$gt": 1000},
"ENAME": {"$or": [{"$like":"S%"}, {"$like":"T%"}]}
}
Invalid expression (operators $lt and $gt lack column context)
{
"$and": [{"$lt": 5000},{"$gt": 1000}]
}
Valid alternatives for the previous invalid expression
{
"$and": [{"SALARY": {"$lt": 5000}}, {"SALARY": {"$gt": 1000}}]
}
{
"SALARY": [{"$lt": 5000},{"$gt": 1000}]
}
{
"SALARY": {"$and": [{"$lt": 5000},{"$gt": 1000}]}
}
OR operator ($or)
(Supports all operators including $and and $or)
Column context delegation
(Operators inside $or will use the closest context defined in the JSON tree)
{
"ENAME": {"$or": [{"$eq":"SMITH"},{"$eq":"KING"}]}
}
Column context override
(Example: name starts with S or salary greater than 1000)
{
"SALARY": {"$or": [{"$gt": 1000},{"ENAME": {"$like":"S%"}} ] }
}
Sucesso.
Não autorizado.
Erro de formatação/json/erro do lado do servidor.
Informa se a integração é assíncrona (false) ou síncrona (true).
Sucesso na inclusão.
Erro em validação de negócio.
Não autorizado.
Requisição não aceita, mais de um item em request.
Requisição não aceita, envio já cadastrado.
Erro de formatação/json/erro do lado do servidor.
Informa se a integração é assíncrona (false) ou síncrona (true).
Sucesso.
2023-08-31T10:20:11.981250Pattern: ^\d{4}-[01]\d-[0123]\dT[012]\d:[0-5]\d:[0-5]\d(.\d+)?(Z|([-+][012]\d:[0-5]\d))$0438e762aae55aa7e06364010a0a3117Não autorizado.
Requisição não aceita, mais de um item em request.
Erro de validação em envio registro não existe para atualização.
Erro de validação em envio novo.
Erro de formatação/json/erro do lado do servidor.
O filtro é permitido apenas pelos atributos do objeto principal.
Esta seção descreve e fornece exemplos de filtragem em consultas em tabelas e exibições habilitadas para REST.
A filtragem é o processo de limitar um recurso de coleção usando uma definição de filtro dinâmico por solicitação em vários recursos de página, em que cada página contém um subconjunto de itens encontrados na coleção completa. A filtragem permite a passagem eficiente de grandes coleções.
Para filtrar em uma consulta, inclua o parâmetro q=FilterObject, onde FilterObject é um objeto JSON que representa a seleção e classificação customizadas a serem aplicadas ao recurso. Por exemplo, suponha o seguinte recurso:
https://api.systextil.com
A consulta a seguir inclui um filtro que restringe a coluna NOME_CLIENTE a "SYSTEXTIL":
https://api.systextil.com/comercial/v1/clientes?q={"nome_cliente":"JOHN"}
Gramática FilterObject
FilterObject { orderby , asof, wmembers }
orderby
"$orderby": {orderByMembers}
orderByMembers
orderByProperty
orderByProperty , orderByMembers
orderByProperty
columnName : sortingValue
sortingValue
"ASC"
"DESC"
"-1"
"1"
-1
1
asof
"$asof": date
"$asof": "datechars"
"$asof": scn
"$asof": +int
wmembers
wpair
wpair , wmembers
wpair
columnProperty
complexOperatorProperty
columnProperty
columnName : string
columnName : number
columnName : date
columnName : simpleOperatorObject
columnName : complexOperatorObject
columnName : [complexValues]
columnName
"\p{Alpha}[[\p{Alpha}]]([[\p{Alnum}]#$_])*$"
complexOperatorProperty
complexKey : [complexValues]
complexKey : simpleOperatorObject
complexKey
"$and"
"$or"
complexValues
complexValue , complexValues
complexValue
simpleOperatorObject
complexOperatorObject
columnObject
columnObject
{columnProperty}
simpleOperatorObject
{simpleOperatorProperty}
complexOperatorObject
{complexOperatorProperty}
simpleOperatorProperty
"$eq" : string | number | date
"$ne" : string | number | date
"$lt" : number | date
"$lte" : number | date
"$gt" : number | date
"$gte" : number | date
"$instr" : string
"$ninstr" : string
"$like" : string
"$null" : null
"$notnull" : null
"$between" : betweenValue
betweenValue
[null , betweenNotNull]
[betweenNotNull , null]
[betweenRegular , betweenRegular]
betweenNotNull
number
date
betweenRegular
string
number
date
Definições de tipo de dados incluem o seguinte:
string
JSONString
number
JSONNumber
date
{"$date":"datechars"}
scn
{"$scn": +int}
where
Datechars é um formato de data RFC3339 em UTC (Z)
JSONString
""
" chars "
chars
char
char chars
char
any-Unicode-character except-"-or-\-or-control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
JSONNumber
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digit digits
e
e
e+
e-
E
E+
E-
O FilterObject deve ser codificado de acordo com a Seção 2.1 do RFC3986
Exemplos
A seguir estão exemplos de operadores em especificações de FilterObject.
ORDER BY property ($orderby)
Order by with literals
{
"$orderby": {"SALARY": "ASC","ENAME":"DESC"}
}
Order by with numbers
```json
{ "$orderby": {"SALARY": -1,"ENAME": 1} }
y ($asof)
### With SCN (Implicit)
```json
{
"$asof": 1273919
}
With SCN (Explicit)
{
"$asof": {"$scn": "1273919"}
}
With Date (Implicit)
{
"$asof": "2014-06-30T00:00:00Z"
}
With Date (Explicit)
{
"$asof": {"$date": "2014-06-30T00:00:00Z"}
}
EQUALS operator ($eq)
(Implicit and explicit equality supported._
Implicit (Support String and Dates too)
{
"SALARY": 1000
}
Explicit
{
"SALARY": {"$eq": 1000}
}
Strings
{
"ENAME": {"$eq":"SMITH"}
}
Dates
{
"HIREDATE": {"$date": "1981-11-17T08:00:00Z"}
}
NOT EQUALS operator ($ne)
Number
{
"SALARY": {"$ne": 1000}
}
String
```json
{ "ENAME": {"$ne":"SMITH"} }
#### Dates
```json
{
"HIREDATE": {"$ne": {"$date":"1981-11-17T08:00:00Z"}}
}
LESS THAN operator ($lt)
(Supports dates and numbers only)
Numbers
```json
{ "SALARY": {"$lt": 10000} }
#### Dates
```json
{
"SALARY": {"$lt": {"$date":"1999-12-17T08:00:00Z"}}
}
LESS THAN OR EQUALS operator ($lte)
(Supports dates and numbers only)
Numbers
```json
{ "SALARY": {"$lte": 10000} }
#### Dates
```json
{
"HIREDATE": {"$lte": {"$date":"1999-12-17T08:00:00Z"}}
}
GREATER THAN operator ($gt)
(Supports dates and numbers only)
Numbers
```json
{ "SALARY": {"$gt": 10000} }
#### Dates
```json
{
"SALARY": {"$gt": {"$date":"1999-12-17T08:00:00Z"}}
}
GREATER THAN OR EQUALS operator ($gte)
(Supports dates and numbers only)
Numbers
{
"SALARY": {"$gte": 10000}
}
Dates
{
"HIREDATE": {"$gte": {"$date":"1999-12-17T08:00:00Z"}}
}
In string operator ($instr)
(Supports strings only) ```json { "ENAME": {"$instr":"MC"} }
#### Not in string operator ($ninstr)
(Supports strings only)
```json
{
"ENAME": {"$ninstr":"MC"}
}
####LIKE operator ($like) (Supports strings. Eescape character not supported to try to match expressions with _ or % characters.) ```json { "ENAME": {"$like":"AX%"} }
#### BETWEEN operator ($between)
(Supports string, dates, and numbers)
#### Numbers
```json
{
"SALARY": {"$between": [1000,2000]}
}
Dates
```json
{ "SALARY": {"$between": [{"$date":"1989-12-17T08:00:00Z"},{"$date":"1999-12-17T08:00:00Z"}]} }
#### Strings
```json
{
"ENAME": {"$between": ["A","C"]}
}
Null Ranges ($lte equivalent)
(Supported by numbers and dates only)
{
"SALARY": {"$between": [null,2000]}
}
Null Ranges ($gte equivalent)
(Supported by numbers and dates only)
{
"SALARY": {"$between": [1000,null]}
}
NULL operator ($null)
{
"ENAME": {"$null": null}
}
NOT NULL operator ($notnull)
{
"ENAME": {"$notnull": null}
}
AND operator ($and)
(Supports all operators, including $and and $or)
Column context delegation
(Operators inside $and will use the closest context defined in the JSON tree.)
{
"SALARY": {"$and": [{"$gt": 1000},{"$lt":4000}]}
}
Column context override
(Example: salary greater than 1000 and name like S%)
{
"SALARY": {"$and": [{"$gt": 1000},{"ENAME": {"$like":"S%"}} ] }
}
Implicit and in columns
{
"SALARY": [{"$gt": 1000},{"$lt":4000}]
}
High order AND
(All first columns and or high order operators -- $and and $ors -- defined at the first level of the JSON will be joined and an implicit AND) (Example: Salary greater than 1000 and name starts with S or T)
{
"SALARY": {"$gt": 1000},
"ENAME": {"$or": [{"$like":"S%"}, {"$like":"T%"}]}
}
Invalid expression (operators $lt and $gt lack column context)
{
"$and": [{"$lt": 5000},{"$gt": 1000}]
}
Valid alternatives for the previous invalid expression
{
"$and": [{"SALARY": {"$lt": 5000}}, {"SALARY": {"$gt": 1000}}]
}
{
"SALARY": [{"$lt": 5000},{"$gt": 1000}]
}
{
"SALARY": {"$and": [{"$lt": 5000},{"$gt": 1000}]}
}
OR operator ($or)
(Supports all operators including $and and $or)
Column context delegation
(Operators inside $or will use the closest context defined in the JSON tree)
{
"ENAME": {"$or": [{"$eq":"SMITH"},{"$eq":"KING"}]}
}
Column context override
(Example: name starts with S or salary greater than 1000)
{
"SALARY": {"$or": [{"$gt": 1000},{"ENAME": {"$like":"S%"}} ] }
}
Sucesso.
2023-08-31T10:20:11.981250Pattern: ^\d{4}-[01]\d-[0123]\dT[012]\d:[0-5]\d:[0-5]\d(.\d+)?(Z|([-+][012]\d:[0-5]\d))$0438e762aae55aa7e06364010a0a3117Não autorizado.
Requisição não aceita, mais de um item em request.
Erro de validação em envio registro não existe para atualização.
Erro de validação em envio novo.
Erro de formatação/json/erro do lado do servidor.
Atualizado
Isto foi útil?
