This article will guide you through searching for users in BioStar 2 server via BioStar 2 API.  


You can find a more detailed introduction to BioStar 2 New Local API in this article : [BioStar 2 API] How To Use BioStar 2 New Local API 

 

In this article, you can learn how to call an API function to search for the users that are registered to your BioStar 2 server. 

 

This article also includes a sample code of a C# program that incorporates the API, and also an example of API call made via Postman, a program used for building & testing RESTful API calls. 

 

Part 1. API Call & Parameters 

 

[GET]: /users

You can also find information regarding this API in the following link : List All Users API Documentation


[Query Parameters] 

Name

Type

 *M/O

Explanation

limit intOLimit response record(s) by the amount specified on this parameter.
Default value : 0 (or don't add parameter) to show all. 
group_idintOFilter response record(s) according to the group_id specified no this parameter.
Default value: 1 (or don't put parameter) to show all. 
offsetintOShift response record(s) by the amount specified on this parameter.
Default value : 0
order_bybooleanOOrder the response record(s) by the User parameter such as user_id or name. False for ascending, True for descending.
Default value : user_id:false
last_modifiedintOShow response record(s) with User last_modified value which is equal or greater than this parameter value.
Default value : 0 

   * M – Mandatory, O – Optional

 

Part 2. Request Body & Response Model


[No Request Body Example as this API does not have any Body Parameters.] 

[Response Model]

{

UserCollection  Res____UserCollection____6___C{

total       string

example: 8

@desc: User Total

 

rows      [{

user_id string

example: 2

@desc: User Id

 

name    string

example: 11

@desc: User Name

 

gender string

example: 0

@desc: User Gender

 

photo_exists     boolean

example: false

@desc: Use User Photo Exists

 

pin_exists           boolean

example: false

@desc: Use User Pin Exists

 

password_exists              boolean

example: false

@desc: Use User Password Exists

 

updated_count string

example: 1

@desc: User Updated Count

 

last_modified    string

example: 25

@desc: User Last Modified

 

start_datetime string

example: 2001-01-01T00:00:00.00Z

@desc: User Start Datetime

 

expiry_datetime              string

example: 2030-12-31T23:59:00.00Z

@desc: User Expiry Datetime

 

security_level    string

example: 0

@desc: User Security Level

 

display_duration              string

example: 0

@desc: User Display Duration

 

display_count    string

example: 0

@desc: User Display Count

 

inherited             boolean

example: false

@desc: Use User Inherited

 

user_group_id  {

id            string

example: 1010

@desc: User Group Id

 

name    string

example: 123

@desc: User Group Id Name

 

}

disabled               boolean

example: false

@desc: Use User Disabled

 

expired boolean

example: false

@desc: Use User Expired

 

fingerprint_template_count       string

example: 1

@desc: User Fingerprint Template Count

 

face_count         string

example: 0

@desc: User Face Count

 

card_count         string

example: 0

@desc: User Card Count

 

access_groups  [{

id            string

example: 3

@desc: Access Group Id

 

name    string

example: as

@desc: Access Group Name

 

}]

access_groups_in_user_group   [{

id            string

example: 3

@desc: Access Groups In User Group Id

 

name    string

example: as

@desc: Access Groups In User Group Name

 

}]

}]

}

Response            Res____Response___C{

code      string

example: 0

desc : Response.code reference: C:\Program Files\BioStar 2(x64)\nginx\html\resources\messages_en.properties(ACB_ERROR_CODE.XXXXX)

 

link         string

example: https://support.supremainc.com/en/support/home

desc: Link URL

 

message              string

example: Success

desc: Message

 

}

httpResponseStatus       Res____httpResponseStatus___Cinteger

example: 200

desc: HTTP Status Code

 

}


[Response Example: Fail]

{

    "Response": {

        "code": "10",

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

        "message": "Login required."

    }

}


[Response Example: Successful]

{

    "UserCollection": {

        "total": "8",

        "rows": [

            {

                "user_id": "1",

                "name": "Administrator",

                "gender": "0",

                "email": "[email protected]",…

   "Response": {

        "code": "0",

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

        "message": "Success"

    }

}

 

Part 3. Console Search User Example


This is a sample of Visual C# console application made for those who might need some guide for integrating the BioStar 2 New Local API. 

You can simply copy & paste the source code to use the same function in your own integration.

 

[Search Users Method Source Code] 

static async void ListUsers()

        {

            if (sessionID == null)

            {

                Console.WriteLine("You must log in first!");

                return;

            }

 

            CookieContainer cookieContainer = new CookieContainer();

 

            HttpClientHandler handler = new HttpClientHandler();

            handler.CookieContainer = cookieContainer;

 

            HttpClient client = new HttpClient(handler);

 

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

            cookieContainer.Add(new Uri("https://127.0.0.1"), new Cookie("bs-session-id", sessionID));

            HttpResponseMessage httpResponse = client.GetAsync("https://127.0.0.1/api/users").Result;

 

 

            if (httpResponse.IsSuccessStatusCode == true)

            {

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

                //Console.WriteLine(httpResponseBody);

                dynamic obj = JsonConvert.DeserializeObject(httpResponseBody);

                Console.WriteLine("**** USER ID LIST: ****");

                int UserTotal = obj.UserCollection.total;

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

                {

                       Console.WriteLine(obj.UserCollection.rows[i].user_id + "        " + obj.UserCollection.rows[i].name);

                }

            }

            else

            {

                Console.WriteLine("Listing Users Failed");

                   Console.WriteLine(httpResponse.ToString());

            }

        }

 

 

[After Search User Successfully] 

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

자동 생성된 설명

 

*It only outputs the User ID and User Name since the source code only outputs those 2 values of each user.

 

Part 4. Search User via Postman

 

[Request Example: Headers] 

*You must use the ‘be-session-id’ value from the response header of the Login API call to authenticate API use for other API calls.

텍스트, 스크린샷, 모니터, 검은색이(가) 표시된 사진

자동 생성된 설명


[Request Example] 

 

[Response Example: body] 

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

자동 생성된 설명