Este artículo es una guía sencilla sobre cómo utilizar la API de CLUe para recuperar registros de eventos del servidor de CLUe.

A continuación se usan ejemplos de CURL y C# WPF .NET.

 

TABLA DE CONTENIDOS

 

Prerrequisito

Para utilizar la API de CLUe, debe tener la siguiente información proporcionada.

  • El PlaceID de tu tienda
  • Clave de API
  • Dispositivo conectado a CLUe para la autenticación

 

Registrar usuario

Para autenticar al usuario en el dispositivo, primero debe registrar al usuario en CLUe.

A continuación, los usuarios se sincronizan automáticamente con los dispositivos conectados en tiempo real.

 

1. Punto final y parámetros de la API

[PUBLICACIÓN] https://api.moon.supremainc.com/v1/be/places/:placeId/auths

 

Encabezado de la solicitud:

Llave

Tipo

Obligatorio

Valor

Autorización

JWT Token

Usar la clave de API obtenida de Suprema

Tipo de contenido

Cuerda

aplicación/json

Aceptar

Cuerda

*/*

 

Variables de ruta:

Llave

Tipo

Obligatorio

Descripción

placeId

Número

El placeID asignado de tu tienda. Por favor, solicite información a Suprema

 

 

 

2. Cuerpo de la solicitud

Solicite la siguiente información a su agente de Suprema.

Campo

Tipo

Obligatorio

Observaciones

usuario

Objeto


user.name

Cuerda


user.key

Cuerda

Clave única que el cliente puede definir.

Auth

Objeto


auth.activeStatus

Cuerda

ACTIVO o INACTIVO

auth.startTime

Número

Tiempo Unix (milisegundo de época)

auth.endTime

Número

Tiempo Unix (milisegundo de época)

auth.doorAccessType

Cuerda

ALL_DOOR o SPECIFIC** Si es SPECIFIC, enumere las puertas en auth.doorIds

auth.scheduleType

Cuerda

ALWAYS o SPECIFIC** Si es SPECIFIC, enumere la programación en auth.scheduleId

auth.scheduleId

Cuerda



auth.doorIds

Arreglo


Lista de puertas

auth.credentials

Objeto


auth.credentials.cards

Arreglo


lista de ID de tarjeta (decimal)

auth.credentials.faceImages

Cuerda


Imagen base64

auth.credentials.pin

Número



autenticación.credenciales.teléfono

Número



 

Muestra:

curl --location 'https://api.moon.supremainc.com/v1/be/places/178/auths' \

--header 'Content-Type: application/json' \

--header 'Autorización: ••••••' \

--datos '{

    "usuario": {

        "key": "1234567",

        "name": "namehere"

    },

    "autenticación": {

        "startTime": 1718809200000,

        "endTime": 1718895540000,

        "doorAccessType": "ESPECÍFICO",

        "doorIds":[234, 235,236],

         "scheduleType":"ESPECÍFICO",

        "scheduleId":333,

        "credenciales": {

            "cartas": [

                {

                    "cardNumber": "12345",

                    "formatType": "CSN"

                }

            ],

             "faceImages":["/9j/4AAQSkZJRgABAQAASABIAA..."]

        },

         "activeStatus":"ACTIVO"

    }

}'

Genérico

 

 

 

 

3. Cuerpo de respuesta

 

Campo

Tipo

Nullable

Observaciones

código

Número

No

Código de respuesta de la API

estado

Booleano

No

Estado de respuesta de la API

Mensaje

Cuerda

No

Mensaje de respuesta de la API

datos

Objeto

No


data.authId

Número

No


data.lastModifiedAt

Número

No


usuario

Objeto

No


user.userId

Número

No


user.key

Cuerda

No


user.name

Cuerda

No


user.realNameAuthStatusType

Cuerda

No


Auth

Objeto

No


auth.startTime

Número

No


auth.endTime

Número

No


auth.doorAccessType

Cuerda

No


auth.scheduleType

Cuerda

No


auth.scheduleId

Número


auth.doors

Objeto


auth.doors.doorId

Cuerda


auth.doors.doorName

Cuerda


auth.credentials

Objeto


auth.credentials.modes

Arreglo


auth.credentials.faceImages

Cuerda


auth.credentials.name

Cuerda


auth.activeStatus

Cuerda

No


 

 

{

    "código": 200,

    "status": verdadero,

    "message": "OK",

    "datos": {

        "authId": 118926,

        "lastModifiedAt": 1718841401642,

        "usuario": {

            "userId": 106569,

             "clave": "34DAB180-A14B-103B-8A4E-1166F21964DA",

            "name": "prueba",

            "realNameAuthStatusType": "REAL_NAME_AUTH_BEFORE"

        },

         "autenticación": {

             "startTime": 1718809200000,

             "endTime": 1718895540000,

             "doorAccessType": "ESPECÍFICO",

            "scheduleType": "ESPECÍFICO",

            "scheduleId": 333,

            "puertas": [

                {

                    "doorId": 234,

                    "doorName": "SmartLight"

                }

            ],

             "credenciales": {

                 "modos": [

                     "CARA"

                 ],

                 "faceImages": [

                     "Datos:Imagen/PNG; base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAA..."

                 ],

                 "name": "prueba"

            },

             "activeStatus": "ACTIVO"

        }

    }

}

HTML

 

 

 

Recuperar registros

 

1. Punto final y parámetros de la API

[OBTENER] https://api.moon.supremainc.com/v1/be/events?startTime=1719932400000&endTime=1720623540000&filterEvents=DEV_FACE_AUTH_SUCCESS%2CDEV_FACE_AUTH_FAIL&page=0&size=200&sort=id%2Casc&placeId={placeID}

 

Encabezado de la solicitud:

Llave

Tipo

Obligatorio

Valor

Autorización

JWT Token

Usar la clave de API obtenida de Suprema

Tipo de contenido

Cuerda

aplicación/json

Aceptar

Cuerda

*/*

 

Parámetro de consulta:

Llave

Tipo

Obligatorio

Descripción

Hora de inicio

Tiempo Unix (milisegundos)

No

Recupere los registros a partir de esta fecha. Debe estar dentro de los 7 días a partir de la fecha de finalización.si no se especifica, se muestran todos los registros

endTime

Tiempo Unix (milisegundos)

No

Recuperar registros hasta esta fechaSi no se especifica, se muestran todos los registros

filterEvents

cuerda

No

Filtrar por eventos

página

Número

No

Los registros se muestran en varias páginas. Si no se especifica, solo se muestran en 1 página.

tamaño

Número

No

número de registros que se van a recuperar desde startTime

q

cuerda

No

consulta

ordenar

cuerda

No

ordene los registros por ID en orden ascendente ('asc') o descendente ('desc')Ejemplo: id,desc

 

 

curl --location 'https://api.moon.supremainc.com/v1/be/events?startTime=1719932400000&endTime=1720623540000&filterEvents=DEV_FACE_AUTH_SUCCESS%2CDEV_FACE_AUTH_FAIL&page=0&size=200&sort=id%2Casc&placeId=' \

--header 'Autorización: Portador api_key_here'

Genérico

 

 

2. Cuerpo de la solicitud

Ninguno

 

3. Cuerpo de respuesta

 

Campo

Tipo

Nullable

Descripción

código

Número

falso

Código de respuesta de la API

estado

Booleano

falso

Estado de respuesta de la API

Mensaje

Cuerda

falso

Mensaje de respuesta de la API

total

Número

falso

Número total de registros recuperados.

data.logId

Número

falso

CLUe el ID de registro del lado del servidor.

data.eventAt

Tiempo Unix

falso

Fecha y hora en que ocurrió el evento.

data.placeId

Número

falso

ID de lugar

data.deviceId

Número

verdadero

ID de dispositivo

data.doorId

Número

verdadero

ID de la puerta

data.doorName

Cuerda

verdadero

Nombre de la puerta

data.authId

Número

verdadero

ID de autenticación

data.userId

Número

verdadero

Clave de usuario

data.useName

Cuerda

verdadero

Nombre de usuario

datos.localLogId

Número

falso

ID de registro del lado del dispositivo

data.eventType

Tipo de evento

falso

Tipo de evento

 

{

    "código": 200,

    "status": verdadero,

    "message": "OK",

    "total": 75,

    "datos": [

        {

            "logId": "XjIAM5ABcB2c2xupDI6m",

            "eventAt": 1718842554980,

            "placeId": 448,

            "deviceId": 1343,

            "doorId": 645,

            "localLogId": 25280,

            "eventType": "DEV_DOOR_RELAY_OFF"

        },

        {

            "logId": "XTIAM5ABcB2c2xupDI6m",

            "eventAt": 1718842553962,

            "placeId": 448,

            "deviceId": 1343,

            "doorId": 645,

            "localLogId": 25279,

            "eventType": "DEV_DOOR_RELAY_ON"

        },

        {

            "logId": "WzIAM5ABcB2c2xupDI6m",

            "eventAt": 1718842553904,

            "placeId": 448,

            "authId": 107909,

            "deviceId": 1343,

            "doorId": 645,

            "doorName": "SupremaJP_In",

            "userId": "c2119100-fbb0-1fdf-82c6-7dba89b5fe29",

            "userName": "jinlee",

            "localLogId": 25278,

            "eventType": "DEV_FACE_AUTH_SUCCESS"

        },

        {

            "logId": "iI7-MpABqzmfp6-HrEH7",

            "eventAt": 1718842462256,

            "placeId": 448,

            "deviceId": 1343,

            "doorId": 645,

            "localLogId": 25277,

            "eventType": "DEV_DOOR_RELAY_OFF"

        },

        {

            "logId": "h47-MpABqzmfp6-HrEH7",

            "eventAt": 1718842461243,

            "placeId": 448,

            "deviceId": 1343,

            "doorId": 645,

            "localLogId": 25276,

            "eventType": "DEV_DOOR_RELAY_ON"

        }

    ]

}

HTML

 

Explicación del evento

  1. DEV_FACE_AUTH_SUCCESS - La plantilla de cara del usuario se registra en el servidor CLUe. Por lo tanto, es exitoso cuando el usuario se autentica desde el dispositivo
  2. VENDOR_AUTH_SUCCESS - Significa que el ID del usuario (ejemplo 64455 arriba) está registrado y se le permite el acceso desde el sistema de terceros.
  3. DEV_DOOR_RELAY_ON - El relé del dispositivo está encendido y la puerta está desbloqueada.
  4. DEV_DOOR_RELAY_OFF - El relé del dispositivo está apagado y la puerta está bloqueada.

 

Ejemplo de flujo de eventos para el éxito de la autenticación

Un diagrama de una nube

Descripción generada automáticamente

 

Ejemplo de flujo de eventos para la autenticación fallida (lado CLUe)

Una nube azul con texto blanco

Descripción generada automáticamente

 

Ejemplo de flujo de eventos para la autenticación fallida (lado del sistema de terceros)

Una nube azul con flechas verdes y texto blanco

Descripción generada automáticamente