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.
Parte 1. Llamada a la API y parámetros
- 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]
*No se requiere nada para el cuerpo de solicitud
[Ejemplo de respuesta: cuerpo]