Introducción
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 cubrirá el uso más básico de la aplicación de consola BioStar 2 New Local API by C#.
Esta es solo una aplicación de muestra hecha para aquellos que podrían necesitar usar la Nueva API Local de BioStar 2. Es una aplicación de consola de Visual C#.
Funciones
Este artículo cubrirá las siguientes funciones:
- Iniciar sesión
- Buscar usuarios
- Crear usuarios
- Crear usuarios con access group
- Recuperar datos de registro
- Recuperar datos de registro con el pedido por
*Artículo sugerido relacionado con la creación de grupos de access
http://kb.supremainc.com/knowledge/doku.php?id=en:how_to_make_access_groups
A través de este artículo, puede aprender a llamar a una función api para crear usuarios en su servidor BioStar 2. Hubo algunas demandas de que querían agregar a los usuarios para acceder a los grupos mientras los creaban a través de la llamada a la API. Este artículo explicará cómo crear usuarios y agregarlos a grupos de acceso al mismo tiempo mediante una llamada a la API.
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.
Parte 1. Llamada a la API y parámetros
[POST]: /usuarios
[Parámetros]
Grupo | Nombre | Subgrupo | Tipo | *M/O | Explicación | Valor |
Usuario | nombre |
| cuerda | M | Nombre de usuario |
|
| Correo electrónico |
| cuerda | O | Correo electrónico | |
| Foto |
| cuerda | O | Foto de usuario |
|
| Teléfono |
| cuerda | O | Teléfono |
|
| User_id |
| cuerda | M | ID de usuario |
|
| User_group_id | identificación | Entero | M | ID de grupo de usuarios |
|
| Deshabilitado |
| Booleano | M | Estado del usuario | Ex) falso |
| Start_datetime |
| cuerda | M | Fecha de inicio | 2001-01-01T00:00:00.00Z |
| Expiry_datetime |
| cuerda | M | Fecha de caducidad | 2030-12-31T23:59:00.00Z |
| Permiso | Identificación | cuerda | O | ID de permiso | ID de permiso (Get_/api/permissions) 1(Administrador) 2 (Operador de usuario) 3 (Operador de monitoreo) .. (CustomId) 253(Vídeo) 254 (TA) 255(Usuario) 100000(Visitante) |
|
| Nombre | cuerda | O | Prueba |
|
|
| Descripción | cuerda | O | Descripción |
|
|
| Operador – nombre | cuerda | O | Nombre de usuario |
|
|
| Operador[] – owner_id | cuerda | O | ID de permiso | ID de permiso (Get_/api/permissions) 1(Administrador) 2 (Operador de usuario) 3 (Operador de monitoreo) .. (CustomId) 253(Video)(Get_/api/permissions) 1(Administrador) 2 (Operador de usuario) 3 (Operador de monitoreo) .. (CustomId) 253(Vídeo) 254 (TA) 255(Usuario) 100000(Visitante) 254 (TA) 255(Usuario) 100000(Visitante) |
|
| Operador[] – user_id | cuerda | O | ID de usuario |
|
| Access_groups | Nombre | cuerda | O | Nombre del grupo de acceso | Ya existía |
|
| Identificación | Entero | O | ID de grupo de acceso | Ya existía |
| Contraseña |
| cuerda | O | Contraseña |
|
| Anclar |
| cuerda | O | ANCLAR |
|
| Login_id |
| cuerda | O | ID de inicio de sesión |
|
| User_ip |
| cuerda | O | IP del usuario |
|
| Fingerprint_templates[] | Plantilla0 | cuerda | O | Datos binarios de huellas dactilares | Cadena Base64 codificada |
|
| Plantilla1 | cuerda | O | Datos binarios de huellas dactilares | Cadena Base64 codificada |
|
| Finger_mask | Booleano | O | Máscara para los dedos |
|
|
| esNuevo | booleano | O | Nueva huella digital |
|
| Credenciales | Caras[] – raw_image | cuerda | O | Datos de imagen facial |
|
|
| Caras[] – plantillas – plantilla | cuerda | O | Datos de credenciales de Face : datos binarios de Face |
|
|
| Caras[] – Bandera | cuerda | O | Bandera de la cara |
|
|
| Caras[] – useProfile | Booleano | O | Perfil de uso de datos faciales |
|
|
| Caras[] – Índice | Entero | O | Índice facial |
|
| Tarjetas[] | Card_type – id | cuerda | O | ID de tipo de tarjeta | (0:CSN, 1:WIEGAND, 2:SECURE, 3:ACCESS, 4:CSN_MOBILE, 5:WIEGAND_MOBILE, 6:QR/barcode, 7:BioStar 2 QR) |
|
| Card_type – nombre | cuerda | O | Nombre del tipo de tarjeta |
|
|
| Card_type – tipo | cuerda | O | Tipo de tarjeta | (1:CSN, 2:SECURE, 3:ACCESS, 10:CSN_WIEGAND, 4:CSN_MOBILE, 5:WIEGAND_MOBILE, 6:QR/Barcode, 7:BioStar 2 QR) |
|
| Card_type – modo | cuerda | O | Modo de tarjeta | (C:CSN, S:SECURE, A:ACCESS, M:CSN_MOBILE) |
|
| Card_id | cuerda | O | Identificación de la tarjeta |
|
|
| Display_card-id | cuerda | O | ID de tarjeta de visualización |
|
|
| Identificación | cuerda | O | IDENTIFICACIÓN |
|
|
| cardId | cuerda | O | Identificación de la tarjeta Wiegand | (Usa Wiegand) |
|
| Wiegand_format_id – id | cuerda | O | ID de formato Wiegand |
|
|
| Wiegand_format__name | cuerda | O | Nombre de formato Wiegand | (Usa Wiegand) |
* M – Obligatorio, O – Opcional
Parte 2. Cuerpo de solicitud y modelo de respuesta
[Ejemplo de entrada con valores mínimos]
{ "Usuario": { "nombre": "AGTEST", "user_id": "99999", "user_group_id": { "id": 1, "nombre": "Todos los usuarios" }, "deshabilitado": "falso", "start_datetime": "2001-01-01T00:00:00.00Z", "expiry_datetime": "2030-12-31T23:59:00.00Z", "access_groups": [{ "nombre": "TTTEST", "id": 15 } ], "login_id": "api2", "contraseña": "Peter3820@" } } |
[Respuesta: Fallo]
{ "Respuesta": { "código": "202", "link": "https://support.supremainc.com/en/support/home", "message": "El usuario que tiene el mismo ID ya existe" } } |
[Respuesta: Exitosa]
{ "UserCollection": { "total": "1", "filas": [ { "user_id": "99999", "nombre": " AGTEST " } ] }, "Respuesta": { "código": "0", "link": "https://support.supremainc.com/en/support/home", "message": "Éxito" } } |
Parte 3. Ejemplo de creación de usuario de consola con grupo de acceso
[Crear
Código fuente del método Users]
static async void CreateUserTask() { if (sessionID == null) { Console.WriteLine("¡Primero debe iniciar sesión!" ); volver; } 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(new Uri("https://127.0.0.1"), new Cookie("bs-session-id",sessionID));
string resourceAddress = "https://127.0.0.1/api/users";
JavaScriptSerializer serializer = nuevo JavaScriptSerializer(); Console.WriteLine("Introduzca el NOMBRE DE USUARIO:"); string UserName = Console.ReadLine(); Console.WriteLine("Introduzca el ID de usuario:"); string UserID = Console.ReadLine(); Console.WriteLine("Introduzca el ID de inicio de sesión del usuario: "); cadena User_login_id = Console.ReadLine(); Console.WriteLine("Introduzca la CONTRASEÑA DE INICIO DE SESIÓN DEL USUARIO:"); cadena User_login_pw = Console.ReadLine();
string payload2 = "{ \"Usuario\": "; payload2 = payload2 + "{\"name\": \"" + UserName + "\", "; payload2 = payload2 + "\"user_id\": \"" + UserID + "\","; payload2 = payload2 + "\"user_group_id\": { \"id\": 1, \"name\": \"Todos los usuarios\" },\"disabled\": \"false\",\"start_datetime\": \"2001-01-01T00:00:00.00Z\", \"expiry_datetime\": \"2030-12-31T23:59:00.00Z\", "; payload2 = payload2 + "\"access_groups\"": [{\"name\": \"TTTEST\",\"id\": 15 }],"; payload2 = payload2 + "\"login_id\": \""+ User_login_id +"\", "; payload2 = payload2 + "\"password\": \"" + User_login_pw + "\"}}"; Console.WriteLine(payload2); StringContent sc = new StringContent(payload2, Encoding.UTF8, "application/json");
HttpResponseMessage httpResponse = httpClient.PostAsync(resourceAddress, sc). Resultado;
if (httpResponse.IsSuccessStatusCode == true) { Console.WriteLine("Se ha creado el usuario"); string httpResponseBody = await httpResponse.Content.ReadAsStringAsync(); Console.WriteLine(httpResponseBody); } más { Console.WriteLine("Error de creación del usuario"); Console.WriteLine(httpResponse.ToString()); } } |
[Después de crear el usuario correctamente]
Parte 4. Crear usuario con Access Group 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]
[Ejemplo de respuesta: cuerpo]