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

Nombre Descripció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 Data 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

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

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.

Tipo de propiedad

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.

Objetos subordinados

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_unit unit_sensors Sensores.
avl_unit unit_commands Comandos.
avl_unit service_intervals Intervalos de servicio.
avl_resource drivers Conductores.
avl_resource driver_groups Grupos de conductores.
avl_resource jobs Tareas.
avl_resource notifications Notificaciones.
avl_resource trailers Remolques.
avl_resource trailer_groups Grupos de remolques.
avl_resource zones_library Geocercas.
avl_resource reporttemplates Plantillas de informes.
avl_resource orders Pedidos.
avl_route rounds Rutinas.
avl_route route_schedules Horarios.
avl_retranslator retranslator_units Unidades repetidas.
avl_unit
user
avl_resource
custom_fields Campos personalizados.
avl_unit
user
avl_resource
admin_fields Campos 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:

Tipo Descripció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 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 Data format.

Los códigos de errores posibles son:

Código Descripción
4 Parámetros de entrada incorrectos.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.

Informar de un error

Su mensaje ha sido enviado. ¡Gracias!

Se produjo un error al enviar el formulario

Descargar archivo PDF
Descargar archivo Word

Ver también