設計情報

投稿者: SPIRERS ナレッジ向上チーム 2022年10月25日 (火)

DBトリガを使用して「メール送信」「配信フラグ自動解除」を行いたい

アプリ利用画面から特定会員に対してメール配信を行いたいが、レコード更新のたびに配信はしたくないという要望や、
自動で配信フラグを降ろしたいという要望をよくお聞きします。
実は" DBトリガ "を組み合わせて使用することで実現できます!

アプリ利用画面から配信フラグの操作を行い、メール配信の実行と配信後の配信フラグ自動解除方法を本記事にてご案内いたします。

イメージ

アプリ利用画面から特定会員へのメール配信は DBトリガ 非同期アクション を、
配信後の配信フラグ自動解除は DBトリガ レコードアクション を使用します。
今回はアプリ利用画面経由としていますが、フォームやAPI経由でも可能です。

設定手順

DBへフィールド追加とDBトリガ「レコードアクション」設定で配信後に配信フラグを自動解除を、
DBトリガ「非同期アクション」設定でアプリ利用画面から配信フラグを立てて、特定会員へメール配信を行うことが可能です。
フィールド追加
DBに自動解除時やメール配信時に使用するフィールドを追加します。
▼ 追加するフィールド
項目名 フィールドタイプ DB上で必須な属性
配信フラグ(更新用) セレクト セレクト項目
 0:配信しない
 1:配信する

デフォルト値:配信しない
通知メールを配信したい場合にアプリ利用画面上で「配信する」に更新するフィールドです。
配信フラグ(非同期アクション用) セレクト セレクト項目
 0:配信しない
 1:配信する
非同期アクションの抽出条件で使用します。
アプリ利用画面上では非表示にします。
DBトリガ「レコードアクション」設定
配信後に配信フラグを自動解除するためのレコードアクションを設定します。
▼【会員DB 更新トリガ】レコードアクションアクション設定内容
▼基本設定
表示名 配信フラグ自動解除
アクション先 自DB(会員DB)
アクション先への操作 更新
▼処理
※補足※
この処理はアプリ利用画面からレコード更新した際に、
配信フラグ(更新用)の値を 配信フラグ(非同期アクション用) に格納、
配信フラグ(更新用)を「配信しない(ラベルID:0)」に更新させたいので発動条件や処理マッピングを下記のように設定します。
処理名 配信フラグ(更新時用)の値を配信フラグ(非同期アクション用) に格納 & 配信フラグ(更新用)を「配信しない」に更新 処理
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定しない
処理タイプ 更新
処理マッピング アクション先DBフィールド:配信フラグ(非同期アクション用) = 格納値(フィールド値設定):配信フラグ(更新用)
アクション先DBフィールド:配信フラグ(更新用) = 格納値(関数設定):0
エラー処理 全てエラー終了
詳細な設定方法は DBトリガのレコードアクション をご覧ください。
DBトリガ「非同期アクション」設定
特定会員へアプリ利用画面から配信フラグを立ててメール配信を行うための非同期アクションを設定します。
▼【会員DB 更新トリガ】非同期アクション設定内容
▼基本設定
表示名 会員へ通知メールを配信
DB 会員DB ※メールアドレスが存在するDBであれば設定可能です。
経路条件 一部の経路:操作画面
※アプリ利用画面からのみとしたいため
▼宛先
指定方法 レコード
フィールド メールアドレス
配信条件 条件付き配信
条件:[配信フラグ(非同期アクション用)][等しい][配信する]
※配信フラグ(非同期アクション用)が「配信する」の場合のみとしたいため
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力
詳細な設定方法は DBトリガの非同期アクション をご覧ください。

最後に

設定後は動作確認を必ず行い、動作に問題がないか確認をしてください。
また、不具合や 他にもこういう事やりたい などあれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。
解決しない場合はこちら コンテンツに関しての
要望はこちら