Si desea utilizar BioStar 2 New Local API como una API RESTful para su propia personalización u otros fines, simplemente puede consultar este artículo. Este artículo le ayudará a buscar niveles de acceso en su BioStar 2 mediante el uso de la nueva API local.

 

Este artículo incluye una parte de 'Niveles de acceso de búsqueda' de una aplicación de ejemplo creada para aquellos que podrían necesitar usar la nueva API local de BioStar 2. Es una aplicación de consola de Visual C#.

 

Asegúrese de echar un buen vistazo al código de ejemplo del programa de C# creado para llamadas a la API. Simplemente puede copiar y pegar el código fuente para usar la misma función en su propia integración.

 

También puede ver cómo llamar a las funciones de la API a través de Postman, que es un programa utilizado para las llamadas a la API RESTful.

 

*Antes de empezar

Antes de entrar en los niveles de acceso, debe conocer los grupos de acceso. Grupo de acceso es un concepto más alto que el nivel de acceso. El grupo de acceso se compone de grupos de usuarios y niveles de acceso.

 

Diagrama

Descripción generada automáticamente

 

Parte 1. Llamada a la API y parámetros


  

  1. Cómo buscar niveles de acceso

 

Método

API

Qué hace

Parámetros

OBTENER

/api/access_levels

Buscar todos los niveles de acceso en BioStar 2

*Consulta a continuación

 

[GET] /api/access_levels

[Parámetros]

Nombre

Tipo

*M/O

Explicación

Tipo de parámetro

Límite

Cuerda

O

Número de resultados

 

Compensar

Cuerda

O

Desplazamiento de resultados

 

Order_by

Cuerda

O

Ordene por

 

Consulta

Cuerda

O

Número de resultados (del último valor)

 

Total

Cuerda

O

 

 

* M – Obligatorio, O – Opcional

 

Parte 2. Cuerpo de solicitud y modelo de respuesta

 

[Ejemplo de modelo de valor/parámetros]

 

 

[Modelo de respuesta]

{

"AccessLevelCollection": {

"total": "0"

},

"Respuesta": {

"código": "1003",

"link": "https://support.supremainc.com/en/support/home",

"message": "Éxito"

},

"httpResponseStatus": 200

}

 

[Respuesta: Fallo]

{

"Respuesta": {

"código": "10",

"link": "https://support.supremainc.com/en/support/home",

"message": "Se requiere inicio de sesión".

}

}

 

[Respuesta: Exitosa]

{

"AccessLevelCollection": {

"total": "7",

"filas": [

{

"id": "1",

"nombre": "Todos",

"descripción": "",

"access_level_items": [

{

"id": "14",

"puertas": [

{

"id": "32",

"nombre": "Puerta de prueba"

}

],

"schedule_id": {

"id": "1",

"nombre": "Siempre"

}

}

]

},

{

"id": "3",

"nombre": "lvl_test1",

"descripción": ""

},

{

"id": "15",

"nombre": "Nivel de acceso 0819",

"description": "Creado el 2021-08-19"

},

{

"id": "16",

"name": "Nuevo nivel de acceso",

"description": "Nuevo nivel de acceso Desc"

},

{

"id": "17",

"name": "Nivel de acceso a la consola",

"description": "La consola hizo este nivel de acceso",

"access_level_items": [

{

"id": "12",

"schedule_id": {

"id": "1",

"nombre": "Siempre"

}

}

]

},

{

"id": "18",

"nombre": "como",

"description": "cadena",

"access_level_items": [

{

"id": "13",

"schedule_id": {

"id": "1",

"nombre": "Siempre"

}

}

]

},

{

"id": "20",

"nombre": "as2",

"description": "La consola hizo este nivel de acceso"

}

]

},

"Respuesta": {

"código": "0",

"link": "https://support.supremainc.com/en/support/home",

"message": "Éxito"

}

}

 

Parte 3. Ejemplo de niveles de acceso de búsqueda de consola

 

[Código fuente del método de niveles de acceso de búsqueda]

static async void SearchAccessLevels()

{

Console.WriteLine("*****SearchAccessLevels Task Started*****");

CookieContainer cookieContainer = nuevo CookieContainer();

 

Controlador HttpClientHandler = nuevo HttpClientHandler();

Controlador. CookieContainer = cookieContainer;

 

HttpClient httpClient = nuevo HttpClient(controlador);

 

Cliente HttpClient = nuevo HttpClient(controlador);

httpClient.DefaultRequestHeaders.Add("bs-session-id", sessionID);

cookieContainer.Add(nuevo URI(BioStarIP), nuevo Cookie("bs-session-id", sessionID));

string resourceAddress = BioStarIP + "/api/access_levels";

 

JavaScriptSerializer serializer = nuevo JavaScriptSerializer();

 

HttpResponseMessage httpResponse = httpClient.GetAsync(resourceAddress). Resultado;

 

if (httpResponse.IsSuccessStatusCode == true)

{

string httpResponseBody = await httpResponse.Content.ReadAsStringAsync();

Console.WriteLine(httpResponseBody);

obj dinámico = JsonConvert.DeserializeObject(httpResponseBody);

Console.WriteLine("**** LISTA DE NIVEL DE ACCESO: ****");

int UserTotal = obj. AccessLevelCollection.total;

for (int i = 0; i < UserTotal; i++)

{

Console.WriteLine(obj. AccessLevelCollection.rows[i].id + " " + obj. AccessLevelCollection.rows[i].name);

}

}

más

{

Console.WriteLine("Error en el nivel de acceso de búsqueda.");

Console.WriteLine(httpResponse.ToString());

}

}

 

[Después de buscar los niveles de acceso correctamente]

 

텍스트이(가) 표시된 사진

자동 생성된 설명

 

 

Parte 4. Buscar niveles de acceso a través de Postman

 

[Ejemplo de solicitud: Encabezados]

*Debe usar el valor 'be-session-id' del encabezado de respuesta de la llamada a la API de inicio de sesión para autenticar el uso de la API para otras llamadas a la API.

텍스트, 모니터, 스크린샷, 화면이(가) 표시된 사진

자동 생성된 설명

 

[Ejemplo de solicitud]

 Interfaz gráfica de usuario, aplicación

Descripción generada automáticamente

*No se requiere nada para el cuerpo de solicitud

 

[Ejemplo de respuesta: cuerpo]

텍스트, 스크린샷, 모니터, 화면이(가) 표시된 사진

자동 생성된 설명