Doordeck (hoy parte de Sentry Interactive) funciona distinto a los demás: leer datos es una API REST normal, pero toda operación que cambia una cerradura va firmada criptográficamente. Boris se encarga de eso; vos solo tenés que darle una cuenta.

1. Preparar la cuenta

  1. Creá (o elegí) una cuenta de Doordeck que sea propietaria o administradora de las cerraduras que va a manejar Boris. Conviene una cuenta de servicio dedicada, no la personal de alguien del equipo.
  2. Comprobá que desde la app de Doordeck esa cuenta ve y abre las puertas.

2. Configurar en Boris

  • Email y contraseña de esa cuenta.
  • API base URL (opcional): usá el host de staging para probar antes de tocar producción.
  • Site ID (opcional): importa las cerraduras de una sola sede.

Guardá → Probar conexiónImportar puertas.

Qué hace Boris por dentro

  1. Pide un token con POST /auth/token (autenticación básica con email y contraseña).
  2. Genera un par de claves Ed25519 propio y registra la pública en POST /auth/certificate. Doordeck devuelve una cadena de certificados que vale menos de un día; Boris la renueva sola.
  3. Cada apertura o cambio de permisos se envía como un JWT firmado (algoritmo EdDSA, con la cadena en la cabecera x5c) a POST /device/{id}/execute:
    • abrir: operación MUTATE_LOCK,
    • dar acceso: ADD_USER con start y end,
    • quitar acceso: REMOVE_USER.
  4. Para compartir, primero obtiene la clave pública del cliente con POST /share/invite/{email}.

Cosas a tener en cuenta

  • El servidor necesita la extensión sodium de PHP (viene de serie desde PHP 7.2). Sin ella, Boris no puede firmar y te lo dice explícitamente.
  • El email del cliente es obligatorio: el acceso se comparte con su identidad Doordeck.
  • La contraseña de la cuenta queda guardada en la configuración de la integración: usá una cuenta de servicio con contraseña propia y rotala si cambia el equipo.
  • Si la cuenta tiene segundo factor obligatorio, el login por API falla; hay que usar una cuenta sin 2FA o un flujo de aplicación.
  1. Open the relevant screen Go to the section where this feature is configured.
  2. Review the required fields Fill in the data that Boris asks for in that screen.
  3. Save and verify Save the changes and check that the feature works as expected.