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.

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:
- Ative a API no Nuki Web Portal.
- Identifique o ID da fechadura.
- Configure um webhook no SuperSaaS (para armazenar um código aleatório com um período de validade no keypad via API da Nuki).
- Ajuste o horário do webhook para atualizar o keypad pouco antes do período de aluguel.
- 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.

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.

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

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).

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’.

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.

É 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