Monitoreo de alarmas
Monitoreo de alarmas
Crea integraciones de monitoreo de alarmas con la API de Rhombus: rastrea ubicaciones, despacha respondedores y administra casos de amenaza en tiempo real.
En esta página
- Descripción general
- Requisitos previos
- Verificar el estado del monitoreo
- Estado a nivel de organización
- Estado por ubicación específica
- Habilitar y deshabilitar el monitoreo
- Habilitar el monitoreo
- Deshabilitar el monitoreo
- Administrar casos de amenaza
- Obtener casos de amenaza
- Responder a casos de amenaza
- Administrar PINs de ubicación
- Crear un PIN
- Eliminar un PIN
- Trabajar con alertas de políticas
- Obtener alertas de políticas
- Descartar una alerta de política
- Próximos pasos
Esta página se tradujo automáticamente. Si encuentras errores o tienes sugerencias, escríbenos.
Descripción general
El monitoreo de alarmas de Rhombus ofrece una administración centralizada de seguridad para tus ubicaciones. A través de la API, puedes habilitar o deshabilitar el monitoreo por ubicación, responder a casos de amenaza en tiempo real, administrar PINs de teclado y obtener alertas de políticas. Esto es especialmente útil para construir paneles de seguridad personalizados, automatizar flujos de respuesta ante alarmas o integrar las alarmas de Rhombus en una plataforma de monitoreo de terceros.
Cuando el monitoreo está habilitado para una ubicación, las cámaras y sensores de Rhombus detectan eventos de seguridad y generan casos de amenaza. Tu aplicación puede entonces obtener, escalar, descartar o cancelar esos casos de amenaza de forma programática.
Requisitos previos
Antes de comenzar, asegúrate de tener:
- Una clave de API de Rhombus con permisos de monitoreo de alarmas (generada en la Consola de Rhombus en Configuración → Integraciones y recursos para desarrolladores → Tokens de API)
- Una licencia de monitoreo de alarmas activa en tu organización
- Al menos una ubicación configurada con cámaras o sensores inscritos en monitoreo de alarmas
Verificar el estado del monitoreo
Usa el endpoint de estado a nivel de organización para ver qué ubicaciones tienen el monitoreo habilitado, o consulta una ubicación específica directamente.
Estado a nivel de organización
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/orgStatus",
headers=headers,
json={}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/orgStatus', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/orgStatus \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{}'Estado por ubicación específica
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/locationStatus",
headers=headers,
json={
"locationUuid": "YOUR_LOCATION_UUID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/locationStatus', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
locationUuid: 'YOUR_LOCATION_UUID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/locationStatus \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"locationUuid": "YOUR_LOCATION_UUID"}'También puedes obtener la configuración completa del monitoreo de alarmas para una ubicación, incluyendo el estado de armado y los horarios configurados:
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/getAlertMonitoringSettingsForLocation",
headers=headers,
json={
"locationUuid": "YOUR_LOCATION_UUID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/getAlertMonitoringSettingsForLocation', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
locationUuid: 'YOUR_LOCATION_UUID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/getAlertMonitoringSettingsForLocation \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"locationUuid": "YOUR_LOCATION_UUID"}'Habilitar y deshabilitar el monitoreo
Activa o desactiva el monitoreo de alarmas para una ubicación específica. Cuando habilitas el monitoreo, el sistema comienza a vigilar eventos de seguridad en esa ubicación. Cuando lo deshabilitas, la generación de casos de amenaza se detiene.
Habilitar el monitoreo
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/enableMonitoringForLocation",
headers=headers,
json={
"locationUuid": "YOUR_LOCATION_UUID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/enableMonitoringForLocation', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
locationUuid: 'YOUR_LOCATION_UUID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/enableMonitoringForLocation \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"locationUuid": "YOUR_LOCATION_UUID"}'Deshabilitar el monitoreo
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/disableMonitoringForLocation",
headers=headers,
json={
"locationUuid": "YOUR_LOCATION_UUID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/disableMonitoringForLocation', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
locationUuid: 'YOUR_LOCATION_UUID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/disableMonitoringForLocation \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"locationUuid": "YOUR_LOCATION_UUID"}'Puedes automatizar los horarios de monitoreo habilitándolo y deshabilitándolo en momentos específicos mediante un cron job o un scheduler en tu aplicación.
Administrar casos de amenaza
Los casos de amenaza representan eventos de seguridad detectados que requieren respuesta. Cuando una cámara o sensor detecta actividad sospechosa en una ubicación monitoreada, el sistema crea un caso de amenaza. Posteriormente puedes obtener, escalar, descartar o cancelar estos casos a través de la API.
Obtener casos de amenaza
Obtén casos de amenaza dentro de un rango de tiempo. Usa parámetros de paginación para manejar conjuntos grandes de resultados.
import requests
import time
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
# Get threat cases from the last 24 hours
now_ms = int(time.time() * 1000)
one_day_ago_ms = now_ms - (24 * 60 * 60 * 1000)
response = requests.post(
"https://api2.rhombussystems.com/api/event/getAlertMonitoringThreatCases",
headers=headers,
json={
"afterTimestampMs": one_day_ago_ms,
"beforeTimestampMs": now_ms
}
)
data = response.json()
for case in data.get("threatCases", []):
print(f"Threat Case: {case['uuid']} - Status: {case['status']}")const now = Date.now();
const oneDayAgo = now - (24 * 60 * 60 * 1000);
const response = await fetch('https://api2.rhombussystems.com/api/event/getAlertMonitoringThreatCases', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
afterTimestampMs: oneDayAgo,
beforeTimestampMs: now
})
});
const data = await response.json();
for (const threatCase of data.threatCases || []) {
console.log(`Threat Case: ${threatCase.uuid} - Status: ${threatCase.status}`);
}# Replace timestamps with current epoch millisecond values
curl -X POST https://api2.rhombussystems.com/api/event/getAlertMonitoringThreatCases \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{
"afterTimestampMs": 1712620800000,
"beforeTimestampMs": 1712707200000
}'Responder a casos de amenaza
Cuando un caso de amenaza está activo, tienes tres opciones de respuesta según la situación.
Escala un caso de amenaza a una alarm completa cuando se confirma la amenaza y se requiere respuesta inmediata de seguridad o autoridades.
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/escalateThreatCaseToAlarm",
headers=headers,
json={
"uuid": "YOUR_THREAT_CASE_ID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/escalateThreatCaseToAlarm', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
uuid: 'YOUR_THREAT_CASE_ID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/escalateThreatCaseToAlarm \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"uuid": "YOUR_THREAT_CASE_ID"}'Descarta un caso de amenaza cuando lo hayas revisado y determinado que no requiere acción (por ejemplo, un falso positivo).
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/dismissThreatCase",
headers=headers,
json={
"uuid": "YOUR_THREAT_CASE_ID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/dismissThreatCase', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
uuid: 'YOUR_THREAT_CASE_ID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/dismissThreatCase \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"uuid": "YOUR_THREAT_CASE_ID"}'Cancela un caso de amenaza para evitar que avance. Úsalo cuando la situación se haya resuelto antes de que sea necesario escalarla.
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/cancelThreatCase",
headers=headers,
json={
"uuid": "YOUR_THREAT_CASE_ID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/cancelThreatCase', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
uuid: 'YOUR_THREAT_CASE_ID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/cancelThreatCase \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"uuid": "YOUR_THREAT_CASE_ID"}'Administrar PINs de ubicación
Los PINs permiten que los usuarios armen y desarmen el monitoreo de alarmas en una ubicación usando un teclado de Rhombus. Puedes crear y eliminar PINs para cada ubicación a través de la API.
Crear un PIN
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/createCustomPinForLocation",
headers=headers,
json={
"locationUuid": "YOUR_LOCATION_UUID",
"pin": "4829",
"name": "Front Desk Staff"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/createCustomPinForLocation', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
locationUuid: 'YOUR_LOCATION_UUID',
pin: '4829',
name: 'Front Desk Staff'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/createCustomPinForLocation \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{
"locationUuid": "YOUR_LOCATION_UUID",
"pin": "4829",
"name": "Front Desk Staff"
}'Eliminar un PIN
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/deletePinForLocation",
headers=headers,
json={
"locationUuid": "YOUR_LOCATION_UUID",
"pin": "4829"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/alertmonitoring/deletePinForLocation', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
locationUuid: 'YOUR_LOCATION_UUID',
pin: '4829'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/alertmonitoring/deletePinForLocation \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{
"locationUuid": "YOUR_LOCATION_UUID",
"pin": "4829"
}'La eliminación de un PIN tiene efecto inmediato. Asegúrate de que el PIN ya no se necesite antes de eliminarlo, ya que los usuarios que dependen de él perderán la capacidad de armar o desarmar el sistema desde el teclado.
Trabajar con alertas de políticas
Las alertas de políticas se disparan cuando políticas de detección configuradas (como detección de movimiento o de personas) se activan en ubicaciones monitoreadas. Usa estos endpoints para obtener alertas recientes y descartarlas tras revisarlas.
Obtener alertas de políticas
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/event/getPolicyAlerts",
headers=headers,
json={}
)
data = response.json()
for alert in data.get("policyAlerts", []):
print(f"Alert: {alert['uuid']} - Type: {alert.get('type', 'N/A')}")const response = await fetch('https://api2.rhombussystems.com/api/event/getPolicyAlerts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({})
});
const data = await response.json();
for (const alert of data.policyAlerts || []) {
console.log(`Alert: ${alert.uuid} - Type: ${alert.type || 'N/A'}`);
}curl -X POST https://api2.rhombussystems.com/api/event/getPolicyAlerts \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{}'Descartar una alerta de política
import requests
headers = {
"x-auth-scheme": "api-token",
"x-auth-apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/event/dismissPolicyAlertV2",
headers=headers,
json={
"alertUuid": "YOUR_POLICY_ALERT_UUID"
}
)
print(response.json())const response = await fetch('https://api2.rhombussystems.com/api/event/dismissPolicyAlertV2', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-scheme': 'api-token',
'x-auth-apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
alertUuid: 'YOUR_POLICY_ALERT_UUID'
})
});
const data = await response.json();
console.log(data);curl -X POST https://api2.rhombussystems.com/api/event/dismissPolicyAlertV2 \
-H "Content-Type: application/json" \
-H "x-auth-scheme: api-token" \
-H "x-auth-apikey: YOUR_API_KEY" \
-d '{"alertUuid": "YOUR_POLICY_ALERT_UUID"}'Próximos pasos
Recibe notificaciones en tiempo real cuando ocurran eventos de alarm para que tu aplicación responda de inmediato
Explora la referencia completa de la API con esquemas de solicitud y respuesta para todos los endpoints de monitoreo de alarmas