1. Introducción
HikCentral Connect es una plataforma de Hikvision para la gestión unificada de la seguridad, que ofrece capacidades abiertas y APIs para la administración de cuentas de usuario, recursos y alarmas/eventos. Este documento presenta las APIs y métodos de llamada.
2. Capabilidades Abiertas
Sistema
Autenticación y obtención de tokens.
Información de la plataforma y usuario.
Recursos
Información de dispositivos, cámaras y alarmas.
Alarmas
Suscripción y gestión de alarmas.
Video
Obtención de direcciones de grabación y reproducción.
3. Ejemplos de Uso con CURL
Autenticación y Obtención de Token
curl -X POST "https://isa.hikcentralconnect.com/api/hccgw/platform/v1/token/get" \ -H "Content-Type: application/json" \ -d '{"appKey":"YOUR_APP_KEY","secretKey":"YOUR_SECRET_KEY"}'
Obtener Información del Sistema
curl -X GET "https://isa.hikcentralconnect.com/api/hccgw/platform/v1/systemproperties" \ -H "Token: YOUR_ACCESS_TOKEN"
Suscripción a Alarmas
curl -X POST "https://isa.hikcentralconnect.com/api/hccgw/alarm/v1/mq/subscribe" \ -H "Content-Type: application/json" \ -H "Token: YOUR_ACCESS_TOKEN" \ -d '{ "subscribeType": 1, "msgType": ["Msg330001","Msg330002"] }'
Obtener Video en Vivo
curl -X POST "https://isa.hikcentralconnect.com/api/hccgw/video/v1/live/address/get" \ -H "Content-Type: application/json" \ -H "Token: YOUR_ACCESS_TOKEN" \ -d '{"resourceId":"CAMERA_RESOURCE_ID","deviceSerial":"DEVICE_SERIAL_NO","type":1}'
4. Ejemplos en Python, C# y React
Para una implementación más detallada y específica de cómo usar la API en lenguajes de programación como Python, C# y frameworks como React, se recomienda revisar la documentación oficial de Hikvision y recursos específicos de desarrollo en estos entornos.
Debido a la naturaleza compleja y dinámica de las APIs, es fundamental consultar la documentación más reciente y ejemplos de código actualizados proporcionados por Hikvision para asegurar la compatibilidad y el rendimiento óptimos.
Ejemplo en Python
import requests url = "https://isa.hikcentralconnect.com/api/hccgw/platform/v1/token/get" headers = {"Content-Type": "application/json"} data = {"appKey": "TU_APPKEY", "secretKey": "TU_SECRETKEY"} response = requests.post(url, json=data, headers=headers) print(response.json())
Ejemplo en C#
using System.Net.Http; using System.Text; using Newtonsoft.Json; var client = new HttpClient(); var url = "https://isa.hikcentralconnect.com/api/hccgw/platform/v1/token/get"; var data = new { appKey = "TU_APPKEY", secretKey = "TU_SECRETKEY" }; var dataString = JsonConvert.SerializeObject(data); var content = new StringContent(dataString, Encoding.UTF8, "application/json"); var response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result);
Ejemplo en React (usando Axios)
import axios from "axios"; const getToken = async () => { const url = "https://isa.hikcentralconnect.com/api/hccgw/platform/v1/token/get"; const data = { appKey: "TU_APPKEY", secretKey: "TU_SECRETKEY", }; try { const response = await axios.post(url, data); console.log(response.data); } catch (error) { console.error(error); } }; getToken();
Obtener Información del Sistema
Una vez autenticados, podemos solicitar información del sistema.
Ejemplo en Python
# Suponiendo que accessToken es el token obtenido en el paso anterior headers = { "Token": accessToken } response = requests.get("https://isa.hikcentralconnect.com/api/hccgw/platform/v1/systemproperties", headers=headers) print(response.json())
Ejemplo en C#
// Suponiendo que accessToken es el token obtenido en el paso anterior client.DefaultRequestHeaders.Add("Token", accessToken); response = await client.GetAsync("https://isa.hikcentralconnect.com/api/hccgw/platform/v1/systemproperties"); result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result);
Ejemplo en React (usando Axios)
const getSystemInfo = async (accessToken) => { const url = "https://isa.hikcentralconnect.com/api/hccgw/platform/v1/systemproperties"; try { const response = await axios.get(url, { headers: { Token: accessToken, }, }); console.log(response.data); } catch (error) { console.error(error); } }; getSystemInfo(TU_ACCESS_TOKEN);
Nota: Reemplazar TU_APPKEY
, TU_SECRETKEY
, y TU_ACCESS_TOKEN
con tus valores reales.
Nota Final
Este resumen proporciona una visión general de la integración con HikCentral Connect OpenAPI. Para un desarrollo efectivo, los desarrolladores deben adaptar estos ejemplos a sus necesidades específicas y seguir las mejores prácticas de seguridad, manejo de errores y optimización de rendimiento recomendadas por Hikvision y la comunidad de desarrolladores.