こんにちわ!矢作です!
以下の記事で、セミナー申込者の情報がクラウドデータベース kintone に自動的に追加されるシステムを、ノーコードで構築する方法を紹介しました。本記事では、セミナー申込者が自分の情報の削除申請を行うと、kintone のデータが自動的に削除されるシステムを、ほぼノーコードで構築する方法を紹介します。
人が削除する場合には、見間違い、勘違い、操作ミス、などにより、削除してはいけないデータを削除してしまうリスクがどうしても残ってしまいます。このシステムは他にもいくつかの価値を提供しますが、このようなリスクが排除されることが最も大きな価値だと思います。
実現したいこと
構築しようとするシステムでは、kintone に追加されたセミナー申込者の情報が削除されます。実際に削除されるまでに、次のようなステップが経由されます。
- セミナー申込者本人が、セミナー申込時に入力したメールアドレスをウェブフォームに入力する。
- 入力されたメールアドレス宛に、削除確認用のフォームURLが記載されたメールが送信される。
- 削除確認用のフォームで、セミナー申込者情報が削除されることについて了承される。
- kintone アプリに追加されているセミナー申込者の情報が削除される。
最初のフォームでメールアドレスが入力されると、ただちに kintone アプリのデータが削除されるというわけではありません。
一旦、入力されたメールアドレス宛に、本当に申込情報を削除してよいのかを確認するためのフォーム(削除確認フォーム)URLが送信されます。削除確認フォームにアクセスできるのはメール受信者ですので、このような流れを組み入れることにより、なりすましや勘違いにより意図せず申込者情報が削除される、ということが防止(※)されます。これは、会員申し込みや会員情報の変更など、本人確認を行わなければならないシステム構築に応用できます。
※メールアドレスが複数人で共用されていたり、届いたメールが他の人に転送されたりすると、防止しきれません。
システムの構成
今回構築するシステムは、クラウド型ノーコード開発プラットフォーム「Questetra BPM Suite」とクラウドデータベース「kintone」を組み合わせて構築します。
Questetra BPM Suite は、業務の流れを自動化する仕組みで、人と人、人とシステム、システムとシステムをつなぐ役割を果たします。
kintone API トークンの取得
kintone をご利用中であること前提に話を進めます。
クラウドデータベース「kintone」の準備は、データベースであるアプリの作成と、ノーコード開発プラットフォーム「Questetra BPM Suite」と連携するために必要な API トークンの取得です。これらの準備は、ノーコードでkintoneに顧客情報を自動追加という記事の「kintone の設定」と同じですので、そちらを参考にしてください。
Questetra BPM Suite の準備
Questetra BPM Suite をご利用中であることを前提に話を進めます。無料のトライアルでも、ここに書かせていただいたことはご確認いただけます。(対象エディションは Advanced, Professional)
Questetra BPM Suite では、アプリを作ること = システムを作ること、です。そして、アプリ作成はワークフロー図の作成、データ項目の追加、を中心にいくつかの設定を通じて行われます。
本記事で紹介する「セミナー申込情報削除」アプリは、ご利用中の Questetra BPM Suite で簡単に稼働させることができます。次のページからダウンロードできるファイルをインポートするだけです。すぐに動作確認したい!という場合には、是非こちらをご利用ください。
ワークフロー図の作成
Questetra BPM Suite では、業務の流れをワークフロー図という図に描きシステム化を進めます。業務の流れは、”実現したいこと” でも触れたような流れですが、以下に改めて書きます。
- セミナー申込者本人が、セミナー申込時に入力したメールアドレスをウェブフォームに入力する。
- 入力されたメールアドレス宛に、削除確認用のフォームURLが記載されたメールが送信される。
- 削除確認用のフォームで、メールアドレスを含むセミナー申込者情報が削除されることに了承する。
- kintone アプリに追加されているセミナー申込者の情報が削除される。
早速、この流れをワークフロー図に描いていきます。
アプリ管理権限を持つユーザで Questetra BPM Suite にログインし、「アプリ設定」機能からアプリを新規作成してください。
ワークフロー図の編集画面でワークフロー図を作成します。先ほどの流れをワークフロー図に描くと次のような図になります。
ワークフロー図を構成する、丸や四角の様々なアイテムについての設定は、後ほど説明します。
データ項目の整理と追加
続けて、Questetra BPM Suite で取り扱うデータを整理します。ワークフロー図における各工程(各アイテム)でどのようなデータが取り扱われるか?を想像しながら考えていただくとそれほど難しくありません。
- メールアドレス
- 削除したいセミナー申込情報に含まれるメールアドレス。セミナー申込者本人が入力する。
- 本当に削除してよいか確認するための項目
- 入力されたメールアドレス宛に届いたメールに記載されたURLで表示される確認フォームでチェックされる項目。
- レコード番号 (kintone)
- kintone アプリのレコードを削除するには、削除したいレコードのIDを取得しなければなりません。kintone アプリを検索して、入力されたメールアドレスを持つレコードのレコード番号が格納されます。
- emails (kintone)
- Questetra BPM Suite のシステムの都合上、「レコード番号 (kintone)」に関連する kintone のデータを取得しなければならないので、今回はメールアドレスを取得することとしました。このデータ項目には、「レコード番号 (kintone)」に対応するメールアドレスが格納されます。
- 削除確認フォームキー
- 削除確認フォームの URL の一部に使用される文字が格納されます。URLが容易に推測されないように、削除するたびにランダムな12桁の文字が格納されるようにします。
追加するデータ項目について以下に整理します。(データ項目名 / フィールド名 / データタイプ)
- メールアドレス / q_email / 文字(単一行)
- メールアドレスを含むセミナー申込情報を削除しますか? / q_question / 選択(チェックボックス)
- 選択肢は「選択肢ID=true」「表示ラベル=はい、問題ありません。」とします。
- レコード番号 (kintone) / q_record_numbers / 文字(複数行)
- emails (kintone) / q_record_numbers / 文字(複数行)
- 削除確認フォームキー / q_form_key / 文字(単一行)
- 初期値を
#{#randomString(12)}
とします。
- 初期値を
HTTP 認証設定
kintone にアクセスするために認証設定を行います。設定方法は、「ノーコードでkintoneに顧客情報を自動追加」の Questetra 設定3: HTTP 認証設定 に書かれているものと同じです。そちらを参考にしてください。
セミナー申込情報の削除申請フォームの設定
ワークフロー図の編集画面に戻ります。ワークフロー図の先頭にあるアイテム「セミナー申込情報の削除申請フォーム」は、インターネット上に公開される Web フォームであることを示します。
このアイテム(メッセージ開始イベント(FORM)と呼ばれる)の設定画面では、追加したデータ項目のうち「メールアドレス」をセミナー参加者が入力できるように設定します。
確認フォーム案内メールの設定
ワークフロー図中の丸いアイテム「確認フォーム案内メール」では、設定に従って自動的にメールが送信されます。送信されるメールの宛先には、申請フォームで入力されたメールアドレスが、本文には確認フォームURLが挿入されるように設定します。
セミナー申込情報の削除申請を受け付けました。
下記URLにアクセスし、削除申請手続きを完了してください。
${var[applicationRoot]}System/ReceiveTask/Form/#{processModelInfoId}/10/#{processInstanceId}/#{#q_form_key}/view
※ 24時間以内に手続きが完了されない場合、上記URLは無効になります。
※ 上記URLをクリックしてもページが開かない場合は、URLをコピーしブラウザのアドレス欄に貼り付けてください。—
株式会社◯◯◯◯
contact@example.com
03-xxxx-xxxx
https://example.com/contact/
ここでちょっとしたコーディングがあります。
${var[applicationRoot]}System/ReceiveTask/Form/#{processModelInfoId}/10/#{processInstanceId}/#{#q_form_key}/view
ここですね。これは削除確認フォームのURLを表します。本記事のとおりに設定を進めていこうとされている方は、このコーディング部分はそのままコピー&ペーストしてください。
細かな説明は次の図のとおりです。
削除確認フォームの設定
グレーの四角いアイテム「削除確認フォーム」について、設定していきます。このアイテムは、「確認フォーム案内メール」に記載されたURLをクリックすることでアクセスできる Web フォームです。
このアイテムに関する設定の概要は次の図のとおりです。
「削除確認フォーム」は、最初の「セミナー申込情報の削除申請フォーム」で入力されたメールアドレスに関連するセミナー申込情報を削除してもよいかどうか?を、メール受信者が確認する場所です。したがって、最初に入力したメールアドレスが表示されるようにします。また、”削除しても良い” という意思を示せるように、「メールアドレスを含むセミナー申込情報を削除しますか?」という項目で “はい、問題ありません。” にチェックを付けられるようにしておきます。
更に、「削除確認フォーム」には締め切りを設定できます。入力されたメールアドレスの誤りや、長い間放置されることによる不正アクセスを防止するために、申請されてから1日後を締め切りに設定します。締切の設定にも、少しだけコーディングが必要です。
processInstanceStartDatetime.addDays(1)
上記コードが、削除の申請がされた1日後の日時を表しています。ちょっと難しいですが、processInstanceStartDatetime
という部分が削除の申請がされた日時、この日時に日を追加すること(=Add Days)を表す .addDays(1)
というおまじないを追加しています。()の数値が 10 であれば10日後、-3 であれば 3 日前を表します。
削除データのレコード番号取得の設定
ワークフロー図のグレーのアイテム「削除データのレコード番号取得」では、「削除申請フォーム」で入力されたメールアドレスをキーに、kintone のアプリに登録されているセミナー申込情報のレコード番号を取得します。
このアイテムの設定概要は次の図のとおりです。ここでもまた少しコーディングするところがあります。
コーディングする場所は、「C8: 検索クエリ」という箇所です。email = "#{#q_email}"
というコードを入力します。これは、kintone アプリのデータから、フィールドコードが email という列の値が削除申請されたメールアドレスと同じものを探してきてね、ということを表しています。
セミナー申込レコード削除の設定
グレーのアイテム「セミナー申込レコード削除」では、一つ前のアイテムで取得したレコード番号を持つ kintone アプリのレコードが削除されます。
動作確認
Questetra アプリのリリース
Questetra BPM Suite のアプリについて設定が完了したら、その設定を有効にする(使えるようになる)手続きを行います。
アプリ詳細画面のワークフロー図上にある「開発中のバージョン◯のリリース」ボタンをクリックします。マニュアルも参考にしてください。
レコードが削除される様子
ワークフロー図の先頭にある「セミナー申込情報の削除申請フォーム」というアイテムの設定画面で、「フォームURL」ボタンをクリックすると、フォームにアクセスできる URL を確認できます。
フォームの「メールアドレス」に削除したいデータのメールアドレスを入力すると、その後はワークフロー図の流れに従って各工程が自動処理されます。
- 削除確認フォームの案内メールが自動的に送信される
- メールに記載されたURLをクリックすると、削除確認フォームが表示される
- 削除確認フォームで「はい、問題ありません」にチェックを入れると、kintone のデータが削除される
正しく動作する場合、このような流れを次の画像のように確認できます。
まとめ
Questetra BPM Suite には、kintone のアプリに追加されているデータを削除するアイテムが用意されています。このアイテムを利用すると、ノーコードで kintone のデータを自動的に削除する仕組みを構築できます。
Questetra BPM Suite には、kintone のデータを取り扱うためのアイテムが用意されており、様々な自動化が可能です。
- kintone アプリにデータを追加
- kintone アプリのデータを更新(※)
- kintone アプリのデータを取得(※)
※ ファイル型データも扱えます
本記事で紹介したように、業務の自動化は単に労力を減らすだけでなく、業務のミスも防止してくれます。また、今回のように個人情報を取り扱う業務の場合には、自動化することでむやみに個人情報が人の目に触れるということもなくなります。
kintone を活用中で、業務の自動化に取り組みたいという人は、是非、本記事を参考にしていただければと思います。
今回はここまで!