WhatsApp — Servicio de Notificaciones
Mi Cuenta
Reciba alertas cuando un dispositivo se desconecte o vuelva en linea.
Las fechas y horas se muestran en esta zona horaria.
Mis API Keys
Mis Tuneles VPN
Dashboard
Panel de Puertas
Mis Dispositivos
QR Access
Generar QR de Acceso
Registros QR
Cargando...
Reportes
Kioscos y Telefonia
Camaras
Bodycams
Quién cambió qué y cuándo. Solo acciones que modifican algo; el cuerpo se muestra con contraseñas, secretos, PIN e imágenes ya ocultos.
Documentacion del API
Abrir Swagger UI ↗Authorization: Bearer <api_key>Base URL:
Compatibilidad por Modelo
Funciones disponibles por tipo de dispositivoCargando...
Conceptos Generales
Errores, Rate Limiting, WebhooksTodos los errores retornan JSON con el campo
detail:
Cada cliente tiene un limite de requests por minuto (default: 120/min). Los headers de respuesta incluyen:
Cada webhook incluye una firma HMAC-SHA256 en el header
X-Integratec-Signature. Verifica asi:
* para todos.
| Evento | Cuándo llega |
|---|---|
access.event | Alguien pasó un QR, una tarjeta o su huella por un lector. Es el que dice quién entró. Llega a los pocos segundos. |
door.open / door.close | La puerta se abrió o cerró por orden del API. No cuando alguien pasa una credencial — para eso es access.event. |
person.created / person.deleted | Alta o baja de una persona en un equipo. |
device.online / device.offline | Un equipo volvió o dejó de responder. |
kiosk.online / kiosk.offline | La tablet volvió o dejó de latir. |
kiosk.alerta | El kiosco reportó un problema. |
kiosk.identificacion | Se leyó una cédula en el kiosco. |
bodycam.panico | El oficial apretó el botón de pánico. |
bodycam.turno_abierto / bodycam.turno_cerrado | El oficial abrió o cerró turno. |
bodycam.vivo_caido | Con turno abierto dejó de llegar video. |
bodycam.almacenamiento_lleno | Se acabó el espacio de grabación. |
bodycam.geocerca | Una bodycam entró o salió de una geocerca. |
POST su-url
Content-Type: application/json
X-Integratec-Signature: <HMAC-SHA256 del cuerpo crudo, en hex, con su secret>
{
"event": "access.event",
"data": {
"device_id": "847ba887", "device_name": "BIOMETRICO QR", "door_no": 1,
"card_no": "22558814", "employee_no": "22558814", "person_name": "Juan Perez",
"granted": true, "resultado": "aceptado",
"device_time": "2026-09-18T16:12:13-06:00",
"timestamp": "2026-09-18 22:12:13",
"recibido_en": "2026-09-18 22:12:15",
"major": 5, "minor": 1, "serial": 78, "verify_mode": "cardOrFace"
}
}
device_time es la del equipo con su zona,
timestamp es esa misma en UTC y es la hora del acceso, y
recibido_en es cuándo la captamos. Use timestamp.
Conteste 2xx. Si no, se reintenta 3 veces más (1 s, 5 s y 30 s). El tiempo de espera es de 10 s.
Para probar:
POST /webhooks/{id}/test manda un evento al instante, y
GET /webhooks/{id}/deliveries muestra el historial de entregas.
Dispositivos
6 endpointsHikVision - Personas
5 endpoints| Campo | Tipo | Descripcion |
|---|---|---|
| employee_no | string | ID alfanumerico (1-32 chars, sin especiales) |
| name | string | Nombre de la persona |
| user_type | string | "normal" | "visitor" | "blackList" (default: normal) |
| door_right | string | Puertas con acceso, ej: "1" o "1,2" (default: 1) |
| valid_begin | string | Inicio de vigencia ISO 8601 (default: 2026-01-01T00:00:00) |
| valid_end | string | Fin de vigencia ISO 8601 (default: 2036-12-31T23:59:59) |
| max_open_door_time | int | Max aperturas (0=ilimitado, 1=una sola vez) |
offset, limit. Nota: No disponible en controladoras DS-K2600 (notSupport).HikVision - Rostros
7 endpoints| Campo | Tipo | Descripcion |
|---|---|---|
| employee_no | string | ID del empleado (debe existir como persona) |
| name | string | Nombre de la persona |
| face_url | string | URL de la imagen del rostro (JPG/PNG) |
| fdid | string | ID de la biblioteca de rostros (default: "1") |
| face_lib_type | string | Tipo de biblioteca (default: "blackFD") |
fdid, offset, limit.HikVision - Tarjetas
3 endpoints| Campo | Tipo | Descripcion |
|---|---|---|
| employee_no | string | ID del empleado (debe existir como persona) |
| card_no | string | Numero de tarjeta |
| card_type | string | "normalCard" | "hijackCard" | "superCard" (default: normalCard) |
offset, limit.HikVision - Puertas y Sistema
5 endpoints| Campo | Tipo | Descripcion |
|---|---|---|
| action | string | "open" | "close" | "alwaysOpen" | "alwaysClose" |
| door_no | int | Numero de puerta (default: 1) |
HikVision - Eventos
2 endpoints/events/stream como alternativa.| Campo | Tipo | Descripcion |
|---|---|---|
| start_time | string | Fecha inicio ISO 8601 (ej: 2026-02-01T00:00:00) |
| end_time | string | Fecha fin ISO 8601 |
| major | int | Tipo mayor: 0=todos, 1=alarma, 5=acceso (default: 0) |
| offset | int | Paginacion: inicio (default: 0) |
| limit | int | Paginacion: cantidad (default: 100, max: 500) |
duration (segundos, 1-60, default: 10). Funciona en todos los dispositivos HikVision. Es la unica forma de obtener eventos en controladoras DS-K2600.HikVision - QR Access
3 endpointsdoor_right: "1,2,3,4" para acceso multi-puerta en controladoras.| Campo | Tipo | Descripcion |
|---|---|---|
| device_ids | string[] | Lista de IDs de dispositivos donde registrar |
| name | string | Nombre de la persona |
| valid_begin | string | Inicio de validez (ISO 8601) |
| valid_end | string | Fin de validez (ISO 8601) |
| door_right | string | "1" o "1,2,3,4" para multi-puerta (default: "1") |
| max_open_door_time | int | 0=ilimitado, 1=unico uso (default: 0) |
| access_type | string | "single", "24h", "unlimited" (auto-derivado si se omite) |
| card_type | string | "normalCard" (default) o "hijackCard" (coaccion: abre puerta + alarma silenciosa) |
Codigo de Coaccion (hijackCard)
Cuando se usa card_type: "hijackCard", el QR funciona normalmente (abre la puerta) pero genera una alarma silenciosa en el controlador:
- Evento de alarma:
major=1, minor=1028(Alarma de Coaccion) - La persona ingresa sin que el atacante sospeche
- El evento se captura via alertStream y se almacena en la plataforma
- Ideal para condominios: residente bajo amenaza presenta su QR de coaccion
- La salida de alarma fisica (rele) se configura desde iVMS-4200 o la web del controlador
ZKTeco
6 endpoints| Campo | Tipo | Descripcion |
|---|---|---|
| user_id | string | ID del usuario (ej: "EMP001") |
| name | string | Nombre del usuario |
| uid | int | UID interno (auto-asignado si vacio) |
| privilege | int | 0=Usuario, 2=Enroll, 6=Admin, 14=SuperAdmin (default: 0) |
| password | string | Contrasena (opcional) |
| card | int | Numero de tarjeta (0=ninguna) |
Reportes
3 endpoints| Query Param | Tipo | Descripcion |
|---|---|---|
| from_date | string | Fecha inicio ISO 8601 (default: hoy 00:00) |
| to_date | string | Fecha fin ISO 8601 (default: ahora) |
| device_id | string | Filtrar por dispositivo especifico |
| limit | int | Max registros (default: 500) |
Webhooks
5 endpointssecret para verificar firmas (se muestra una sola vez).| Campo | Tipo | Descripcion |
|---|---|---|
| url | string | URL HTTPS destino (no permite localhost ni IPs privadas) |
| events | string[] | Eventos a suscribir (default: ["*"] = todos) |
