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:

  1. Iniciar sesión
  2. Buscar usuarios
  3. Crear usuarios
  4. Crear usuarios con access group
  5. Recuperar datos de registro
  6. 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

[email protected]

 

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]

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

자동 생성된 설명