Skip to main content

Get Devices by Query

Este endpoint permite realizar una búsqueda avanzada de dispositivos, con la posibilidad de agregar múltiples criterios para la búsqueda. Como respuesta se da un arreglo con los dispositivos que cumplen el criterio de búsqueda planteado. Los criterios más relevantes a utilizar son la búsqueda por tags y por aplicación. Cada criterio puede ser evaluado como un valor único, o bien, una variedad de valores ordenados en un arreglo. Con este endpoint se facilita el trabajo de traspasar lógica y conceptos que entienden los usuarios, como por ejemplo los tags, a elementos que sean útiles para utilizar otros servicios de trust, que en su mayoría operan a través de un trust_id que representa a un dispositivo.

Endpoint#

Headers

KeyValueDescription
Content-Typeapplication/json
AuthorizationBearer {{access_token}}access_token obtained in Atenea
Method: POST
URL: https://api.trust.lat/index/v1/device?fields=&page=&per_page=

Query Params:

KeyValueDescription
fieldstrust_id, system_nameFiltro que permite mostrar sólo los campos solicitados, si se desea retornar todo el contenido de la respuesta, omitir el parámetro.
per_page10000Número de elementos presentes dentro de una página.
page1Posición de la página a visualizar.
caution

Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea

Como obtener un access token

Body#

Fields#

Device fields#

  • trust_id: Permite filtrar usando el identificador trust_id asociado al dispositivo a buscar. Opcional.
  • model: Permite filtrar usando el nombre comercial del producto al que corresponde el dispositivo. Opcional.
  • brand: Permite filtrar usando la empresa manufacturadora del dispositivo. Opcional.
  • system_version: Permite filtrar usando la versión del sistema operativo del dispositivo. Opcional.
  • imei: Permite filtrar usando el código único internacional del dispositivo. Opcional.
  • emulator: Permite filtrar usando el valor booleando que indica si la entidad es real o emulada. El formato de este campo debe ser texto, aunque emulator tenga como valor un booleano. Opcional.
  • system_name: Permite filtrar usando el sistema operativo del dispositivo. Opcional.
  • created_at: Permite filtrar usando la fecha de creación del dispositivo. Opcional.
  • updated_at: Permite filtrar usando la fecha de actualización del dispositivo. Opcional.

Apps fields#

  • apps.app_id: Permite filtrar por el identificador de la aplicación. El formato de este campo debe ser texto, aunque el app_id tenga como valor un número. Opcional.
  • apps.tags.<tag_name>: Permite buscar por el tag con el nombre <tag_name> y el valor que acompañe a este campo. Opcional.
  • apps.app_id: Permite filtrar usando la fecha de creación de la aplicación. Opcional.
  • apps.updated_at: Permite buscar usando la fecha de actualización de la aplicación. Opcional.

Other fields#

  • search: Campo que permite hacer una búsqueda de texto sobre los valores de imei y trust_id, entregando resultados que tengan coincidencias parciales. Por ejemplo, si se tiene el valor de search "fff-f", el dispositivo con trust_id "ffffffff-ffff-ffff-ffff-ffffffffffff" arrojará una coincidencia y será incorporado en la respuesta de la request. Opcional.
  • status: Valor booleano utilizado para obtener los registros más actuales. Si su valor es true, se muestran los dispositivos cuya última actualización se realizó a lo más hace un mes; si su valor es false se muestran los que fueron actualizado hace más de un mes. Opcional.

Los campos anteriores son filtros acumulativos, equivalente a un AND de SQL.

Example#

Búsqueda por valor único#

{
"trust_id" : "ffffffff-ffff-ffff-ffff-ffffffffffff",
"system_name" : "android",
"apps.app_id": "1",
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
}

Búsqueda por múltiples valores#

{
"trust_id": [
"ffffffff-ffff-ffff-ffff-ffffffffffff",
"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
],
"system_name": "android",
"apps.app_id": [
"0",
"1",
"99"
],
"apps.tags.departamento": [
"backend",
"mobile",
"frontend",
"design"
],
"apps.tags.afp": "modelo"
}

Code Examples#

curl --location --request POST 'https://api.trust.lat/index/v1/device?fields=trust_id,%20system_name&per_page=10000&page=1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ************' \
--data-raw '{
"apps.app_id": "0",
"apps.tags.departamento": "backend",
"apps.tags.afp": "modelo"
}'

Responses#

HTTP Code: 200 OK#

Devices found, field filter example#

{
"code": 200,
"resource": "Device",
"data": [
{
"system_name": "android",
"trust_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
},
{
"system_name": "android",
"trust_id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
},
{
"system_name": "android",
"trust_id": "cccccccc-cccc-cccc-cccc-cccccccccccc"
},
{
"system_name": "android",
"trust_id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
},
{
"system_name": "android",
"trust_id": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee"
}
],
"message": "Found",
"page": 1,
"per_page": 10000,
"total": 5
}

No matching devices#

{
"code": 200,
"resource": "Device",
"data": [],
"message": "Found",
"page": 1,
"per_page": 10,
"total": 0
}
Last updated on by Jesus Marquez Barrera