> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.rhombus.community/llms.txt
> Use this file to discover all available pages before exploring further.

# Integra con n8n

> Automatiza flujos de seguridad de Rhombus en n8n autoalojado con el nodo oficial: orquesta cámaras, control de acceso, sensores IoT y agentes de IA.

<Note>
  Esta página fue traducida automáticamente. Si encuentra errores o tiene sugerencias, [contáctenos](mailto:support@rhombus.com).
</Note>

Automatiza tu plataforma de seguridad Rhombus con [n8n](https://n8n.io/), una herramienta de automatización de flujos de trabajo autoalojable. El **nodo oficial de la comunidad de Rhombus** te da acceso nativo a cámaras, puertas, eventos, usuarios y más — sin necesidad de configurar HTTP en bruto.

<Info>
  **Nodo oficial de la comunidad**: [`@rhombussystems/n8n-nodes-client`](https://www.npmjs.com/package/@rhombussystems/n8n-nodes-client) proporciona 11 tipos de recursos con 41 operaciones, todas validadas contra la especificación OpenAPI de Rhombus.
</Info>

## Instala el nodo de Rhombus

<Steps>
  <Step title="Abre la configuración de n8n">
    En tu instancia de n8n, ve a **Settings** > **Community Nodes**.
  </Step>

  <Step title="Instala el paquete">
    Ingresa el nombre del paquete y haz clic en **Install**:

    ```text theme={null}
    @rhombussystems/n8n-nodes-client
    ```
  </Step>

  <Step title="Añade tu API key">
    Cuando agregas un nodo de Rhombus a un flujo de trabajo por primera vez, n8n te pedirá crear credenciales:

    1. Ve a [Rhombus Console](https://console.rhombussystems.com/settings/api-management/) y genera una API key
    2. En n8n, crea una nueva credencial **Rhombus API**
    3. Pega tu API key y guarda

    El nodo maneja automáticamente los headers `x-auth-apikey` y `x-auth-scheme`.
  </Step>
</Steps>

## Operaciones disponibles

El nodo de Rhombus proporciona 41 operaciones a través de 11 tipos de recursos:

### Control de acceso

| Operación                  | Descripción                                                    |
| -------------------------- | -------------------------------------------------------------- |
| **Assign Credential**      | Asigna una credencial de tarjeta existente a un usuario        |
| **Create Access Grant**    | Crea una nueva concesión de acceso para usuarios o grupos      |
| **Create Credential**      | Crea una nueva credencial de tarjeta CSN estándar              |
| **Delete Access Grant**    | Elimina una concesión de acceso existente                      |
| **Get User Access Grants** | Obtiene todas las concesiones de acceso asignadas a un usuario |
| **Revoke Credential**      | Revoca una credencial de tarjeta (conserva el historial)       |

### Cámaras

| Operación                | Descripción                                                   |
| ------------------------ | ------------------------------------------------------------- |
| **Get**                  | Obtiene el estado completo de una sola cámara                 |
| **Get Many**             | Obtiene una lista de muchas cámaras de la organización        |
| **Create Clip**          | Crea un clip de video desde una cámara                        |
| **Create Shared Stream** | Crea una URL de transmisión de video en vivo para compartir   |
| **Get Frame**            | Obtiene la URL de imagen de un fotograma exacto de una cámara |
| **Get Media URIs**       | Obtiene las URIs de transmisión en vivo y VOD de una cámara   |
| **Update**               | Actualiza los detalles de una cámara                          |

### Puertas

| Operación      | Descripción                                               |
| -------------- | --------------------------------------------------------- |
| **Get Many**   | Obtiene una lista de muchas puertas con control de acceso |
| **Unlock**     | Desbloquea temporalmente una puerta con control de acceso |
| **Get Events** | Obtiene el historial de eventos de acceso de una puerta   |

### Eventos

| Operación      | Descripción                                     |
| -------------- | ----------------------------------------------- |
| **Get Alerts** | Obtiene alertas de políticas de la organización |
| **Get Many**   | Obtiene una lista de clips de video guardados   |

### Reconocimiento facial

| Operación              | Descripción                                                       |
| ---------------------- | ----------------------------------------------------------------- |
| **Create Person**      | Crea una nueva persona conocida para reconocimiento facial        |
| **Delete Person**      | Elimina una persona conocida del reconocimiento facial            |
| **Get Many**           | Obtiene una lista de muchas personas conocidas de la organización |
| **Search Face Events** | Busca eventos de reconocimiento facial con filtros                |

### Bloqueo (Lockdown)

| Operación      | Descripción                                                      |
| -------------- | ---------------------------------------------------------------- |
| **Activate**   | Activa un bloqueo para una ubicación                             |
| **Deactivate** | Desactiva un bloqueo para una ubicación                          |
| **Get Many**   | Obtiene una lista de muchos planes de bloqueo de la organización |
| **Get Status** | Obtiene el estado de bloqueo de todas las ubicaciones            |

### Organización

| Operación         | Descripción                                           |
| ----------------- | ----------------------------------------------------- |
| **Get**           | Obtiene información de la organización                |
| **Get Locations** | Obtiene una lista de ubicaciones de la organización   |
| **Update**        | Actualiza la configuración general de la organización |

### Sensores

| Operación                      | Descripción                                                      |
| ------------------------------ | ---------------------------------------------------------------- |
| **Get Many**                   | Obtiene una lista de muchos sensores de clima de la organización |
| **Get Sensor Events**          | Obtiene eventos de clima de un sensor específico                 |
| **Get Environmental Gateways** | Obtiene el estado actual de todas las pasarelas ambientales      |

### Usuarios

| Operación    | Descripción                                             |
| ------------ | ------------------------------------------------------- |
| **Create**   | Crea un nuevo usuario en la organización                |
| **Get Many** | Obtiene una lista de muchos usuarios de la organización |
| **Update**   | Actualiza un usuario existente                          |

### Vehículos

| Operación         | Descripción                                                        |
| ----------------- | ------------------------------------------------------------------ |
| **Get Many**      | Obtiene una lista de muchos vehículos guardados de la organización |
| **Save Vehicle**  | Guarda y nombra un vehículo por matrícula                          |
| **Search Events** | Busca eventos de detección de vehículos/LPR                        |

### Webhooks

| Operación         | Descripción                                                    |
| ----------------- | -------------------------------------------------------------- |
| **Get**           | Obtiene la configuración de la integración de webhook          |
| **Create/Update** | Crea o actualiza la configuración de la integración de webhook |
| **Delete**        | Elimina la integración de webhook                              |

## Flujos de trabajo de ejemplo

### Reporte diario de alertas de seguridad

Genera un resumen diario de alertas de seguridad y envíalo a tu equipo.

```text theme={null}
Schedule Trigger (daily at 8 AM)
  ↓
Rhombus Node → Event → Get Alerts (last 24 hours)
  ↓
Code Node → Format alert summary
  ↓
Email Node → Send to security team
```

### Desbloquear puerta en evento de calendario

Desbloquea automáticamente la puerta de una sala de conferencias antes de una reunión.

```text theme={null}
Google Calendar Trigger (meeting starts in 5 minutes)
  ↓
Rhombus Node → Door → Unlock (conference room door)
```

### Clip de cámara al recibir alerta

Guarda automáticamente un clip cuando se dispara una alerta de política.

```text theme={null}
Schedule Trigger (every 5 minutes)
  ↓
Rhombus Node → Event → Get Alerts (last 5 minutes)
  ↓
Rhombus Node → Camera → Create Clip (from alert device, 60 seconds)
```

### Automatización de onboarding de usuarios

Crea cuentas de Rhombus cuando los empleados se incorporan desde tu sistema de RR. HH.

```text theme={null}
Webhook Trigger (from HR system)
  ↓
Rhombus Node → User → Create (email, name from payload)
```

## Flujos de trabajo con agentes de IA

Las capacidades de agentes de IA de n8n te permiten construir flujos de trabajo de seguridad inteligentes combinando datos de Rhombus con LLMs.

### Asistente de seguridad conversacional

Crea un bot de Slack que pueda consultar datos de Rhombus:

```text theme={null}
Slack Trigger → "Show me camera status"
  ↓
AI Agent with Rhombus tools:
  ├─→ Camera → Get Many (list cameras)
  ├─→ Event → Get Alerts (recent alerts)
  └─→ Camera → Create Clip (save footage)
  ↓
AI Response → Slack
```

### Detección de anomalías

Detecta patrones de acceso inusuales y alerta al equipo de seguridad:

```text theme={null}
Schedule Trigger (every 15 minutes)
  ↓
Rhombus Node → Door → Get Events (last 15 minutes)
  ↓
AI Agent → Analyze patterns for anomalies
  ↓
IF anomaly detected → Create incident + alert team
```

## Avanzado: Fallback con HTTP Request

Para operaciones que aún no estén cubiertas por el nodo de la comunidad, usa el nodo HTTP Request de n8n con autenticación manual:

<CodeGroup>
  ```json HTTP Request Node theme={null}
  {
    "method": "POST",
    "url": "https://api2.rhombussystems.com/api/camera/getMinimalCameraStateList",
    "authentication": "predefinedCredentialType",
    "sendHeaders": true,
    "headerParameters": {
      "parameters": [
        {
          "name": "x-auth-apikey",
          "value": "={{$credentials.rhombusApiKey}}"
        },
        {
          "name": "x-auth-scheme",
          "value": "api-token"
        }
      ]
    }
  }
  ```

  ```javascript Code Node (Process Response) theme={null}
  const cameras = $input.all()[0].json.cameraStates;

  return cameras.map(cam => ({
    uuid: cam.uuid,
    name: cam.name,
    status: cam.connectionStatus,
    location: cam.locationName
  }));
  ```
</CodeGroup>

<Tip>
  La API de Rhombus tiene más de 800 endpoints. El nodo de la comunidad cubre las operaciones más comunes, pero puedes acceder a cualquier endpoint mediante nodos HTTP Request. Consulta la [referencia de la API](/api-reference/overview) para ver la lista completa de endpoints.
</Tip>

## Despliega n8n

<Tabs>
  <Tab title="Docker (lo más rápido)">
    ```bash theme={null}
    docker run -it --rm \
      --name n8n \
      -p 5678:5678 \
      -v ~/.n8n:/home/node/.n8n \
      n8nio/n8n
    ```

    Accede en `http://localhost:5678`
  </Tab>

  <Tab title="Docker Compose (Producción)">
    ```yaml theme={null}
    version: '3.8'
    services:
      n8n:
        image: n8nio/n8n
        restart: always
        ports:
          - "5678:5678"
        environment:
          - N8N_HOST=n8n.yourdomain.com
          - N8N_PROTOCOL=https
          - WEBHOOK_URL=https://n8n.yourdomain.com/
        volumes:
          - ~/.n8n:/home/node/.n8n
    ```

    <Note>
      La autenticación se configura desde la interfaz de n8n en el primer arranque. Consulta [la documentación de despliegue de n8n](https://docs.n8n.io/hosting/) para ver el endurecimiento de producción.
    </Note>
  </Tab>

  <Tab title="n8n Cloud">
    Salta el autoalojamiento por completo con [n8n Cloud](https://n8n.io/cloud/). El nodo de la comunidad de Rhombus está disponible en todos los planes de cloud.
  </Tab>
</Tabs>

## Compatibilidad

| Requisito          | Versión                                                             |
| ------------------ | ------------------------------------------------------------------- |
| **n8n**            | Una versión reciente compatible con nodos de la comunidad           |
| **Node.js**        | Una versión compatible con tu release de n8n (para autoalojamiento) |
| **API de Rhombus** | Todas las operaciones usan `api2.rhombussystems.com`                |

Para los límites de tasa de la API de Rhombus, consulta [Rate Limits](/es/rate-limits).

## Solución de problemas

<AccordionGroup>
  <Accordion title="El nodo no aparece tras la instalación">
    Reinicia tu instancia de n8n después de instalar el nodo de la comunidad. Si usas Docker, reinicia el contenedor.
  </Accordion>

  <Accordion title="Errores de autenticación">
    Verifica que tu API key esté activa en [Rhombus Console](https://console.rhombussystems.com/settings/api-management/). Asegúrate de que la credencial en n8n tenga el valor correcto de la key.
  </Accordion>

  <Accordion title="Errores de límite de tasa">
    Añade nodos Wait entre operaciones de Rhombus dentro de bucles para distribuir las solicitudes en el tiempo. Consulta [Rate Limits](/es/rate-limits) para los límites actuales y orientación sobre reintentos.
  </Accordion>

  <Accordion title="El webhook no recibe eventos">
    Verifica que tu instancia de n8n sea accesible públicamente. Confirma que la URL del webhook en Rhombus Console coincida con tu endpoint de webhook de n8n.
  </Accordion>
</AccordionGroup>

## Recursos

<CardGroup cols={2}>
  <Card icon="npm" href="https://www.npmjs.com/package/@rhombussystems/n8n-nodes-client" title="Paquete npm">
    Nodo oficial de la comunidad de Rhombus
  </Card>

  <Card icon="github" href="https://github.com/RhombusSystems/n8n-Rhombus-client-node" title="Repositorio en GitHub">
    Código fuente y seguimiento de incidencias
  </Card>

  <Card icon="book" href="https://docs.n8n.io/" title="Documentación de n8n">
    Documentación y tutoriales de la plataforma
  </Card>

  <Card icon="users" href="https://community.n8n.io/" title="Comunidad de n8n">
    Plantillas y soporte de la comunidad
  </Card>
</CardGroup>
