API de Undarda Behavior

Conecta el sistema de tu residencial con Undarda Behavior: da de alta personas, reporta incidentes y consulta el semáforo — todo por HTTPS, sin instalar nada.

¿Qué es esto? Tu software (el que ya usas en tu residencial: caseta, base de datos, sistema de acceso) llama a esta API desde donde ya corre. No se instala ningún programa de Undarda. Es como cuando un sitio cobra con una pasarela de pago: tu código hace las llamadas.

URL base: https://api.grupoundarda.com

Todas las respuestas son JSON. Todas las peticiones y respuestas usan UTF-8 y HTTPS obligatorio.

Autenticación

Cada petición lleva tu API key en un encabezado. No uses tokens de usuario ni contraseñas.

# En cada llamada:
X-Undarda-Service-Key: uk_a1b2c3d4e5f6...

La llave identifica a tu residencial y define qué puedes hacer (sus permisos) y cuántas llamadas por minuto (su límite). Cada petición queda auditada.

Obtener una API key

El administrador del residencial la genera desde el portal:

1.Entra a app.grupoundarda.comIntegraciones.
2.Crea una integración, elige sus permisos y su límite por minuto.
3.Copia la llave uk_…se muestra una sola vez. Guárdala en un lugar seguro (variable de entorno, gestor de secretos). Nunca la pongas en código público ni en el navegador.

Si una llave se filtra o deja de usarse, revócala desde el mismo portal — deja de funcionar al instante.

Permisos (scopes)

PermisoQué habilita
subjects:readConsultar personas por documento o nombre (con semáforo).
subjects:writeDar de alta personas en el padrón.
events:writeReportar eventos de comportamiento sobre personas.
watchlist:readDescargar el archivo completo de watchlist (para acceso/cámaras).

Reglas generales

IdempotenciaToda escritura (alta, evento) exige el encabezado Idempotency-Key (mínimo 8 caracteres, único por operación). Si repites la misma llamada con la misma llave de idempotencia, no se duplica: te devolvemos la respuesta original con el encabezado Idempotent-Replay: true. Usa esto para reintentar sin miedo.
Límite de tasaCada API key tiene su tope de solicitudes por minuto. Al excederlo recibes 429. Espera y reintenta.
DocumentosEl documento (INE/CURP/pasaporte) es la llave para cruzar personas de forma confiable — captúralo cuando lo tengas.

GET/service/v1/subjects/lookupsubjects:read

Consultar una persona

Busca por documento exacto (recomendado) o por nombre. Ideal para la caseta: "¿quién es esta persona y de qué color está?".

Parámetros (query): documentType + documentId, o name (mínimo 2 caracteres).

GET /service/v1/subjects/lookup?documentType=INE&documentId=PEREZJ900101
X-Undarda-Service-Key: uk_...

// Respuesta 200 — con coincidencia:
{
  "match": true,
  "subject": {
    "id": "uuid-de-la-persona",
    "kind": "EMPLOYEE",
    "displayName": "JUAN PEREZ LOPEZ",
    "vitalStatus": "ACTIVE",
    "semaforo": { "color": "ROJO", "countDisabling": 1, "countNegative": 0, "countPositive": 2 }
  }
}
// Sin coincidencia:  { "match": false }

Con ?name= la respuesta trae subjects (hasta 5). El semáforo es un indicador de apoyo: la decisión de acceso siempre es del residencial.

POST/service/v1/subjectssubjects:write

Dar de alta una persona

Registra a una persona en el padrón desde tu base de datos. Es el endpoint que "alimenta" Undarda automáticamente.