ドキュメンテーション

通知メッセージのカスタマイズ

アカウント登録時や予約プロセスで通知可能な電子メールおよびSMSメッセージはカスタマイズが可能です。リマインダーとフォローアップメッセージも同様にカスタマイズできます。
メッセージにはオートテキストを用いることが可能で、メッセージ生成時に動的な置き換えを行ったり、機能的な処理を行うことができます。

画面表示のメッセージカスタマイズは、通知メッセージのカスタマイズと仕様が僅かに異なります。画面上の表示メッセージのカスタマイズに関してはこちらを参照ください。

予約プロセスの通知メールやリマインダーメッセージ

スケジュールの設定 > プロセスでユーザーへの通知設定ができます。
メッセージのカスタマイズをしていない状態の予約確認の通知メールは、デフォルトとして次のようなメッセージとなっています。

ユーザーの名前

このメッセージはあなたの予約*が作成された確認メッセージです。

新規予約*の詳細:

  …予約の詳細…

こちらからスケジュールへアクセス可能です。:
https://www.supersaas.com/schedule/アカウント名/スケジュール名?day=…

この通知メッセージは自動生成及び自動送信のため、返信されても管理者は確認が出来ませんのでご注意下さい。
* "予約"の呼称はスケジュールの設定 > プロセスで任意の単語に変更することも可能です。

予約確認通知やリマインダーなどのメッセージ内容は設定 > レイアウトでカスタマイズできます。 アカウント作成時の確認通知メッセージのカスタマイズはレイアウト設定で行えます。
メッセージのカスタマイズには、次のオートテキストを用いることができます。

送信メールを表示

利用アカウントから送信された全メールは1時間程データベースに保存されます。 管理画面内こちらのリンクより、最近送信されたメールリストを閲覧が可能です。 この機能により、管理者自身が過去1時間以内のメール送信先を確認し、予約者から通知メールに関する問い合わせがあった場合などに、該当メールの送信が適切にされたかなどの確認にも役立ちます。

メールサーバーは@test.comが末尾となるメールアドレスに送信されたメールは自動的にスキップしますが、上記で述べた直近の送信済みメールリストには表示されるため、管理者は各通知メッセージの送信を実際のメールアカウントに大量に送信する事なく簡単にテストする事が可能です。

オートテキストを用いた通知メッセージカスタマイズ

オートテキストはメッセージ内のテキストを動的に置き換えたり、メッセージ生成時の制御指示が可能になります。 たとえば、対象となるユーザーの名前を挿入したり、言語を判定して日本語の時のみメッセージを追加するなどができます。
オートテキストは$から始まる既定語です。例 $name
以下の表は、通知メッセージで使用可能なオートテキストの一覧です。

Eメール及びSMSメッセージに利用可能なオートテキスト
オートテキスト置き換わり方
$name対象ユーザーの名前に置き換わります。
$dear$nameが不明で無い限り、敬称付きの"Dear $name,"に置き換わります。
$login対象ユーザーのログイン名に置き換わります。(管理者またはログインしていない場合は空白)
$subjectこのオートテキストと同じ行をメッセージ内容ではなくメールの件名とします。この行にも一部のオートテキストを含むことが可能です。
$url対象予約のスケジュールURLに置き換わります。
$modurl対象予約の編集画面へのURLに置き換わります。(予約者本人宛てに送られることを前提としたログインせずに編集が可能な専用のURLとなります)
$action通知のトリガーとなるアクションに置き換わります。
例: “$actionされました” → “削除されました”
$details予約の詳細を一覧表示します。以下の$replaceコマンドで削除された場合に便利です。
$replaceデフォルトメッセージを出力しません。通知内容はカスタマイズしたメッセージのみとなります。
$nourlデフォルトメッセージ内容からURL箇所を削除します。
$id対象のID(管理番号)に置き換わります。Superuserインターフェイスでオブジェクトをすばやく検索するのに役立ちます。
$slot_id対象のスロットのID)に置き換わります。定員制スケジュールのみ
$form_idこのオブジェクトにフォームが添付されている場合、対象のフォームIDに置き換わります。
$start
$finish
対象予約の開始時間、終了時間に置き換わります。
$start_time または $finish_timeを使用して、時間のみを表示します
$created
$updated
対象予約の作成日、および最後に変更または削除された時刻に置き換わります。
$when開始時刻と終了時刻を表示し、設定に応じてタイムゾーン情報を追加します。
$previous_start予約が更新された場合、対象予約の更新前の開始時間に置き換わります。
$lengthH:MM、もしくはDD:HH:MM形式で、対象予約の長さに置き換わります。
$ical対象予約情報のical形式ファイルを添付します。
$meeting_url存在する場合は、Google MeetまたはZoomミーティングへのリンクを表示
$form対象フォーム内容のHTML形式ファイルを添付します。
$price対象の価格に置き換わります。(リピート予約時は、最初の予約の価格になります)
$creditユーザーの現在のポイントレベル (予約作成後)
$resources対象サービスに含まれるリソースの名前に置き換わります。(サービススケジュールのみ)
$positionキャンセル待ちリストの位置を表示します (定員制のみ)
$field_1
$field_2
アクセスコントロールページで定義されたカスタムフィールドの値に置き換わります。
$field_1a
$field_2a
ユーザー設定で定義されたカスタムフィールドの値に置き換わります。
$su利用可能な場合は、スーパーバイザーフィールドの値を表示
$if "action文の残りの部分は、アクションが現在のアクションと一致する場合にのみ提示されます。複数の行に条件を適用するには、それらを中括弧で囲みます。可能なアクションのリストについては、以下を参照してください
$if "条件" {メッセージ}後述の指定条件を満たしている場合(true)のみ、メッセージが出力されます。
$else {メッセージ}$ifに続けて用いることで、指定条件が満たされなかった場合(false)のみメッセージを出力します。
$title
$location
$quantity
$level
$description
それぞれ対象のタイトル、場所、予約量(定員制のみ)に置き換わります。
$descriptionはスケジュールタイプにより説明やサービス名、リソース名などに置き換わります。

基本的に通知メッセージのカスタマイズ内容は、デフォルトメッセージに追加されます。 ただし、$replaceをメッセージ内に用いている場合は、デフォルトメッセージを上書きで置き換えます。
ログインしていない時の$login、フォームが関係しない場合の$form、リソーススケジュールなのに$slot_idなど、オートテキストの対象となる情報がない場合はそのオートテキストは無視されて出力されません。

スケジュールのレイアウトにある"予約の確認用メールに表示されるメッセージ"の対象は、予約時の確認だけでなく、新規・更新・削除など予約に関するすべての確認メールです。
特定の条件を前提とした確認文章としてカスタマイズする場合は、条件$ifを用いてください。

確認メールとリマインダーメールの場合は、自動テキストを入力するフィールドの横にある Previewボタンをクリックすると、メールがどのように表示されるかをプレビューできます。これにより、最後に更新された予定に基づいた電子メールが表示されます。

$if$elseにより出力されるメッセージ内でも、$if$elseを除いたオートテキストを用いることが可能です。
たとえば、新規予約の場合にはメッセージの件名を「(予約日時)の予約を受け付けました」としたい場合は以下のように指定することができます。

$if "created" {$subject $startの予約を受け付けました}

$ifに用いることのできる条件には、created(作成済み)、 changed(変更)、 deleted(削除済み)、 approved(承認済み)、refunded(返金済み)、 placed_on_the_waiting_list(キャンセル待ちリストに追加)、 changed_on_the_waiting_list(キャンセル待ちリスト上で変更)、 removed_from_the_waiting_list(キャンセル待ちリスト上で削除)、 placed (キャンセル待ちから正規リストへ移動)が指定できます。

$if "placed_on_the_waiting_list" {あなたのキャンセル待ちリストの順位は$position番目です。}

更に言語判定用にENESなどの言語コード条件とすることも可能です。
例えば、通常は「ありがとうございます」と出力し、英語出力の場合は「Thank you」と出力したい場合などは次のように指定できます。

$if "EN" {Thank you} $else {ありがとうございます}
複数の条件は、いわゆる論理演算子と組み合わせることができます。次に例を示します。:
$if "created || placed_on_the_waiting_list" {Thank you for booking} (logical OR, one needs tot be true)
$if "EN && deleted" {Cancellation confirmed} (logical AND, both need to be true)
その他の利用方法として、オートテキストは顧客に対して自身の予約を編集可能なページへのダイレクトリンクを提供することも可能です。例として下記の様にメールの通知に追加可能です。:
予約の変更はこちらから:
$modurl

$modurlはトークンを含むリンクを生成し、そのリンクからの訪問者は、ログインせずに予定を変更または削除できるので、ユーザーがログインせずに予定を作成できるようにする場合に特に役立ちます。
これにより、後で自分の予定を変更できるようになります。
(ログインを必要としない編集画面への直接リンクとなるため、本人宛であることが前提です) オートテキストに関しては、SuperSaaS公式ブログのblog about customizing emails(英語)もご参考ください。

メールはプレーンテキストで送信されるため、メール通知にHTMLコードを追加することはできません。

電子メールメッセージにスタイルを追加する

デフォルトでは、電子メールはスパムフィルターを通過する可能性が最も高い"プレーンテキスト"形式で送信されます。レイアウト設定ページで電子メール形式をHTMLに変更すると、電子メールにスタイルを追加できるようになります。 メール用のHTMLテキストエディターには色やリンクを追加するボタンがあり、“Source code” ボタンをクリックするとHTML自体を編集できます。ただし、リンクや画像を追加しすぎると、電子メールがスパムとしてマークされる危険があります。

電子メールクライアントでサポートされるHTMLは、WebブラウザでサポートされるHTMLのほんの一部にすぎないことに注意してください。 さらに悪いことに、各電子メールクライアントはHTMLの異なるサブセットをサポートしており、表示方法が若干異なります。したがって、エディターが提供する限られたオプションを使用することが最善です。

送信元アドレスの設定

デフォルトでは通知メッセージのfrom:フィールド(送信元情報)はnoreply@supersaas.comとなっています。from:フィールドを変更して管理者のメールアドレスとすることも可能です。 変更はレイアウト設定の"どのe-mailアドレスを外部向けに使用しますか"で設定できます。

送信元にnoreply@supersaas.comを用いず、from:フィールドを管理者のメールアドレスにすることが可能です。
ただし、あくまで通知を送信するのはSuperSaaSのメールサーバーであり、管理者のメールアドレスのメールサーバーではありません。差出人メールアドレスと送信サーバーアドレスが異なるため、Resent-From: SuperSaaSとなり、クライアントによっては差出人本人からのメールではないとしてスパムとして扱われる可能性があります。 さらに、スパム防止を目的としたインターネット標準に準拠するために、DNSのSPFレコードにメールサーバーを追加する必要があります。 DNSの変更は難しい場合があり、またメールサーバーのDNSを変更するオプションがない場合があります。設定のサポートはSuperSaaSのサービス外であり、設定は自己責任で願います。

noreply@supersaas.comと管理者のメールアドレスの両方を送信元と設定した場合、from:フィールドがnoreply@supersaas.comとなり、Reply-to:フィールドが管理者のメールアドレスとなります。 これにより、送信元こそSuperSaaSとなりますが、返信先情報を管理者のメールアドレスとすることができます。送信元もメールサーバーも同じSuperSaaSのアドレスとなりますのでスパム判定の回避となることが期待できます。

余談となりますが、カスタムドメイン設定でアカウントにリンクしていない限り、メールメッセージ内のリンクドメインはsupersaas.comのまま記載されます。

スパムフィルターの対策としてSPF recordを設定する方法もあります。 もしドメインのSPFレコードを変更できる場合は、SuperSaaSドメインをSPFレコードに追加して認証を加えることで、from:フィールドをそのメールサーバーのメールアドレスとしてもスパムフィルターを回避できるかもしれません。 これは、SPFレコードに存在する必要がある特定のテキストです: include:spf.supersaas.com
もしfrom:フィールドに任意のアドレスを設定したい場合などは、Sending email through another mail serverを検討ください。開発者としての十分な知識と技術を必要としますが、独自のメールサーバーを用いることで自由度や利便性の拡充が可能になります。
外部メールサーバーを用いる設定のサポートはSuperSaaSのサービス外です。設定は自己責任で願います。

SMSメッセージのカスタマイズ

SMS GatewayでSMSリマインダーメッセージの設定が可能です。他の通知メッセージのカスタマイズと同様にオートテキストを用いたカスタマイズができます。
これはSMSリマインダーメッセージのカスタマイズで、新規や更新のSMSメッセージ通知のカスタマイズではありません。

デフォルトのリマインダーメッセージは次のようになっています。 Reminder: <appointment title> on <date and time> 最初に挿入されたフィールド"appointment title"には予定のタイトルが表示され、2番目のフィールド"date and time"には予定の日付と時刻が表示されます。 たとえば、メッセージを変更していない場合、ヨガクラスのリマインダーは次のようになります。: Reminder: 予約タイトル on 10/10/2024 18:00

SMSゲートウェイの活用詳細は、確認通知とリマインダーを参照ください。