設計情報

投稿者: SPIRERS ナレッジ向上チーム 2022年7月29日 (金)

お問い合わせ管理アプリ アプリ(DB・メール)設計・構築

チャットのような形式でやり取り可能なお問い合わせ管理デモを作成しました。
アプリ側でもやり取りの履歴が確認でき、相互コミュケーションがとれるアプリケーションです。
この記事は アプリ(DB・メール)設計・構築 のフェーズとなります。
関連記事はこちら
SPIRAL ver.2はプログラミング経験がなくても、オリジナルの業務アプリの制作・カスタマイズができるローコード開発プラットフォームです。
詳しくは SPIRAL ver.2 とはをご覧ください。

変更・改定履歴

  • 改定

    お問い合わせコメントDBに「お問い合わせ種別」を追加

  • 追記

    ③回答連絡メール 条件抽出の補足文を追記

  • 改定

    ver.2.22のアップデートに対応し記事全般を再編集

アプリ機能

SPIRAL ver.2はアプリを定義した後にDBやページ、フォームを設定することができます。
DB設定はアプリ機能にて行います。 詳しくは アプリ機能 をご覧ください。
今回はアプリ機能を使って下記DB、DBトリガ、メールを作成します。
DB
お問い合わせマスタDB
お問い合わせコメントDB
DBトリガ
お問い合わせID発番 トリガ
【担当者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
投稿者の分岐 トリガ
【お問い合わせ者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
メール
お問い合わせ完了メール
お問い合わせ通知メール
回答連絡メール
お問い合わせ再質問通知メール
お問い合わせ終了連絡メール

登場人物と業務フローの整理

「お問い合わせ者」とお問い合わせ対応をする「各担当部署」、お問い合わせ全体を統括する「販売促進部」を登場人物としたお問い合わせ管理アプリを想定しました。
登場人物(お問い合わせ管理アプリを使う人)
また、以下の業務を想定します。
業務フロー図を作成すると全体の業務が可視化され、頭の中に思い描いたイメージの整理にもなります。
簡単な業務フロー図を作成するのもおすすめです。
業務フロー図

アプリ(DB・メール)設計・構築

整理した登場人物と業務フローを元に、アプリを作成していきます。
アプリ全体像
※ 運営側操作画面(赤枠部分)については ユーザ・グループ・アプリロール設定記事をご覧ください。
DBについて
今回は以下2つのDBを作成します。
詳しい作成手順は DB機能 をご覧ください。

▼お問い合わせマスタDBフィールド一覧
項目名 フィールドタイプ DB上で必須な属性
お問い合わせID テキスト 必須制約:あり
ユニーク制約:あり
お問い合わせステータス セレクト セレクト項目
 1:新規登録
 2:返信済み
 3:再質問
 4:終了
デフォルト値:新規登録
お名前 テキスト なし
メールアドレス メールアドレス 必須制約:あり
お問い合わせ種別 セレクト セレクト項目
 1:SPIRAL ver.1について
 2:SPIRAL ver.2について
 3:採用について
お問い合わせ内容 テキストエリア なし
回答希望日 日付 なし
▼お問い合わせコメントDBフィールド一覧
項目名 フィールドタイプ DB上で必須な属性
お問い合わせマスタ参照 参照フィールド 参照先DB:お問い合わせマスタDB
参照レコード数:1レコード
ラベルフィールド:ID
お問い合わせ種別 セレクト セレクト項目
 1:SPIRAL ver.1について
 2:SPIRAL ver.2について
 3:採用について
お問い合わせステータス セレクト セレクト項目
 1:新規登録
 2:返信済み
 3:再質問
 4:終了
デフォルト値:再質問
コメント テキストエリア なし
添付ファイル ファイル なし
投稿者フラグ セレクト セレクト項目
 1:ユーザ
 2:担当者
デフォルト値:ユーザ
DBトリガについて
本アプリでは以下4つのレコードアクショントリガを設定します。

 ・お問い合わせID発番 トリガ
 ・【担当者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
 ・投稿者の分岐 トリガ
 ・【お問い合わせ者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ

具体的な レコードアクション の処理発動条件をご案内します。

●お問い合わせID発番 トリガ
※お問い合わせマスタDBの登録トリガで設定します
アクション先 自DB(お問い合わせマスタDB)
アクション先への操作 更新
お問い合わせID発番 処理
認証エリアのIDは入力必須かつユニークのテキストフィールドやメールアドレスフィールドのみ設定可能です。
そのため、この処理でランダムなキーを発番し、認証用のIDに使用します。
発動条件 指定する
経路条件:一部の経路(フォーム)
処理タイプ 更新
処理マッピング アクション先DBフィールド:お問い合わせID = 格納値:RANDOM_NUM_ALP_SYM(10)
※関数設定を使用します。
エラー処理 全てエラー終了

●【担当者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
※お問い合わせコメントDBの登録トリガで設定します
アクション先 他DB(お問い合わせマスタDB)
アクション先への操作 更新
識別キー 自DBフィールド:お問い合わせマスタ参照
対象DBフィールド:(ID)
認証キー 設定なし
更新対象が存在しない場合 エラー終了
お問い合わせステータスを更新 処理
この処理は担当者が操作画面よりコメントを登録した際、お問い合わせステータス の値を お問い合わせマスタDBのお問い合わせステータス に格納させたいので発動条件を下記に設定します。
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└お問い合わせステータス|値あり
処理タイプ 更新
処理マッピング アクション先DBフィールド:お問い合わせステータス = 格納値:お問い合わせステータス
エラー処理 全てエラー終了

●投稿者の分岐 トリガ
※お問い合わせコメントDBの登録トリガで設定します
アクション先 自DB(お問い合わせコメントDB)
アクション先への操作 更新
投稿者フラグを更新 処理
この処理は担当者が操作画面よりコメントを登録した際、担当者のラベル値を 投稿者フラグ に格納させたいので発動条件を下記に設定します。
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└[お問い合わせステータス][等しい][返信済み]
└[お問い合わせステータス][等しい][終了]
いずれかの条件を満たす
処理タイプ 更新
処理マッピング アクション先DBフィールド:投稿者フラグ = 格納値:2
※関数設定を使用します。
エラー処理 全てエラー終了

●【お問い合わせ者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
※お問い合わせコメントDBの登録トリガで設定します
アクション先 他DB(お問い合わせマスタDB)
アクション先への操作 更新
識別キー 自DBフィールド:お問い合わせマスタ参照
対象DBフィールド:(ID)
認証キー 設定なし
更新対象が存在しない場合 エラー終了
お問い合わせステータスを更新 処理
この処理はお問い合わせ者がフォームよりコメントを登録した際、お問い合わせマスタDBのお問い合わせステータス を「再質問」に更新させたいので発動条件を下記に設定します。
識別キーを参照フィールド「お問い合わせマスタ参照」を使用しているしており、参照フィールドは現時点ではフォームでの使用ができないためAPI経由で更新しています。
発動条件 指定する
経路条件:一部の経路(フォーム)
簡易条件:指定する
└[お問い合わせステータス][等しい][新規登録]
└[お問い合わせステータス][等しい][再質問]
いずれかの条件を満たす
処理タイプ 更新
処理マッピング アクション先DBフィールド:お問い合わせステータス = 格納値:お問い合わせステータス
エラー処理 全てエラー終了

以上でDB関連の設定は完了です。
どのフィールドタイプが適しているのか迷った場合は、フィールドタイプの選び方 をご参考ください。
メールアクションについて
DB作成が完了したら次はメールアクション設定です。
業務フロー図を見てもらうとわかるように本アプリではお問い合わせ完了メールや回答連絡メールなど、様々な用途のメール配信を行います。
▼お問い合わせ管理アプリ 配信メール一覧
配信名 配信条件・配信先 機能
①お問い合わせ完了メール 配信指定方法:レコード(メールアドレス) フォームブロック上のメールアクション
(登録後、即時配信)
②お問い合わせ通知メール 配信指定方法:固定メールアドレス フォームブロック上のメールアクション
(登録後、即時配信)
③回答連絡メール 配信指定方法:複数レコード(メールアドレス) スケジュールトリガ&
メールアクション
(該当データがあれば、毎時 00分, 15分, 30分, 45分配信)
④お問い合わせ再質問通知メール 配信指定方法:固定メールアドレス フォームブロック上のメールアクション
(登録後、即時配信)
⑤お問い合わせ終了連絡メール 配信指定方法:レコード(メールアドレス) 非同期アクション
(登録後、即時配信)

①お問い合わせ完了メール、②お問い合わせ通知メール、④お問い合わせ再質問通知メールは、 フォームのメールアクション にて設定します。

⑤お問い合わせ終了連絡メールは 非同期アクション にて設定します。
1画面で「経路条件・配信先指定・配信条件・配信コンテンツ」を設定可能です。
▼【⑤お問い合わせ終了連絡メール】お問い合わせコメントDB登録トリガの非同期アクション設定
▼基本設定
表示名 お問い合わせ終了連絡メールを配信
DB お問い合わせコメントDB
経路条件 一部の経路:操作画面
※操作画面からのみとしたいため
▼宛先
指定方法 レコード
フィールド お問い合わせマスタ参照 > メールアドレス
配信条件 条件付き配信
条件抽出(簡易):[お問い合わせステータス][等しい][終了]
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力

③回答連絡メールは スケジュールトリガのメール配信アクション にて設定します。
▼【③回答連絡メール】スケジュールトリガとメールアクション設定
(1)スケジュールトリガ設定
毎時 00分, 15分, 30分, 45分にアクションが実行されるよう設定します。
表示名 回答完了通知 トリガ
実行タイミング 毎時 00分, 15分, 30分, 45分
(2)アクション設定
(1)のスケジュールトリガに紐づくアクションを設定します。差出人・コンテンツ部分は自由に入力します。
表示名 回答連絡
アクションタイプ メール配信(複数レコード)
ステータス 有効
▼宛先
DB お問い合わせマスタDB
指定方法 複数レコード
フィールド メールアドレス
抽出 抽出する
条件抽出(高度):NOW() - INTERVAL('15 minute') <= @_updatedAt AND @contactStatus ANYCONTAINS ('2')
※「contactStatus」部分は、お問い合わせステータスの識別名に変更してください。
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力

以上でメール関連の設定は完了です。

最後に

設定後は動作確認を必ず行い、動作に問題がないか確認をしてください。
また、不具合やほかのやり方が知りたい等あれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。
アプリ(DB・メール)設計・構築が完了したので次はサイト設計・構築に進みます。

関連記事はこちら
解決しない場合はこちら コンテンツに関しての
要望はこちら