SITIA
Métodos de Integración

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ódigo 131622).

Documentación de Referencia

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

  1. Verifique que Hikcentral Professional OpenAPI esté instalado y habilitado (v2.0+).
  2. Confirme la licencia de Third-Party Integration.
  3. Tenga a mano la URL de SITIA (sandbox/producción) y el token provistos por SITIA.

Crear partner y otorgar permisos

  1. Ingrese al Portal OpenAPI y cree un Partner; obtenga su Partner Key y Partner Secret.
  2. Asigne permisos para el grupo de APIs Alarm and Event API al partner creado.

Habilitar la API y configurar con Debug

  1. Abra API List y filtre por el grupo Alarm and Event API.
  2. Habilite la API Subscribe the events by event type.
  3. Haga clic en Debug de esa API.
  4. En la ventana de depuración, ingrese el Partner Key y Partner Secret.
  5. 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 use 131622.
  • 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) o 1 para 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

  1. Genere una lectura ANPR y confirme que SITIA responda con 2xx.
  2. 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"
        }
      }
    ]
  }
}