Esta documentación tiene como objetivo proporcionar toda la información que necesita para trabajar con nuestra API.
El límite de llamadas por cliente es de 60 peticiones por minuto.
Las respuestas son enviadas en formato JSON.
Para todas las peticiones es necesario agregar en la cabecera "Bearer {token}"
.
Para generar un token es necesario consumir el método de Login. Los tokens tienen la vigencia asignada al hacer un login definida en minutos.
El método de login requiere usuario y contraseña. Los accesos los encuentra dentro de su deployment en Control de Acceso -> Dispositivos en el botón "API".
curl --request POST \
"http://localhost/api/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"usuario\": \"dwXdEgOSDd2Mc0DFsHzq\",
\"password\": \"$L,0Z$13#-ARK%4V3M1$vQFE$4Yhiy\"
}"
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL21pY29tLm9wZW5kZXNrLm14L2FwaS9sb2dpbiIsImlhdCI6MTY4MTg2ODYyMCwiZXhwIjoxNjgxODcyMjIwLCJuYmYiOjE2ODE4Njg2MjAsImp0aSI6IlRxQnZzNU91Q2RRM0JRYlMiLCJzdWIiOiIxIiwicHJ2IjoiYjU2MTRlNGEzZDhmMmU2Zjk1MGVmYzZlNWE5NWUzNzJmZmIzN2IzZCJ9.XX_yIs431-oU3tiGjMUYQl3ALNIYFjV2fFI5btOf_bg",
"expiracion": 60,
}
Permite dar de alta un nuevo dispositivo de acceso para hacer uso de la API.
curl --request POST \
"http://localhost/api/control-acceso/dispositivo/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"nombre\": \"Acceso general\",
\"password\": \"Pdlj4_4$sk2\"
}"
{
"mensaje": "Se creó el dispositivo exitosamente"
}
Actualiza datos del dispositivo.
curl --request PUT \
"http://localhost/api/control-acceso/dispositivo/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"nombre\": \"Entrada principal\",
\"numero_serie\": \"F0499483274\",
\"password\": \"pas4f123$rf\"
}"
{
"mensaje": "Dispositivo actualizado exitosamente"
}
Elimina dispositivo de acceso para uso en la API.
curl --request DELETE \
"http://localhost/api/control-acceso/dispositivo/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"mensaje": "Dispositivo eliminado exitosamente"
}
Obtiene las capacidades del hardware del equipo de acceso.
curl --request GET \
--get "http://localhost/api/control-acceso/capacidades/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"soporta_tarjeta": true,
"soporta_huella": true,
"soporta_rostro": true,
"modelo": "DS-K1T341CMFW",
"firmware": "V3.3.8",
"soporta_webhook": true,
"soporta_fecha_hora": true,
"soporta_apertura_puerta": true,
"tipos_autenticacion_soportada": "cardAndPw,card,fp,fpAndPw,fpOrCard,fpAndCard,fpAndCardAndPw,faceOrFpOrCardOrPw,faceAndFp,faceAndPw,faceAndCard,face,faceAndFpAndCard,faceAndPwAndFp,fpOrface,cardOrFace,cardOrFaceOrFp",
"soporta_password": true,
"cantidad_puertas": 1,
"limite_usuarios": 3000,
"limite_tarjetas": 3000,
"limite_rostros": 3000,
"usuarios_registrados": 3,
"soporta_captura_huella": true,
"soporta_captura_rostro": true,
"cantidad_rostros_registrados": 3,
"soporta_deteccion_cubrebocas": true,
"soporta_deteccion_casco": false,
"soporta_deteccion_temperatura": false,
"soporta_capturar_tarjeta": false,
"cantidad_tarjetas_registradas": 0,
"errores": []
}
curl --request GET \
--get "http://localhost/api/control-acceso/reiniciar/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"mensaje": "El equipo ya está reiniciandose"
}
curl --request GET \
--get "http://localhost/api/control-acceso/fecha-hora/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"fecha_hora": "2023-08-05T11:09:36-06:00"
}
Actualiza la fecha y hora del dispositivo.
curl --request PUT \
"http://localhost/api/control-acceso/fecha-hora/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"fecha_hora\": \"2022-04-20T12:52:58-05:00\"
}"
{
"mensaje": "Hora y fecha actualizada correctamente."
}
Sirve para validar si un dispositivo se encuentra en línea.
curl --request GET \
--get "http://localhost/api/control-acceso/estatus/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"en_linea": true,
"canales": 1
}
Obtiene el servidor ISUP al que tiene que apuntar el dispositivo.
curl --request GET \
--get "http://localhost/api/control-acceso/servidor/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"g1.opendesk.mx"
}
Permite asignar un nombre a la puerta y el tiempo de apertura del relevador.
curl --request PUT \
"http://localhost/api/control-acceso/puerta-parametros/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"puerta\": 1,
\"tiempo\": 5,
\"nombre\": \"5\"
}"
{
"mensaje": "Parámetros de puerta actualizados correctamente"
}
curl --request PUT \
"http://localhost/api/control-acceso/puerta/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"puerta\": 1,
\"comando\": \"abrir\"
}"
{
"mensaje": "Comando de puerta ejecutado correctamente"
}
Al configurar este parámetro, el dispositivo de acceso comenzará a enviar todos los eventos en tiempo real de acceso. Es necesario revisar la documentación de Hikvision para validar como llega dicha información.
curl --request PUT \
"http://localhost/api/control-acceso/webhook/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"url\": \"https:\\/\\/miservidor.com\\/webhook\\/<id_dispositivo>\",
\"puerto\": 443
}"
{
"mensaje": "Se registró webhook correctamente."
}
Desuscribe el dispositivo a cualquier webhook previamente configurado.
curl --request DELETE \
"http://localhost/api/control-acceso/webhook/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"mensaje": "Se desuscribió webhook exitosamente."
}
Obtiene los eventos del dispositivo en el rango de fechas establecido. El inicio y fin deben estar este formato: 2022-01-03T14:16:59-06:00. El idenficidaor ayuda a la indexación de búsqueda con paginación. La posición es la página de los eventos que regresa la consulta.
curl --request POST \
"http://localhost/api/control-acceso/eventos/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"inicio\": \"2023-08-01T14:16:59-06:00\",
\"fin\": \"2023-08-02T14:16:59-06:00\",
\"identificador_busqueda\": \"1612382692\",
\"posicion\": \"0\"
}"
{
"eventos": {
"AcsEventSearchResult": {
"MatchList": [
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "18",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Alfredo Jiménez",
"serialNo": 1086,
"time": "2023-08-02T11:10:28-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1087,
"time": "2023-08-02T11:10:28-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1088,
"time": "2023-08-02T11:10:33-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 28,
"serialNo": 1089,
"time": "2023-08-02T11:11:03-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "11",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Héctor Jiménez",
"serialNo": 1090,
"time": "2023-08-02T11:12:34-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1091,
"time": "2023-08-02T11:12:34-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1092,
"time": "2023-08-02T11:12:39-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 28,
"serialNo": 1093,
"time": "2023-08-02T11:13:09-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "17",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Pablo Sepulveda",
"serialNo": 1094,
"time": "2023-08-02T11:17:43-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1095,
"time": "2023-08-02T11:17:43-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "17",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Pablo Sepulveda",
"serialNo": 1096,
"time": "2023-08-02T11:17:45-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1097,
"time": "2023-08-02T11:17:50-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 28,
"serialNo": 1098,
"time": "2023-08-02T11:18:20-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "17",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Pablo Sepulveda",
"serialNo": 1099,
"time": "2023-08-02T12:43:01-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1100,
"time": "2023-08-02T12:43:01-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1101,
"time": "2023-08-02T12:43:06-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 28,
"serialNo": 1102,
"time": "2023-08-02T12:43:36-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "11",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Héctor Jiménez",
"serialNo": 1103,
"time": "2023-08-02T12:59:18-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1104,
"time": "2023-08-02T12:59:18-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1105,
"time": "2023-08-02T12:59:23-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 28,
"serialNo": 1106,
"time": "2023-08-02T12:59:53-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "18",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Alfredo Jiménez",
"serialNo": 1107,
"time": "2023-08-02T13:04:50-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1108,
"time": "2023-08-02T13:04:50-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1109,
"time": "2023-08-02T13:04:55-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "11",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Héctor Jiménez",
"serialNo": 1110,
"time": "2023-08-02T13:05:18-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1111,
"time": "2023-08-02T13:05:18-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 22,
"serialNo": 1112,
"time": "2023-08-02T13:05:23-06:00",
"type": 0
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 28,
"serialNo": 1113,
"time": "2023-08-02T13:05:53-06:00",
"type": 0
},
{
"cardReaderNo": 1,
"cardType": 1,
"currentVerifyMode": "faceOrFpOrCardOrPw",
"doorNo": 1,
"employeeNoString": "17",
"major": 5,
"mask": "no",
"minor": 75,
"name": "Pablo Sepulveda",
"serialNo": 1114,
"time": "2023-08-02T13:42:28-06:00",
"type": 0,
"userType": "normal"
},
{
"currentVerifyMode": "invalid",
"doorNo": 1,
"major": 5,
"mask": "unknown",
"minor": 21,
"serialNo": 1115,
"time": "2023-08-02T13:42:28-06:00",
"type": 0
}
],
"numOfMatches": 30,
"responseStatusStrg": "MORE",
"searchID": "1612382692",
"totalMatches": 41
}
}
}
Crea una nueva persona para posteriormente poder asignarle biométricos.
curl --request POST \
"http://localhost/api/control-acceso/persona/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"P034\",
\"nombre\": \"Pedro Perez\",
\"tipo\": \"visitor\",
\"limiteVisitas\": \"1\",
\"password\": \"8472\",
\"tipoAutenticacion\": \"face\",
\"puertas\": \"1\",
\"inicio\": \"2021-12-01T01:00:00\",
\"fin\": \"2030-12-31T23:59:59\"
}"
{
"mensaje": "Se registró la persona en el dispositivo exitosamente"
}
Actualiza una persona previamente creada, el id debe estar previamente registrado.
curl --request PUT \
"http://localhost/api/control-acceso/persona/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"P034\",
\"nombre\": \"Pedro Perez\",
\"tipo\": \"visitor\",
\"limiteVisitas\": \"1\",
\"password\": \"8472\",
\"tipoAutenticacion\": \"face\",
\"puertas\": \"1\",
\"inicio\": \"2021-12-01T01:00:00\",
\"fin\": \"2030-12-31T23:59:59\"
}"
{
"mensaje": "Se actualizó la persona en el dispositivo exitosamente"
}
Elimina una persona por id.
curl --request DELETE \
"http://localhost/api/control-acceso/persona/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"P034\"
}"
{
"mensaje": "Se eliminó la persona en el dispositivo exitosamente"
}
Obtiene la útlima tarjeta con registro fallido del biométrico para posteriormente enrolarla.
curl --request GET \
--get "http://localhost/api/control-acceso/tarjeta/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"numero_tarjeta": "3558887621"
}
Asigna una tarjeta a una persona previamente registrada.
curl --request PUT \
"http://localhost/api/control-acceso/tarjeta/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"persona_id\": \"P034\",
\"tarjeta\": \"3558887621\"
}"
{
"mensaje": "Se asignó la tarjeta exitosamente"
}
Elimina una tarjeta del biométrico.
curl --request DELETE \
"http://localhost/api/control-acceso/tarjeta/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"tarjeta\": \"3558887621\"
}"
{
"mensaje": "Se eliminó la tarjeta exitosamente"
}
Pone el biométrico en modo enrolamiento para obtener el binario de la huella.
curl --request POST \
"http://localhost/api/control-acceso/huella/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dedo\": 1
}"
{
"dedo": 1,
"huella": "MzAxGzZNFViwBU6FJVicfEr9JiicZV6NJjiU3oRtJjjI6M+JJWjkePKlJXjYbeb1Jkjcaw6BJjjM2x5ZJXjQgj4ZJTisg0pBJDiID1fNJEiIgnYRJTi0fHxFJCisCawVJTjIegWmFUjc6CT5Fji4ZSo9Fxig3kJ1FxiYYUpFFyig2b55J0jgaeJBJ0jg4N3dJyjwbPmhFkiYZf91JiiQ4wm+JmjIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYhMAoROHAt0E6I92ITV3A95QHxMkoA18XBUBU9ABfOwqRnNzD3o6H3OBrgV4jzYhMUYCZY8qEkF1DIJKXmCAuQAFtRURwdwKg0JJgxLhFWkhEjES6Adr/BQBXeQTYXxDdWEhGGUOSDJS6hbgcDkCJEAZ40ckELSIEt7uSjI34QsPawogcwYacAAAAAAAxHM=",
"calidad": 98
}
Asigna una huella previamente capturada a una persona.
curl --request PUT \
"http://localhost/api/control-acceso/huella/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dedo\": 1,
\"persona_id\": \"P034\",
\"huella\": \"MzAxGzZNFViwBU6FJVicfEr9JiicZV6NJjiU3oRtJjjI6M+JJWjkePKlJXjYbeb1Jkjcaw6BJjjM2x5ZJXjQgj4ZJTisg0pBJDiID1fNJEiIgnYRJTi0fHxFJCisCawVJTjIegWmFUjc6CT5Fji4ZSo9Fxig3kJ1FxiYYUpFFyig2b55J0jgaeJBJ0jg4N3dJyjwbPmhFkiYZf91JiiQ4wm+JmjIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYhMAoROHAt0E6I92ITV3A95QHxMkoA18XBUBU9ABfOwqRnNzD3o6H3OBrgV4jzYhMUYCZY8qEkF1DIJKXmCAuQAFtRURwdwKg0JJgxLhFWkhEjES6Adr\\/BQBXeQTYXxDdWEhGGUOSDJS6hbgcDkCJEAZ40ckELSIEt7uSjI34QsPawogcwYacAAAAAAAxHM=\"
}"
{
"mensaje": "Se asignó la huella digital exitosamente"
}
Elimina una huella previamente asignada a una persona.
curl --request DELETE \
"http://localhost/api/control-acceso/huella/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dedo\": 1,
\"persona_id\": \"P034\"
}"
{
"mensaje": "Se eliminó la huella digital exitosamente."
}
Asigna un archivo de imagen con el rostro a una persona.
curl --request POST \
"http://localhost/api/control-acceso/rostro/F0499483274" \
--header "Content-Type: multipart/form-data" \
--header "Accept: multipart/form-data" \
--form "persona_id=P034"\
--form "rostro=@/private/var/folders/f8/17k4lngd5n97r9nh902qd6yh0000gn/T/phpkGDImX"
{
"mensaje": "Se registró el rostro exitosamente"
}
Elimina el rostro previamente asignado a una persona.
curl --request DELETE \
"http://localhost/api/control-acceso/rostro/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"persona_id\": \"P034\"
}"
{
"mensaje": "Se eliminó el rostro exitosamente."
}
Asigna las políticas de detección de cubrebocas si el dispositivo lo soporta.
curl --request PUT \
"http://localhost/api/control-acceso/cubrebocas/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"solicitar\": true,
\"politica\": \"SOLO_ADVERTIR\"
}"
{
"mensaje": "Se actualizó la política de cubrebocas exitosamente."
}
Asigna las políticas de detección de casco si el dispositivo lo soporta.
curl --request PUT \
"http://localhost/api/control-acceso/casco/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"solicitar\": true,
\"politica\": \"SOLO_ADVERTIR\"
}"
{
"mensaje": "Se actualizó la política de casco exitosamente."
}
Asigna las políticas de detección de temperatura si el dispositivo lo soporta.
curl --request PUT \
"http://localhost/api/control-acceso/temperatura/F0499483274" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"medir_temperatura\": true,
\"apertura_puerta_temperatura_anormal\": true,
\"apertura_puerta_sin_registro_persona\": true,
\"temperatura_minima\": \"35\",
\"temperatura_maxima\": \"38.5\"
}"
{
"mensaje": "Se actualizó la política de temperatura exitosamente."
}