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
- 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.
- 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ón → Importar puertas.
Qué hace Boris por dentro
- Pide un token con
POST /auth/token(autenticación básica con email y contraseña). - 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. - Cada apertura o cambio de permisos se envía como un JWT firmado (algoritmo EdDSA, con la cadena en la cabecera
x5c) aPOST /device/{id}/execute:- abrir: operación
MUTATE_LOCK, - dar acceso:
ADD_USERconstartyend, - quitar acceso:
REMOVE_USER.
- abrir: operación
- 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.
- Open the relevant screen Go to the section where this feature is configured.
- Review the required fields Fill in the data that Boris asks for in that screen.
- Save and verify Save the changes and check that the feature works as expected.
