search_items

La función search_items se usa para encontrar objetos por propiedades determinadas.

Copied!
svc=core/search_items&params={"spec":{
					"itemsType":"<text>",	
					"propName":"<text>",	
					"propValueMask":"<text>",	
					"sortType":"<text>",
					"propType":"<text>",
					"or_logic":<bool>	
			     },
			     "force":<uint>,			
			     "flags":<long>,			
		         "from":<uint>,			
			     "to":<uint>}

Parámetros

NombreDescripción

spec

Condiciones de búsqueda.

itemsType

Tipo de objetos (vea la lista más abajo).

propName

Nombre de la propiedad por el valor de que desea buscar (vea la lista de propiedades posibles más abajo). Puede usar el carácter |.

propValueMask

Máscara de valor de propiedad. Puede usar los siguientes caracteres: * | , > < =.

sortType

Nombre de la propiedad que se usa para ordenación.

propType

Tipo de propiedad (vea la lista más abajo).

or_logic

Marca de la lógica O para el parámetro propName (vea la sección Búsqueda por varias propiedades).

force

Dependiendo del valor:

  • 0: si se ha realizado la búsqueda, devolver el resultado;
  • 1: iniciar una nueva búsqueda.

flags

Marcas con propiedades para el resultado devuelto. El valor de este parámetro depende del tipo del objeto. Los formatos de objetos de todo tipo y sus marcas se describen en la sección format.

from

Índice del primer objeto devuelto. Para iniciar una nueva búsqueda, especifique 0.

to

Índice del último objeto devuelto. Si está especificado 0, se devuelven todos los elementos que comienzan a partir del índice especificado en el parámetro from.

Tipos de objetos (parámetro itemsType):

  • avl_hw: tipo del dispositivo;
  • avl_resource: recurso;
  • avl_retranslator: repetidor;
  • avl_unit: unidad;
  • avl_unit_group: grupo de unidades;
  • user: usuario;
  • avl_route: ruta.

Propiedades de objetos (parámetros propName y sortType):

  • sys_name: nombre del objeto;
  • sys_id: ID del objeto;
  • sys_unique_id: ID único de la unidad (IMEI);
  • sys_phone_number: número de teléfono de la unidad;
  • sys_phone_number2: segundo número de teléfono de la unidad;
  • sys_user_creator: ID del creador;
  • rel_user_creator_name: nombre del creador;
  • sys_billing_account_guid: ID de la cuenta;
  • rel_billing_account_name: nombre de la cuenta;
  • rel_billing_parent_account_name: nombre de la cuenta padre;
  • rel_billing_plan_name: nombre del plan de facturación;
  • sys_comm_state: estado del dispositivo (1: activado, 0: desactivado);
  • rel_hw_type_name: nombre del dispositivo;
  • rel_hw_type_id: ID del dispositivo;
  • sys_account_balance: saldo de la cuenta;
  • sys_account_days: días para la cuenta;
  • sys_account_enable_parent: derechos de distribuidor (1: sí, 0: no);
  • sys_account_disabled: cuenta bloqueada (1: sí, 0: no);
  • rel_account_disabled_mod_time: hora de la última modificación de la propiedad sys_account_disabled, tiempo UNIX;
  • rel_account_units_usage: cantidad de unidades en la cuenta;
  • rel_last_msg_date: hora del último mensaje, tiempo UNIX;
  • rel_is_account: si el recurso es una cuenta (1: sí, 0: no);
  • login_date: última hora de inicio de sesión, tiempo UNIX;
  • retranslator_enabled: estado del repetidor (1: iniciado, 0: parado);
  • rel_creation_time: hora de creación;
  • rel_group_unit_count: cantidad de unidades en el grupo;
  • rel_customfield_name: nombre del campo personalizado de la unidad;
  • rel_customfield_value: valor del campo personalizado de la unidad;
  • rel_profilefield_name: nombre del campo de perfil de la unidad;
  • rel_profilefield_value: valor del campo de perfil de la unidad;
  • rel_adminfield_name: nombre del campo administrativo de la unidad;
  • rel_adminfield_value: valor del campo administrativo de la unidad;
  • rel_customfield_name: nombre y valor del campo personalizado de la unidad, separados por “:”;
  • rel_profilefield_name: nombre y valor del campo de perfil de la unidad, separados por “:”;
  • rel_adminfield_name: nombre y valor del campo administrativo de la unidad, separados por “:”;

Otros valores de este parámetro se describen en la tabla a continuación.

Tipos de propiedades (parámetro propType):

  • property: propiedad;
  • list: lista;
  • propitemname: nombre del objeto subordinado (por ejemplo, la geocerca es un objeto subordinado del recurso);
  • creatortree: cadena de creadores (la búsqueda de este tipo devuelve la lista de objetos cuya cadena de creadores contiene el usuario especificado en el parámetro propValueMask);
  • accounttree: cadena de cuentas (la búsqueda de este tipo devuelve la lista de objetos cuya cadena de cuentas contiene la cuenta especificada en el parámetro propValueMask);
  • customfield: campos personalizados;
  • profilefield: perfil de la unidad;
  • adminfield: campos administrativos;
  • servicename: servicios.

Si desea buscar objetos subordinados, establezca el valor propitemname para el parámetro propType. Los otros parámetros pueden tener los siguientes valores:

Objeto (parámetro "itemsType")Objeto subrdinado (parámetros "propName" y "sortType")Descripción
avl_unitunit_sensorsSensores.
unit_commandsComandos.
service_intervalsIntervalos de servicio.
avl_resourcedriversConductores.
driver_groupsGrupos de conductores.
jobsTareas.
notificationsNotificaciones.
trailersRemolques.
trailer_groupsGrupos de remolques.
zones_libraryGeocercas.
reporttemplatesPlantillas de informes.
ordersPedidos.
avl_routeroundsRutinas.
route_schedulesHorarios.
avl_retranslatorretranslator_unitsUnidades repetidas.

avl_unit

user

avl_resource

custom_fieldsCampos personalizados.
admin_fieldsCampos administrativos.

Tipos de ordenación

Por defecto, la ordenación directa funciona de la siguiente manera:

  • cualquier nombre se divide en componentes para ordenación (caracteres y números);
  • primero se ordenan los números y luego los caracteres;
  • el carácter “-” se considera un guion y se ordena antes de números (vea la ordenación especial);
  • el sistema admite la ordenación de números de punto (3.12) y números de punto flotante (2e10; 5.1E-2).

Están disponibles los siguientes tipos de ordenación:

TipoDescripción 
Directa

Devuelve valores ordenados en orden ascendente:

"sortType":"<item_property>"
Inversa

Devuelve valores ordenados en orden descendente:

"sortType":"!<item_property>"
Combinada

Devuelve valores ordenados por la primera propiedad, luego, en caso de igualdad de valores, por la segunda propiedad, etc:

"sortType":"<property1>,!<property2>"

Especial

Según este tipo de ordenación, el carácter "-" se considera un número negativo. Por defecto, el carácter "-" se considera un guion, no un signo menos.

"sortType":"-<item_property>"

Búsqueda por múltiples propiedades

Puede buscar objetos por varias propiedades a la vez. Por ejemplo:

Copied!
"itemsType":"avl_resource","propName":"rel_is_account,*","propValueMask":"1,qwe","sortType":"sys_name","propType":"property,customfield"

La cantidad de propiedades en los parámetros propName, propType y propValueMask debe ser la misma, dado que se toman en cuenta juntos.

Por defecto, el parámetro propName funciona con la lógica Y. Esto significa que el resultado de la búsqueda muestra una lista de todas las cuentas (rel_is_account:1) cuyos nombres comienzan con “foo” (sys_name:“foo*”).

Para activar la lógica O para el parámetro propName, especifique ‘or_logic’':1 1 en la solicitud.

Uso de operadores de comparación en la búsqueda

En el parámetro propValueMask, puede usar los siguientes operadores de comparación: <, >, =, >=, <=. Si el campo de búsqueda es una cadena, solo se buscan números al principio del valor. Si el campo es numérico, se analiza todo el valor.

Ejemplo 1:

Copied!
"itemsType":"avl_unit","propName":"sys_name,sys_name","propValueMask":">=32,<33.5"

El resultado de la búsqueda mostrará una lista de todos los objetos cuyos nombres comienzan con números entre 32 y 33.5.

Ejemplo 2:

Copied!
"itemsType":"avl_resource","propName":"sys_account_balance,sys_account_balance","propValueMask":">2,<=23"

El resultado de la búsqueda mostrará una lista de todos los recursos y cuentas cuyo saldo es mayor que 2, pero menor o igual a 23.

También puede usar el operador “=” si el valor del campo comienza con “>” o “<”.

Ejemplo 3:

Copied!
"itemsType":"avl_unit","propName":"sys_name","propValueMask":"=>123<,=<123>"

La búsqueda mostrará una lista de todos los objetos disponibles con los nombres >123< y <123>.

Resultado devuelto

Copied!
{
	"searchSpec":{			/* condiciones de búsqueda */
		"itemsType":"<text>",		/* tipo de objetos */
		"propName":"<text>",		/* nombre de propiedad */
		"propValueMask":"<text>",		/* máscara de valor de propiedad */
		"sortType":"<text>",		/* nombre de propiedad para ordenación */
		"propType":"<text>"		/* tipo de propiedad */
	},
	"dataFlags":<uint>,		/* marcas aplicadas con propiedades */
	"totalItemsCount":<uint>,	/* cantidad de objetos encontrados */
	"indexFrom":<uint>,		/* índice inicial */
	"indexTo":<uint>,		/* índice final */
	"items":[{...}]			/* objetos encontrados */
}

El formato item depende del tipo del objeto. Todos los formatos se describen en la sección format.

Los códigos de errores posibles son:

CódigoDescripción
4Parámetros de entrada incorrectos.
Descargar archivo PDF
Descargar archivo Word

Ver también