SuperSaaSの多くの活用方法の一つに、住宅・部屋・アパートの貸し出しがあります。物理的な鍵を顧客に手渡したり返却してもらったりするのは手間がかかるため、多くのビジネスが電子錠の利用を始めています。電子錠の導入はもはや大きな投資ではなく、簡単に設置でき、Nukiの場合は既存の錠前を交換する必要すらありません。さらに一歩進んで、予約が完了した瞬間にアクセス情報を自動的に生成して顧客に送信できれば、利便性がさらに高まります。
電子錠とSuperSaaSの組み合わせは、賃貸以外の用途にも活用できます。たとえば、会議室・コンピューター室・スポーツ施設への時間制限付きアクセス管理などにも利用可能です。
このチュートリアルは、Nukiドアロックをお持ちの方を対象としています。Nukiは最も人気のあるブランドの一つであり、SuperSaaSとNukiロックを組み合わせて使えるかどうかというお問い合わせを複数のお客様からいただいています。他のブランドも同様の機能を提供しており、このチュートリアルはそれらのロックにも参考になるかもしれません。
コンセプト:
SuperSaaSのスケジュールに新しい予約が作成されるたびに、コードが生成され、特定のNukiキーパッドに有効期間付きで保存されます。 そのコードは確認メールで自動的に顧客に送信されます。ドアアクセスコードの送信にセキュリティ上の懸念がある場合は、コードが送信される前に予約承認ステップを設定することができます。

前提条件:
- Nukiロック、Nukiキーパッド、およびNuki BridgeまたはWi-Fi内蔵モデル(例:Smart Lock 3.0 Pro以上)を所有していること。
- 賃貸する住宅・アパート・部屋用にSuperSaaSで「リソーススケジュール」を作成済みであること。
- SuperSaaSの有料プランに加入していること(ここで使用する「カスタムwebhook」に必要です)。
- NukiアプリからNuki Webへの無料アクセスを有効化していること(「機能と設定」から)。
注意:「リソース」以外のスケジュールタイプでも動作しますが、このユースケースには「リソーススケジュール」が最適です。
現在の制限事項:
- Nukiキーパッドは最大100コード、Nukiキーパッド2.0(指紋リーダー付き)は最大200コードまで登録可能です。
- 期限切れのコードはアプリまたはWebポータルから手動で削除する必要があります。アプリから削除した場合、ポータルへの反映は1日後になります。ポータルから削除した場合は、アプリとキーパッドに即座に反映されます。
手順の概要:
- Nuki WebポータルでAPIを有効化する。
- ロックIDを確認する。
- SuperSaaSでwebhookを設定する(NukiのAPIを使用して、有効期間付きのランダムコードをキーパッドに保存します)。
- webhookのタイミングを設定し、賃貸期間の直前にキーパッドを更新するようにする。
- SuperSaaSの自動リマインダーメールにコードを追加する。
注意:これらの手順は少し技術的に聞こえるかもしれませんが、実際にはとてもシンプルで、プログラミングの知識は一切不要です!
ステップ1:Nuki WebポータルでAPIを有効化する
Nuki Webポータルにアクセスします。
「API」の下にある「Nuki Web APIを有効にする」を選択し、利用規約に同意してから「Nuki Web APIを有効にする」をクリックします。
「APIトークンを生成する」をクリックします。
APIトークン名に任意の名前を入力し、アクセス権のすべてのチェックボックスを選択します。
「保存」を押した後、表示されているコードをコピーします(コードを選択して右クリックでコピー)。このコードは後で使用するので、どこかに保存しておいてください。忘れた場合は、新しいトークンを簡単に作成できます。

ステップ2:ロックIDを確認する
NukiのロックIDを取得する方法は2つあり、少しわかりにくいかもしれません。オプション2はやや早いですが、少し技術的です。
オプション1:
- NukiアプリでAdvanced Settings>デバイスIDに移動し、デバイスIDをコピーします(例:34FDAF45)。
- この「16進数」をこのウェブサイトを使って10進数に変換しますが、その前に数字の先頭に「4」を追加してください(例の画像を参照)。この10進数が次のステップで必要なsmartlockIdです。

オプション2:
- ターミナルウィンドウ(Macの場合)で以下のコマンドを実行します:
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer 72f6740dc9653f287e9368eee30afa142cea5caae3949bafb32' 'https://api.nuki.io/smartlock'。Bearerの後のコードは、先ほどNuki Webポータルでコピーしたコードに置き換えてください。 - 返ってくるレスポンスの中で、smartlockIdが最初の数値として表示されています。
ステップ3:SuperSaaSでwebhookを設定する
SuperSaaSのダッシュボードで「インテグレーション」をクリックし、「Webhook」を選択します。webhookの使用方法についての詳細はこちらをご覧ください(このチュートリアルでは不要です)。
以下の情報を入力します:
- トリガー:「リマインダー」を選択
- スケジュール:キーパッドを設定するスケジュールを選択
- ターゲットURL:
https://bearer:API-TOKEN@api.nuki.io/smartlock/SMARTLOCK-ID/auth?_method=put
注意:新しい予約の作成時に確認メールでコードを送信する場合でも、「新しい予約」ではなく「リマインダー」を選択してください。これにより、予約がキャンセルまたは変更される可能性が最も低いタイミングでコードがキーパッドに保存されるというメリットがあります。
ターゲットURLは次のようになります:https://bearer:72f6740dc965eea5caae3949bafb31@api.nuki.io/smartlock/18068913969/auth?_method=put

「Webhookを作成する」を押します。
「ペイロード」の後ろにある「カスタム」を選択します。注意:このオプションが表示されない場合は、先に有料プランに加入する必要があります。
テキストフィールドに以下の内容をコピー&ペーストします:
{
"name": "$start",
"allowedFromDate": "$start_utc",
"allowedUntilDate": "$finish_utc",
"allowedWeekDays": 0,
"type": 13,
"code": "$doorcode"
}
「Webhookを更新する」を押します。
「Webhookをテストする」を押し、「今すぐペイロードを送信する」を押すことができます。
重要:各コードは一度しか入力できないため、「Webhookをテスト」機能を使って予約のコードを作成した場合、後でリマインダーメールのwebhookを実行すると同じコードが使用され、失敗する可能性があります。これを防ぐために、webhookをテストするたびにコードを6桁の異なる番号に更新してください(ゼロを含まず、12で始まらないもの)。
成功すると、数秒後にデバイスの新しいエントリがコード付きで作成されます。Nukiポータルの「キーパッド」またはアプリで確認してください(ページを開いている場合は更新が必要な場合があります)。
$startを使用すると、キーパッドのエントリがアプリ内で開始日を名前として表示されます(画像参照)。

これにより、顧客がコードを忘れた場合に簡単に見つけて提供することができます。また、期限切れのコードを削除しやすくなります。あるいは、$startを$idに置き換えることもできます。その場合、予約ビューや一覧ビューに予約IDを表示する設定を有効にすると、IDを簡単に見つけられます。
注意:顧客の名前を使用することはお勧めしません。キーパッドには名前の文字数制限(30文字)があります。顧客の名前がそれより長い場合、コードの保存が失敗します。
ステップ4:webhookのタイミングとメールの設定
「処理」タブの「予約のリマインダーまたはフォローアップを送信しますか?」というオプションで、「1時間前にWebhookをトリガーする」を選択します。これにより、コードはできるだけ直前にキーパッドに送信され、予約のキャンセルや変更による問題を防ぎます。
リマインダーメールの送信をトリガーするには、「フォローアップメールを送信する」を選択し、値を「-1日」に変更します。

ステップ5:顧客への自動メールにコードを追加する
賃貸期間の直前に顧客に送信されるリマインダーメール(「レイアウト」タブ)に、$doorcodeを追加するだけです。オプションで、確認メールにもコードを含めることができます。

以上です!
最後に
複数の部屋とロックがある場合は、異なるスケジュールと異なるロックIDでこれらの手順を繰り返してください(WebポータルのAPIトークンはNukiアカウントに紐付いているため、各ロックで同じです)。
このチュートリアルがキーパッドと組み合わせたロックを対象としているのは、これにより顧客がメールで共有されたコードを使用してロックを操作でき、Nukiアプリをスマートフォンにインストールするきょう必要がないためです。少し変更を加えれば、同じ原理を使ってロックへのNukiアプリアクセスを自動的に作成することもできます。
上記のように、セキュリティ面が気になる場合は、コードが送信される前に承認ステップを設定するか、事前に支払いを要求することができます。
このチュートリアルはNukiロックとSuperSaaSを組み合わせた基本的な使用方法を示しています。より高度なニーズには、SuperSaaSとの統合機能を持つMakeなどのサービスを使用することで対応できます。たとえば、賃貸期間の1時間前にロックを開けられるようにするシナリオなどが考えられます。Nuki APIを使えば期限切れのコードを自動的に削除することも可能ですが、それにはかなりの労力が必要です。
このチュートリアルはNukiの以下の情報を参考にしています:https://developer.nuki.io/t/web-api-example-manage-pin-codes-for-your-nuki-keypad/54