Hikvision Hikcentral (OpenAPI)
Guía de integración para enviar eventos ANPR desde Hikvision Hikcentral (OpenAPI) hacia la plataforma SITIA.
Descripción General
Hikvision Hikcentral (OpenAPI) es una plataforma empresarial de gestión de seguridad que incluye módulo ANPR/LPR. A través de su OpenAPI, permite suscribirse y recibir eventos de matrículas en tiempo real y reenviarlos a sistemas de terceros como SITIA.
🏗️ Arquitectura de Integración
Requisitos
- Versión: Hikcentral Professional/OpenAPI v2.0 o superior.
- Licencias: Habilitar Third-Party Integration (Partner) y OpenAPI.
- Conectividad: Salida HTTPS hacia la URL de SITIA (Sandbox o Producción).
- Eventos: Suscripción al tipo de evento ANPR:
License Plate Information Uploading(código131622).
Documentación de Referencia
- Manual: Hikcentral Professional OpenAPI Developer Guide (Event Subscription by Event Types).
- Guía de despliegue y debug OpenAPI: HCP Platform OpenAPI Deployment & Online Debug (PDF)
Acerca de la Suscripción de Eventos (OpenAPI)
El servicio OpenAPI permite suscribirse a eventos por tipo. En caso de errores del servicio OpenAPI, al reiniciarlo la suscripción se restablece.
Configuración de Suscripción a ANPR → SITIA
Siga estos pasos para que Hikcentral empuje eventos ANPR hacia SITIA.
Preparación
- Verifique que Hikcentral Professional OpenAPI esté instalado y habilitado (v2.0+).
- Confirme la licencia de Third-Party Integration.
- Tenga a mano la URL de SITIA (sandbox/producción) y el token provistos por SITIA.
Crear partner y otorgar permisos
- Ingrese al Portal OpenAPI y cree un Partner; obtenga su Partner Key y Partner Secret.
- Asigne permisos para el grupo de APIs
Alarm and Event APIal partner creado.
Habilitar la API y configurar con Debug
- Abra
API Listy filtre por el grupoAlarm and Event API. - Habilite la API
Subscribe the events by event type. - Haga clic en
Debugde esa API. - En la ventana de depuración, ingrese el Partner Key y Partner Secret.
- Ejecute una suscripción de prueba apuntando a la URL de SITIA (vea el ejemplo abajo).
Definir payload de suscripción
Configure el payload y los encabezados según la API:
eventTypes(body, requerido): arreglo de códigos de evento. Para ANPR use131622.eventDest(body, requerido): URL REST a la que OpenAPI enviará el callback (HTTP/HTTPS).token(body, opcional): token que OpenAPI incluirá en el encabezado de cada POST para verificación.passBack(body, opcional):0(predeterminado) o1para habilitar el callback.
Ambientes SITIA
Sandbox: https://sandboxsapp.carabineros.cl/api/integration-test/events/vehicle-detected
Producción: será provista por SITIA tras certificación.
Validación y monitoreo
- Genere una lectura ANPR y confirme que SITIA responda con 2xx.
- Ante caídas del servicio receptor, OpenAPI reintenta y cachea hasta 500 eventos por 1 día.
Ejemplos
1) Solicitud de Suscripción
{
"eventTypes": [131622],
"eventDest": "https://sandboxsapp.carabineros.cl/api/integration-test/events/vehicle-detected",
"token": "<token_entregado_por_sitia>"
}Notas sobre headers
Si se define token en la suscripción, Hikcentral lo incluirá en el header de cada POST al eventDest para verificación por SITIA.
2) Formato de Mensaje de Evento (OpenAPI → SITIA)
Los mensajes están en JSON UTF-8 y siguen la estructura general siguiente.
{
"method": "OnEventNotify",
"params": {
"sendTime": "2017-07-01T15:34:01.000+08:00",
"ability": "event_veh",
"events": [
{
"eventId": "c929d9f873eb48439bd2c59df358bbeb",
"srcIndex": "21000000001130001013",
"srcType": "camera",
"srcName": "optional_src_name",
"eventType": 131622,
"status": 0,
"timeout": 30,
"happenTime": "2017-07-01T15:34:01.000+08:00",
"srcParentIdex": "optional-parent",
"data": {
"plateNo": "ABC1234"
}
}
]
}
}3) Ejemplo realista de ANPR
{
"method": "OnEventNotify",
"params": {
"sendTime": "2024-06-04T14:45:01-04:00",
"ability": "event_veh",
"events": [
{
"eventId": "F4BFFB57DE064FD5B6A7955C7665474398",
"srcIndex": 2078,
"srcType": "camera",
"srcName": "CAMERA NAME",
"eventType": 131622,
"status": 0,
"happenTime": "2025-06-06T14:10:33-04:00",
"data": {
"plateNo": "XXXXXX",
"byDir": "8",
"byEntireBelieve": "98"
}
}
]
}
}