Usando a fechadura eletrônica Nuki com o SuperSaaS

Crie automaticamente um código para sua fechadura Nuki sempre que uma reserva for feita
2024-03-04 6 min de leitura
Usando a fechadura eletrônica Nuki com o SuperSaaS

Uma das muitas formas de usar o SuperSaaS é para alugar casas, quartos ou apartamentos. Como entregar uma chave física ao cliente e depois recuperá-la dá trabalho, muitas dessas empresas começaram a usar fechaduras eletrônicas. Instalar uma fechadura eletrônica já não é um grande investimento, pois elas podem ser instaladas com facilidade e, no caso da Nuki, nem exigem a troca da fechadura existente. O próximo nível de conveniência é criar e enviar automaticamente as informações de acesso aos clientes assim que uma reserva for concluída.

Usar uma fechadura eletrônica em combinação com o SuperSaaS também pode servir para outros fins além do aluguel, como acesso por tempo limitado a uma sala de reunião, laboratório de informática ou instalação esportiva.

Este tutorial é para clientes que têm uma fechadura Nuki, porque a Nuki é uma das marcas mais populares e vários clientes nos perguntaram se seria possível usar a fechadura Nuki com o SuperSaaS. Outras marcas oferecem funcionalidades semelhantes e este tutorial também pode ajudar nesses casos.

O conceito:

Cada vez que um novo compromisso é criado em uma agenda SuperSaaS, um código é gerado e armazenado em um teclado Nuki específico, com um intervalo de tempo durante o qual ele é válido. O código é enviado automaticamente ao cliente no e-mail de confirmação. Se você estiver preocupado com o aspecto de segurança de enviar o código de acesso da porta, pode configurar uma etapa de aprovação do compromisso antes que esse código seja enviado.

Códigos de teclado do aplicativo Nuki criados via SuperSaaS

Pré-requisitos:

  • Você tem uma fechadura Nuki, um Nuki Keypad e um Nuki Bridge ou Wi-Fi integrado (por exemplo, Smart Lock 3.0 Pro ou superior).
  • Você criou uma “agenda de recurso” no SuperSaaS para a casa, apartamento ou quarto que deseja alugar.
  • Você tem uma assinatura paga do SuperSaaS (necessária para os chamados “webhooks personalizados” usados aqui).
  • Você ativou o acesso gratuito ao Nuki Web pelo aplicativo Nuki (em Features & Configuration).

Nota: outros tipos de agenda além de “resource” também funcionam, mas uma “agenda de recurso” provavelmente é o que você precisará para este caso específico.

Limitações atuais:

  • Há um máximo de 100 códigos para o Nuki Keypad e 200 códigos para o Nuki Keypad 2.0 (com leitor de impressões digitais).
  • Códigos expirados precisam ser excluídos manualmente pelo aplicativo ou pelo portal web. Se você excluir um código pelo aplicativo, ele só desaparecerá do portal um dia depois. Se você excluí-lo pelo portal, ele será removido imediatamente do aplicativo e do keypad.

Visão geral das etapas:

  1. Ative a API no Nuki Web Portal.
  2. Identifique o ID da fechadura.
  3. Configure um webhook no SuperSaaS (para armazenar um código aleatório com um período de validade no keypad via API da Nuki).
  4. Ajuste o horário do webhook para atualizar o keypad pouco antes do período de aluguel.
  5. Adicione o código ao e-mail automático de lembrete do SuperSaaS.

Nota: essas etapas podem parecer um pouco técnicas, mas, na verdade, são bem simples e, de novo, não é necessário saber programar!

Etapa 1: ativando a API no Nuki Web Portal

Acesse o Nuki Web Portal

Em API, escolha Activate Nuki Web API, aceite os Terms and Conditions e clique em Activate Nuki Web API.

Clique em ‘Generate API token’.

Digite um nome aleatório para o API token name e selecione todas as checkboxes de direitos de acesso.

Após pressionar ‘Save’, copie o código que aparece ali (selecionando o código e depois clicando com o botão direito para copiar). Salve esse código em algum lugar para usar depois. Se esquecer, você pode facilmente criar um novo.

Token de API do Nuki Web Portal

Etapa 2: identificando o ID da fechadura

Obter o lock ID da Nuki pode ser feito de duas maneiras, e isso pode ser um pouco confuso. A opção 2 é um pouco mais rápida, mas também um pouco mais técnica.

Opção 1:

  • No aplicativo Nuki, vá em Features & Configuration e depois em General. Copie o Device ID (por exemplo, 34FDAF45)
  • Converta esse número “hexadecimal” para decimal por meio deste site, mas primeiro adicione um “4” na frente do número (veja a imagem de exemplo). O número decimal é o smartlockId que você precisa na próxima etapa.

Convertendo número hexadecimal para decimal

Opção 2:

  • Execute o seguinte comando em uma janela do Terminal (no Mac) curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer 72f6740dc9653f287e9368eee30afa142cea5caae3949bafb32' 'https://api.nuki.io/smartlock', substituindo o código depois de Bearer pelo código que você copiou no Nuki Web Portal anteriormente.
  • Na resposta que você receber, o smartlockId é mencionado como o primeiro número.

Etapa 3: configure o webhook no SuperSaaS

No seu SuperSaaS Dashboard, clique em ‘Integrations’ e depois escolha ‘Webhooks’. Encontre mais informações sobre o uso de webhooks aqui, embora isso não seja necessário para este tutorial.

Digite as seguintes informações:

  • Trigger: escolha ‘Reminder’
  • Schedule: escolha a agenda para a qual você quer configurar o keypad
  • URL de destino: https://bearer:API-TOKEN@api.nuki.io/smartlock/SMARTLOCK-ID/auth?_method=put

Nota: escolha ‘Reminder’ em vez de ‘New appointment’ mesmo que você opte por enviar o código como parte do e-mail de confirmação com a criação do novo compromisso. Isso tem a vantagem de que o código será armazenado no keypad quando houver menor chance de a reserva ser cancelada ou alterada.

A URL de destino ficará então parecida com isto: https://bearer:72f6740dc965eea5caae3949bafb31@api.nuki.io/smartlock/18068913969/auth?_method=put

Exemplo de webhook do SuperSaaS com código bearer

Pressione ‘Create Webhook’.

Em ‘Payload’, selecione ‘Custom’. Nota: se essa opção não estiver disponível, você precisa primeiro contratar uma assinatura paga.

Copie e cole as seguintes informações no campo de texto:

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

Pressione ‘Update webhook’

Agora você pode pressionar ‘Test webhook’ e depois ‘Post payload now’.

Importante: cada código só pode ser inserido uma vez, então se você usar a função “Test webhook” para criar um código para um compromisso, executar o webhook mais tarde para o e-mail de lembrete pode falhar se o mesmo código for usado. Para evitar que isso aconteça, altere o código sempre que testar o webhook para um número diferente com 6 dígitos (e sem zeros no número ou 12 no início).

Se funcionar, uma nova entrada com um código deve ser criada para o dispositivo após alguns segundos. Encontre-a em ‘Keypad’ no portal Nuki e no aplicativo (talvez seja necessário atualizar a página se você já estiver nela).

Usando $start, as entradas no keypad serão exibidas com a data de início como nome no aplicativo (veja a imagem).

Códigos de keypad do aplicativo Nuki criados via SuperSaaS

Isso facilita encontrar o código para fornecê-lo ao cliente caso ele tenha esquecido. Também torna mais fácil remover códigos expirados. Como alternativa, substitua $start por $id. Assim você pode ativar a exibição do ID da reserva na reserva e na visualização em lista para encontrar o ID com facilidade.

Nota: não é aconselhável usar o nome do cliente, pois o keypad tem uma limitação de 30 caracteres para o nome. Se o nome do cliente for mais longo, o armazenamento do código falhará.

Etapa 4: configure o horário do webhook e do e-mail

Na aba ‘Process’, na configuração de lembrete da reserva, selecione ‘Trigger a webhook an hour in advance’. Fazendo isso, o código é enviado deliberadamente ao keypad o mais tarde possível, o que evita problemas com reservas canceladas ou datas alteradas.

Para acionar o envio do e-mail de lembrete, selecione a opção de e-mail de lembrete e altere o valor para ’-1 days’.

Formulário SuperSaaS para configurar o envio de código Nuki aos clientes

Etapa 5: adicione o código ao e-mail automático para o cliente

Basta adicionar $doorcode ao e-mail de lembrete enviado ao cliente (na aba ‘Layout’) pouco antes do período de aluguel. Opcionalmente, você também pode incluir o código no e-mail de confirmação.

Formulário SuperSaaS para configurar o envio de código Nuki aos clientes

É isso!

Considerações finais

Para várias salas e fechaduras, repita essas etapas com uma agenda diferente e um ID de fechadura diferente (o token de API do Web Portal está conectado à sua conta Nuki e será o mesmo para cada fechadura).

O motivo de este tutorial ser para uma fechadura em combinação com um keypad é que isso permite que o cliente use a fechadura por meio de um código compartilhado por e-mail, sem precisar instalar o aplicativo Nuki no telefone. Com algumas modificações, o mesmo princípio pode ser usado para criar automaticamente acesso ao aplicativo Nuki para uma fechadura.

Como mencionado acima, se você estiver preocupado com o aspecto de segurança, pode configurar uma etapa de aprovação antes que esse código seja enviado ou simplesmente exigir pagamento adiantado.

Este tutorial atende à necessidade básica de usar a fechadura Nuki em combinação com o SuperSaaS. Necessidades mais avançadas podem ser atendidas usando um serviço como Make, que tem integração com o SuperSaaS. Pense em cenários como permitir que a fechadura seja aberta uma hora antes do período de aluguel. Também é possível remover códigos expirados automaticamente, já que a API da Nuki permite isso, mas isso exige significativamente mais esforço.

Este tutorial é baseado nas seguintes informações da Nuki: https://developer.nuki.io/t/web-api-example-manage-pin-codes-for-your-nuki-keypad/54