Nuki con SuperSaaS

Crea automáticamente un código para la cerradura de tu puerta Nuki cada vez que hagas una reserva
4 de marzo de 2024 7 minutos de lectura
Nuki con SuperSaaS

Una de las muchas formas en que se puede utilizar SuperSaaS es para alquilar casas, habitaciones o apartamentos. Debido a que es complicado entregar una llave física a un cliente y recuperarla, muchas de estas empresas han comenzado a utilizar cerraduras electrónicas. Instalar una cerradura electrónica ya no supone una gran inversión, ya que se pueden instalar fácilmente y, en el caso de Nuki, ni siquiera es necesario sustituir la cerradura existente. Ahora el siguiente nivel de comodidad puede ser crear y enviar automáticamente la información de acceso a tus clientes tan pronto como se haya completado la reserva.

El uso de una cerradura electrónica en combinación con SuperSaaS también se puede utilizar para fines distintos al alquiler, como el acceso basado en el tiempo a una sala de reuniones, un laboratorio de computación o una instalación deportiva.

Este tutorial está dirigido a clientes que tienen una cerradura Nuki, porque Nuki es una de las marcas más populares y varios clientes nos han preguntado si era posible utilizar su cerradura Nuki con SuperSaaS. Otras marcas ofrecen una funcionalidad similar y este tutorial también puede ayudar con esas cerraduras.

El concepto:

Cada vez que se crea una nueva cita en un horario de SuperSaaS, se genera un código que se almacena en un teclado específico de Nuki, con un período de validez. El código se envía automáticamente al cliente en el correo electrónico de confirmación. Si te preocupa el aspecto de seguridad del envío del código de acceso a la puerta, puedes configurar un paso de aprobación de la cita antes de enviar este código.

Códigos del teclado de la aplicación Nuki creados a través de SuperSaaS

Requisitos previos:

  • Tienes un Nuki lock, un Nuki Keypad y un Nuki Bridge o wifi integrado (p. ej. Smart Lock 3.0 Pro o superior).
  • Has creado un ‘horario de recursos’ en SuperSaaS para la casa, apartamento o habitación que deseas alquilar.
  • Tienes una suscripción de pago de SuperSaaS (requerida para los llamados “webhooks personalizados” que se utilizan).
  • Tienes activado el acceso gratuito a Nuki Web a través de la aplicación de Nuki (en Características y configuración).

Nota: otros tipos de horarios además del horario de recursos también funcionarán, pero probablemente lo que necesitarás para este caso de uso en particular sea un horario de recursos.

Limitaciones actuales:

  • Hay un máximo de 100 códigos para el Nuki Keypad y 200 códigos para el Nuki Keypad 2.0 (con lector de huellas dactilares).
  • Los códigos caducados deben eliminarse manualmente a través de la aplicación o el portal web. Si eliminas un código a través de la aplicación, no desaparecerá del portal hasta un día después. Si lo eliminas a través del portal, se eliminará inmediatamente de la aplicación y del teclado.

Descripción general de los pasos:

  1. Activa la API en el portal web de Nuki.
  2. Identifica el ID de la cerradura.
  3. Configura un webhook en SuperSaaS (para almacenar un código aleatorio con un período de validez en el teclado a través de la API de Nuki).
  4. Configura el momento del webhook para actualizar el teclado poco antes del período de alquiler.
  5. Añade el código al correo electrónico de recordatorio automático de SuperSaaS.

Nota: estos pasos pueden parecer un poco técnicos, pero en realidad son bastante simples y, nuevamente, no se requieren conocimientos de programación.

Paso 1: activar la API en el portal web de Nuki

Ve al Portal web de Nuki

En API, elige Activar Nuki Web API, acepta los Términos y condiciones y haz clic en Activar Nuki Web API.

Haz clic en “Generar token API”.

Introduce un nombre aleatorio para el nombre del token API y selecciona todas las casillas de verificación para los derechos de acceso.

Después de presionar ‘Guardar’, copia el código que ves allí (seleccionando el código y luego haciendo clic derecho para copiar). Guarda este código en algún lugar para más adelante. Si lo olvidaste, puedes crear fácilmente uno nuevo.

Token API del portal web Nuki

Paso 2: identificar el ID de la cerradura

Obtener el ID de bloqueo de Nuki se puede hacer de dos maneras y puede resultar un poco confuso. La opción 2 es un poco más rápida pero un poco más técnica.

Opción 1:

  • En la aplicación de Nuki, ve a Funciones y configuración y luego a General. Copia el ID del dispositivo (por ejemplo, 34FDAF45)
  • Convierte este número ‘hexadecimal’ a un número decimal a través de este sitio web pero primero agrega un ‘4’ delante del número (ver imagen de ejemplo). El número decimal es el smartlockId que necesitas en el siguiente paso.

Convertir número hexadecimal a decimal

Opción 2:

  • Ejecuta el siguiente comando en una ventana de Terminal (en Mac) curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer 72f6740dc9653f287e9368eee30afa142cea5caae3949bafb32' 'https://api.nuki.io/smartlock' donde reemplazas el código después de Bearer con el código que copiaste anteriormente en el portal web de Nuki.
  • En la respuesta que recibes, el smartlockId se menciona como el primer número.

Paso 3: configurar el webhook en SuperSaaS

En tu Panel de control de SuperSaaS, haz clic en “Integraciones” y luego elige “Webhooks”. Encuentra más información sobre el uso de webhooks aquí, aunque no es necesaria para este tutorial.

Introduce la siguiente información:

  • Activador: elige ‘Recordatorio’
  • Horario: elige el horario para el que deseas configurar un teclado
  • URL de destino: https://bearer:API-TOKEN@api.nuki.io/smartlock/SMARTLOCK-ID/auth?_method=put

Nota: Elige ‘Recordatorio’ en lugar de ‘Nueva cita’ incluso si eliges enviar el código como parte del correo electrónico de confirmación con la creación de la nueva cita. Esto tiene la ventaja de que el código se almacenará en el teclado cuando exista una mínima posibilidad de que se cancele o cambie la reserva.

La URL de destino tendrá este aspecto: https://bearer:72f6740dc965eea5caae3949bafb31@api.nuki.io/smartlock/18068913969/auth?_method=put

Ejemplo de Webhook SuperSaaS con código de portador

Presiona ‘Crear webhook’.

Detrás de “Carga útil”, selecciona “Personalizado”. Nota: Si esta opción no está disponible, primero debes obtener una suscripción de pago.

Copia y pega la siguiente información en el campo de texto:

{
"name": "$start",
"allowedFromDate": "$start_utc",
"allowedUntilDate": "$finish_utc",
"allowedWeekDays": 0,
"type": 13,
"code": "$doorcode"
}

Presiona ‘Actualizar webhook’

Ahora puedes presionar “Comprobar webhook” y presionar “Mandar carga útil ahora”.

Importante: cada código solo se puede ingresar una vez, por lo que si usa la función “Comprobar webhook” para crear un código para una cita, la ejecución posterior del webhook para el correo electrónico de recordatorio puede fallar si se usa el mismo código. Para evitar que esto suceda, actualiza el código cada vez que compruebes el webhook a un número diferente con 6 dígitos (y sin ceros en el número o 12 al principio).

Si tiene éxito, se debería crear una nueva entrada con un código para el dispositivo después de unos segundos. Encuéntralo en “Teclado” en el portal de Nuki y en la aplicación (es posible que tengas que actualizar la página si estás en ella).

Al usar $start como name, las entradas en el teclado se mostrarán con la fecha de inicio como nombre en la aplicación (ver imagen).

Códigos del teclado de la aplicación Nuki creados a través de SuperSaaS

Esto facilita encontrar el código para proporcionárselo al cliente en caso de que lo haya olvidado. También facilita la eliminación de códigos caducados. Alternativamente, reemplaza $start por $id. Luego puedes habilitar la visualización del ID de la reserva en la reserva y la vista de lista para encontrar fácilmente el ID.

Nota: No es recomendable utilizar el nombre del cliente, ya que el teclado tiene una limitación de 30 caracteres para el nombre. Si el nombre del cliente es más largo, no se podrá almacenar el código.

Paso 4: configurar el tiempo del webhook y el correo electrónico

En la pestaña “Proceso”, bajo la opción “¿Tenemos que mandar un recordatorio para una reserva?”, selecciona “Disparar un webhook una hora antes” (o 15 minutos antes). Al hacer esto, el código se envía deliberadamente al teclado lo más tarde posible, lo que evita problemas con reservas canceladas o cambios de fechas de reserva.

Para activar el envío del correo electrónico de recordatorio, selecciona “Enviar un correo electrónico de seguimiento” y cambie el valor a “-1 días”. Esto utiliza el correo de seguimiento como recordatorio, ya que el recordatorio mismo se ha reemplazado por el webhook.

Formulario SuperSaaS para configurar el tiempo de envío del código de puerta de Nuki a los clientes

Paso 5: añadir el código al correo electrónico automático al cliente

Simplemente agrega “$doorcode” en el segundo campo de texto (que es el correo de seguimiento) para “Texto que se añade a los recordatorios de reservas por correo electrónico” (en la pestaña “Disposición”). Opcionalmente, también puedes incluir el código en el correo electrónico de confirmación.

Formulario SuperSaaS para configurar el envío del código de puerta de Nuki a los clientes

¡Ya está!

Observaciones finales

Para varias habitaciones y cerraduras, repite estos pasos con un horario diferente y un ID de cerradura diferente (el token API del portal web está conectado a tu cuenta de Nuki y será el mismo para cada cerradura).

La razón por la que este tutorial es para una cerradura en combinación con un teclado es porque esto permite a tu cliente usar la cerradura a través de un código compartido por correo electrónico, sin necesidad de instalar la aplicación Nuki en su teléfono. Con algunas modificaciones, se puede utilizar el mismo principio para crear automáticamente un acceso a la aplicación de Nuki para una cerradura.

Como se mencionó anteriormente, si te preocupa el aspecto de seguridad, puedes configurar un paso de aprobación antes de enviar este código o simplemente requerir pago por adelantado.

Este tutorial satisface la necesidad básica de utilizar Nuki Lock en combinación con SuperSaaS. Se pueden satisfacer necesidades más avanzadas utilizando un servicio como Make, que tiene integración con SuperSaaS. Piensa en escenarios como permitir que se abra la cerradura una hora antes del período de alquiler. También es posible eliminar automáticamente los códigos caducados, según lo permite la API de Nuki, pero esto requiere mucho más esfuerzo.

Este tutorial se basa en la siguiente información de Nuki: https://developer.nuki.io/t/web-api-example-manage-pin-codes-for-your-nuki-keypad/54