Saltar al contenido principal

4. Query options

OpciónSoporteNotas
$select✅ síAcepta * y un nivel de navegación (Localidad/name), que expande esa navegación implícitamente.
$filter✅ síVer la sección dedicada.
$orderby✅ síasc/desc y rutas de navegación de muchos a uno.
$top / $skip✅ sí$top no puede superar el tope de página; ver paginación.
$count✅ sí$count=true agrega @odata.count con el total.
$expand✅ síCon opciones anidadas y $expand=*. Ver maestros relacionados.
$search⚠️ según entidadTexto libre sobre las columnas de grilla. 501 si la entidad no lo soporta.
$format⚠️ parcialjson siempre; xml solo en $metadata.
$skiptoken✅ síOpaco: se usa tal como viene en @odata.nextLink.
$apply❌ no501. Agregá del lado del cliente o pedí una vista.
$levels, $compute, $index❌ no501.
aviso

Una opción $ desconocida no se ignora: devuelve 501. Es deliberado, para que un error de tipeo no pase inadvertido devolviendo datos sin filtrar. En cambio los parámetros que no empiezan con $ se ignoran (y se arrastran tal cual al @odata.nextLink).

$select​

?$select=code,name

Si pedís una propiedad que no existe, la respuesta es 400 PropertyNotFound: no se te devuelve una lista sin ese campo.

aviso

La clave no viene si no la pedís. Con $select=name el cuerpo trae name y nada más; la clave queda solamente dentro del @odata.id, de donde se puede extraer, pero no como campo propio. Si la necesitás como dato, incluila en el $select.

# ?$select=name
{
"@odata.id": "https://TU-HOST/synergy-server/jwt-odata-key/o_customers('C0001')",
"name": "Molinos del Sur SA"
}

# ?$select=code,name <- la clave pedida explicitamente
{
"@odata.id": "https://TU-HOST/synergy-server/jwt-odata-key/o_customers('C0001')",
"code": "C0001",
"name": "Molinos del Sur SA"
}

$orderby​

?$orderby=name desc
?$orderby=Localidad/name asc,code desc

El servidor completa el orden con la clave primaria para que sea total y estable: es lo que hace que la paginación no repita ni se saltee filas.

?$search=molinos
?$search="molinos del sur"
?$search=molinos AND rosario
?$search=molinos NOT mayorista

Busca el texto en las columnas de texto marcadas para grilla en el ERP, más el campo descriptivo del maestro. Cada término tiene que aparecer en alguna de ellas. Acepta frases entre comillas dobles y los operadores AND, OR, NOT con paréntesis. Si la entidad no tiene columnas de texto buscables, devuelve 501 SearchNotSupported; el Capabilities.SearchRestrictions del $metadata te lo anticipa.