Saltar al contenido principal

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.

Esta página fue traducida automáticamente. Si encuentra errores o tiene sugerencias, contáctenos.
Esta funcionalidad se encuentra actualmente en beta y no está disponible para todos los clientes. Las funcionalidades y características pueden cambiar. Para solicitar acceso, contacta a tu representante de Rhombus o publica en la Comunidad de Desarrolladores de Rhombus.

Descripción general

El desbloqueo con QR Code permite que los usuarios autorizados ingresen presentando un QR Code a una cámara de seguridad de Rhombus o a un controlador de puerta DR40. La cámara reconoce el código, lo valida contra el backend de Rhombus y desbloquea la puerta de inmediato cuando está autorizado. Esta implementación ofrece un método rápido, seguro y autenticado por cámara para controlar el acceso sin requerir tarjetas físicas, gafetes ni aplicaciones móviles.

Cómo funciona

1
Genera un QR Code mediante la API
2
Un administrador o un sistema integrado genera un QR Code seguro y con vigencia limitada usando la API de Rhombus. El código se devuelve como una cadena base64 que puede convertirse en imagen.
3
El usuario presenta el QR Code
4
El usuario muestra el QR Code en su dispositivo móvil o en material impreso y lo presenta ante una cámara de Rhombus asignada a la puerta.
5
La cámara autentica y desbloquea
6
La cámara lee y valida el QR Code contra el backend de Rhombus. Si está autorizado y dentro de la ventana de tiempo válida, la puerta se desbloquea automáticamente.
7
Registro de eventos
8
Cada evento de desbloqueo se registra con evidencia visual de la cámara, lo que proporciona una pista de auditoría completa de los intentos de acceso.

Casos de uso

El desbloqueo con QR Code es ideal para diversos escenarios de control de acceso:

Visitantes en oficinas

Otorga acceso por un día o por tiempo limitado a visitantes sin necesidad de emitir gafetes físicos.

Operaciones de campo

Envía QR Codes a técnicos o contratistas para acceso temporal a áreas específicas.

Edificios multi-tenant

Emite códigos específicos por tenant con duraciones personalizadas para distintos niveles de acceso.

Entregas y ventanas de acceso

Programa accesos durante horarios de entrega específicos con QR Codes con tiempo limitado.

Requisitos previos

Antes de implementar el control de acceso con QR Code, asegúrate de tener:
  • Una cuenta activa de Rhombus con acceso a la API
  • Una API key válida desde la Consola de Rhombus
  • Al menos una cámara de Rhombus o un controlador de puerta DR40 configurado para control de acceso
  • El UUID de la puerta con control de acceso que quieres administrar
Puedes encontrar los UUIDs de puertas listando todas las puertas de tu organización con el endpoint GET /api/accesscontrol/door/getDoorsForOrg en la Referencia de la API.

Genera un QR Access Code

Usa el endpoint generateQRAccessCode para crear un QR Code con tiempo limitado para acceder a una puerta.

Solicitud a la API

curl --location 'https://api2.rhombussystems.com/api/accesscontrol/qr/generateQRAccessCode' \
--header 'Accept: application/json' \
--header 'x-auth-scheme: api-token' \
--header 'x-auth-apikey: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "accessControlledDoorUuid": "door-uuid-here",
  "validDurationSec": 86400
}'

Parámetros de la solicitud

accessControlledDoorUuid
string
requerido
El identificador único de la puerta para la cual quieres autorizar el acceso. Este UUID se obtiene del endpoint getDoorsForOrg.
validDurationSec
integer
requerido
Tiempo en segundos durante el cual el QR Code permanecerá válido. Valores comunes:
  • 3600 - 1 hora
  • 28800 - 8 horas (jornada laboral)
  • 86400 - 24 horas
  • 604800 - 7 días

Respuesta

La API devuelve una carga útil JSON que contiene los datos del QR Code como una cadena codificada en base64:
{
  "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA...",
  "expiresAt": "2025-12-31T12:00:00Z",
  "doorUuid": "door-uuid-here"
}
qrCode
string
Cadena de imagen codificada en base64 del QR Code. Decodifícala para mostrar o distribuir el QR Code.
expiresAt
string
Marca de tiempo en formato ISO 8601 que indica cuándo el QR Code expirará y dejará de otorgar acceso.
doorUuid
string
El UUID de la puerta que este QR Code está autorizado a desbloquear.

Ejemplos de implementación

Convertir QR Code a imagen

Después de recibir el QR Code en base64 desde la API, debes convertirlo a un formato de imagen visualizable.
import base64
from PIL import Image
from io import BytesIO

# Assuming you have the qr_code_data from the API response
qr_code_base64 = qr_code_data['qrCode']

# Decode base64 to image
image_data = base64.b64decode(qr_code_base64)
image = Image.open(BytesIO(image_data))

# Save to file
image.save('access_qr_code.png')

# Or display directly
image.show()

Enviar QR Code por correo a un visitante

Aquí tienes un ejemplo completo para generar un QR Code y enviarlo por correo electrónico a un visitante:
Python
import requests
import base64
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import smtplib

# Generate QR code
url = "https://api2.rhombussystems.com/api/accesscontrol/qr/generateQRAccessCode"
headers = {
    "x-auth-scheme": "api-token",
    "x-auth-apikey": "YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "accessControlledDoorUuid": "door-uuid-here",
    "validDurationSec": 28800  # 8 hours
}

response = requests.post(url, headers=headers, json=payload)
qr_data = response.json()

# Decode QR code image
qr_image = base64.b64decode(qr_data['qrCode'])

# Create email
msg = MIMEMultipart('related')
msg['Subject'] = 'Your Temporary Access QR Code'
msg['From'] = 'access@yourcompany.com'
msg['To'] = 'visitor@example.com'

# Email body
html = f"""
<html>
  <body>
    <h2>Welcome to Our Office</h2>
    <p>Please use the QR code below to access the building.</p>
    <p>This code is valid until {qr_data['expiresAt']}</p>
    <p>Simply hold your phone up to the camera at the entrance.</p>
    <img src="cid:qrcode">
  </body>
</html>
"""

msg_html = MIMEText(html, 'html')
msg.attach(msg_html)

# Attach QR code image
img = MIMEImage(qr_image)
img.add_header('Content-ID', '<qrcode>')
msg.attach(img)

# Send email
smtp = smtplib.SMTP('smtp.gmail.com', 587)
smtp.starttls()
smtp.login('your-email@gmail.com', 'your-password')
smtp.send_message(msg)
smtp.quit()

print("QR code email sent successfully")

Integración con un sistema de gestión de eventos

Genera QR Codes para los asistentes a un evento:
Python
import requests
import pandas as pd

def generate_event_access_codes(attendees_csv, door_uuid, event_duration_hours):
    """
    Generate QR codes for all event attendees

    Args:
        attendees_csv: Path to CSV with attendee information
        door_uuid: UUID of the door for event access
        event_duration_hours: How long access should be valid
    """
    # Read attendee list
    attendees = pd.read_csv(attendees_csv)

    # API configuration
    url = "https://api2.rhombussystems.com/api/accesscontrol/qr/generateQRAccessCode"
    headers = {
        "x-auth-scheme": "api-token",
        "x-auth-apikey": "YOUR_API_KEY",
        "Content-Type": "application/json"
    }

    results = []

    for _, attendee in attendees.iterrows():
        # Generate QR code for each attendee
        payload = {
            "accessControlledDoorUuid": door_uuid,
            "validDurationSec": event_duration_hours * 3600
        }

        response = requests.post(url, headers=headers, json=payload)
        qr_data = response.json()

        results.append({
            "name": attendee['name'],
            "email": attendee['email'],
            "qr_code": qr_data['qrCode'],
            "expires_at": qr_data['expiresAt']
        })

        print(f"Generated QR code for {attendee['name']}")

    # Save results
    results_df = pd.DataFrame(results)
    results_df.to_csv('event_qr_codes.csv', index=False)

    return results_df

# Usage
attendees = generate_event_access_codes(
    'attendees.csv',
    'door-uuid-here',
    event_duration_hours=12
)

Consideraciones de seguridad

Protege siempre tus QR Codes e implementa medidas de seguridad apropiadas:

Acceso con tiempo limitado

  • Establece valores apropiados de validDurationSec según tu caso de uso
  • Duraciones más cortas (1-8 horas) para acceso de visitantes
  • Duraciones más largas (1-7 días) para acceso de contratistas o empleados temporales
  • Nunca configures códigos con duración ilimitada

Distribución de QR Codes

Usa sistemas de correo seguros y verifica las direcciones del destinatario antes de enviar QR Codes. Considera usar correo cifrado para accesos sensibles.
Verifica los números de teléfono y usa servicios SMS seguros. Ten en cuenta que el SMS puede no estar cifrado de extremo a extremo.
Integra la generación de QR Codes en tu aplicación móvil con autenticación adecuada y verificación de usuario.
Para los códigos impresos, asegura su seguridad física y deshazte de ellos correctamente tras su expiración. Considera agregar marcas de agua u otras medidas anti-copia.

Monitoreo de accesos

  • Revisa los registros de acceso regularmente usando la Consola de Rhombus
  • Configura alertas para patrones de acceso inusuales
  • Monitorea intentos de acceso fallidos
  • Mantén pistas de auditoría sobre la generación y el uso de QR Codes

Mejores prácticas

Sigue estas mejores prácticas para un sistema de acceso con QR Code seguro y eficiente:
  1. Valida los UUIDs de puertas: Verifica siempre los UUIDs antes de generar QR Codes para asegurarte de que otorgan acceso a las puertas correctas.
  2. Implementa límites de tasa: Si expones la generación de QR Codes a través de tu propia aplicación, implementa rate limiting para evitar abusos.
  3. Registra eventos de generación: Mantén registros de quién generó QR Codes, para qué puertas y con qué períodos de validez.
  4. Tiempos de expiración amigables: Al mostrar QR Codes, presenta el tiempo de expiración en la zona horaria local del usuario.
  5. Prueba antes de distribuir: Genera y prueba los QR Codes antes de enviarlos a los usuarios para asegurarte de que funcionan correctamente.
  6. Provee instrucciones: Incluye instrucciones claras junto con los QR Codes sobre dónde presentarlos y qué esperar.
  7. Manejo de errores: Implementa un manejo adecuado de errores para fallos de la API y respuestas inválidas.

Beneficios

El acceso con QR Code permite la entrada sin contacto, funciona en cualquier smartphone y se integra con el hardware de control de acceso de Rhombus existente.

Solución de problemas

Causas comunes:
  • El QR Code expiró (revisa la marca expiresAt)
  • Se usó un UUID de puerta incorrecto al generar el código
  • La cámara no está configurada correctamente para control de acceso
  • La imagen del QR Code está dañada o poco clara
Soluciones:
  • Genera un nuevo QR Code con una duración válida
  • Verifica el UUID de la puerta usando el endpoint getDoorsForOrg
  • Revisa la configuración de la cámara en la Consola de Rhombus
  • Asegúrate de que el QR Code se muestre claramente y a un tamaño adecuado
Causas comunes:
  • API key inválida o headers de autenticación incorrectos
  • UUID de puerta incorrecto
  • Puerta no configurada para acceso con QR Code
  • Permisos insuficientes
Soluciones:
  • Verifica tu API key en la Consola de Rhombus
  • Revisa que el header x-auth-scheme esté configurado como api-token
  • Confirma que el UUID de la puerta exista y esté configurado para control de acceso
  • Contacta al soporte de Rhombus si la funcionalidad no está habilitada para tu cuenta
Causas comunes:
  • Condiciones de iluminación deficientes
  • QR Code demasiado pequeño o demasiado grande
  • Ángulo de cámara incorrecto
  • QR Code mostrado en una superficie reflectante
Soluciones:
  • Asegura una iluminación adecuada en el punto de entrada
  • Muestra el QR Code de 3 a 5 pulgadas de ancho
  • Coloca el QR Code perpendicular a la cámara
  • Evita mostrarlo en pantallas brillosas — usa protectores mate o imprime en papel

Próximos pasos

Integración con webhooks

Configura webhooks para recibir eventos de control de acceso en tiempo real

Comunidad de desarrolladores

Únete a la Comunidad de Desarrolladores de Rhombus para soporte y novedades

Consola de Rhombus

Administra tus dispositivos y ajustes de control de acceso
Esta funcionalidad se encuentra en desarrollo activo. Mantente atento a la Comunidad de Desarrolladores de Rhombus para obtener actualizaciones sobre nuevas funcionalidades y mejoras.
Last modified on April 30, 2026