Skip to main content

Search Multiple Profiles

Este endpoint permite recuperar la información de un listado de perfiles asociados a la compañia. Como respuesta, se entrega un arreglo de diccionarios con información sobre distintos perfil.

Se puede personalizar el arreglo presente en la respuesta con los parámetros de búsqueda page y per_page, los cuales controlan la páginación de la respuesta. Sus valores por defecto son 1 y 5, respectivamente.

También se encuentran los parámetros fields, el cuál es un string separado por comas regula cuales de los campos de los perfiles son mostrados en las respuestas; y el parámetro disabled_profile, el cuál es un valor booleano, que al tomar un valor true.

Además se puede incluir en el cuerpo de la request campos de un perfil como llave y añadir un string como valor para realizar una búsqueda con perfiles que tengan ese valor.

Endpoint

Headers

KeyValueDescription
Content-Typeapplication/json
AuthorizationBearer {{access_token}}access_token obtained in Atenea
Method: POST
URL: https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles/query

Query Params

Los filtros disponibles son los siguientes:

FieldDescription
pagePosición de la página a visualizar.
per_pageNúmero de elementos presentes dentro de una página.
fieldsString separado por comas que contiene los campos a visualizar en respuesta.
Valores permitidos: nin, origin, username, phone_number, email, name, lastname, birthday, nationality, timezone
disabled_profileCampo booleano que indica si la busqueda debe incluir perfiles deshabilitados. Sólo puede tomar el valor true

Path Variables:

KeyValue ExampleDescription
company_id-1Identificador de la compañia, provisto por la empresa Trust. Obligatorio
caution

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

Como obtener un access token

Body

Fields

Dentro del body, se da la opción de realizar un filtrado más fino, al indicar campos de usuario como llaves y asignarle valores, lo que conlleva a realizar una consultar por todos los usuarios que contenga dicho valor en ese campo.

Todos los campos pueden recibir como valor un string con un valor específico o un arreglo de string, permitiendo generar alternativas de valores (Similar a un operador or).

  • nin: Filtro por identificador Único Nacional de la persona a registrar.
  • origin: Filtro por subdivisión interna de la compañia aplicada al perfil de usuario.
  • username: Filtro por apodo o identificador personalizado creado por el usuario.
  • phone_number: Filtro por número de teléfono utilizado por el usuario para el contacto.
  • email: Filtro por correo electrónico utilizado por el usuario para el contacto
  • name: Filtro por nombre de pila del usuario.
  • lastname: Filtro por apellido o nombre de familia del usuario.
  • birthday: Filtro por fecha de nacimiento del usuario.
  • nationality: Filtro por país de nacimiento del usuario.
  • timezone: Filtro por zona horaria utilizada por el usuario.
  • active: Filtro por valor booleano que setea el estado de acceso al usuario.
  • created_at: Permite filtrar usando la fecha de creación del dispositivo.
  • updated_at: Permite filtrar usando la fecha de actualización del dispositivo.

Example

{
"nin": "123456789",
"nationality": [
"CHL",
"PER",
"BOL"
],
"fields": [
"uuid"
],
"active": [
"true",
"false"
]
}

Code Examples

curl --location --request POST 'https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles/query?page=1&per_page=5&fields=name,lastname,origin' \
--header 'Authorization: Bearer `{{access_token}}`' \
--header 'Content-Type: application/json' \
--data-raw '{
"nin": "123456789",
"nationality": [
"CHL",
"PER",
"BOL"
],
"fields": [
"uuid"
],
"active": [
"true",
"false"
]
}'

Responses

HTTP Code: 200 OK

Multiple Profiles Found

{
"code": 200,
"resource": "Profile",
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"nin": "98765432",
"username": null,
"phone_number": null,
"email": null,
"origin": "test_idp",
"name": "nullson",
"lastname": null,
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
},
{
"uuid": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"nin": "123456789",
"username": "tlat",
"phone_number": "+56911223344",
"email": "tlat@trust.lat",
"origin": "test_idp",
"name": "test",
"lastname": "latin",
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
},
{
"uuid": "gggggggg-gggg-gggg-gggg-gggggggggggg",
"nin": "111111111",
"username": "fassistance",
"phone_number": "+56999887766",
"email": null,
"origin": "test_idp",
"name": "flow",
"lastname": "assistance",
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
}
],
"message": "Found",
"page": 1,
"per_page": 5,
"total": 3
}

Multiple Profiles Found - Filtered Data

{
"code": 200,
"resource": "Profile",
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "nullson",
"lastname": null
},
{
"uuid": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"name": "test",
"lastname": "latin"
},
{
"uuid": "gggggggg-gggg-gggg-gggg-gggggggggggg",
"name": "flow",
"lastname": "assistance"
}
],
"message": "Found",
"page": 1,
"per_page": 5,
"total": 3
}

Multiple Profiles Found - Search Over Field Value)

{
"code": 200,
"resource": "Profile",
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"nin": "98765432",
"username": null,
"phone_number": null,
"email": null,
"origin": "test_idp",
"name": "nullson",
"lastname": null,
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
}
],
"message": "Found",
"page": 1,
"per_page": 5,
"total": 1
}

Multiple Profiles Found - Search Over Non Active Profiles

{
"code": 200,
"resource": "Profile",
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"nin": "98765432",
"username": null,
"phone_number": null,
"email": null,
"origin": "test_idp",
"name": "nullson",
"lastname": null,
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
},
{
"uuid": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"nin": "123456789",
"username": "tlat",
"phone_number": "+56911223344",
"email": "tlat@trust.lat",
"origin": "test_idp",
"name": "test",
"lastname": "latin",
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
},
{
"uuid": "gggggggg-gggg-gggg-gggg-gggggggggggg",
"nin": "111111111",
"username": "fassistance",
"phone_number": "+56999887766",
"email": null,
"origin": "test_idp",
"name": "flow",
"lastname": "assistance",
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
},
{
"uuid": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"nin": "121212121",
"username": null,
"phone_number": "+56999887766",
"email": null,
"origin": "test_idp",
"name": "sapien",
"lastname": "europe",
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": false,
"identification_provider": "test_idp"
}
],
"message": "Found",
"page": 1,
"per_page": 5,
"total": 4
}

No Profile Matches the Query

{
"code": 200,
"resource": "Profile",
"data": [],
"message": "Found",
"page": 1,
"per_page": 5,
"total": 0
}

HTTP Code: 401 Unauthorized

Missing Access Token

{
"status": 401,
"error": "Bearer token is required"
}