クライアントスクリプト:Zoho CRMで重要データを削除する前の確認プロンプト

クライアントスクリプト:Zoho CRMで重要データを削除する前の確認プロンプト

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Requirement 概要

Zoho CRM ユーザーは、機密性が高く重要な項目のデータを消去する前に、ダブル確認を行うための確認注意を求めています。

使用例

銀行が、Zoho CRMを用いて顧客対応を効果的に管理しています。また、顧客の機密データ(個人情報、口座番号、クレジットカード番号、セキュリティ番号など)を保管しています。これらのデータの保護は、セキュリティのベストプラクティスであるだけでなく、法令遵守の要求事項でもあり、金融法やデータ保護基準(GDPRなど)により規制されています。

ユーザーは日常業務の中でデータを更新、修正、またはクリアすることがよくあります。項目をクリアするなど、ひとつの操作ミスが取り返しのつかないデータ損失につながることがあります。

このリスクを軽減するため、ダブル確認メカニズムがCRMインターフェースのクライアントスクリプトを通じて実装されています。これにより、機密性の高い項目に対してデータクリア操作を実行する前に、確認ポップアップ注意が表示されます。
Alert
なぜ重要なのか:
  1. データ保護
  2. コンプライアンスの確保
  3. リスクの低減
  4. 事故防止
  5. 信頼性の向上
Info

権限 & 利用可能範囲

-> 管理 Extensibility」権限を持つユーザーは、クライアントスクリプトの設定および構成が可能です。
-> 管理 テスト環境」権限を持つユーザーは、テスト環境の管理やこの使用ケースのテストを行うことができます。

設定

ここでは、編集ページリードタブ内、特定の項目(例:クレジットカードの番号)に対してクライアントスクリプトを作成します。例として、項目が空である状態に更新された場合、続行する前にエンドユーザーから確認を得るためのポップアップを表示するスクリプトを作成します。

この使用ケース向けのクライアントスクリプトを設定する手順は以下のとおりです。

1) 名前説明など、スクリプトの目的に応じた基本情報を入力します

2) カテゴリー詳細セクションで、以下を選択してください。

* カテゴリーはタブとして表示されます。
* Pageは編集として表示されます。
* タブは見込み客として表示されます。
* 必須のLayoutを選択してください。

3) Event 詳細セクションで、次の内容を選択してください。

* 種類は項目 Event として選択します。
* ドロップダウンから必須項目を選択してください。
* Eventは onChange を選択します。

コード

  1. //データ詳細を取得し、項目(クレジットカードの番号)の前回値を取得
  2. recDetails = $Page.データ;
  3. creditCardPrevValu = recDetails.Credit_Card_Number;
  4. console.log(creditCardPrevValu);

  5. //同じ項目を現在の値で取得(次の更新時に使用)
  6. var currentField = ZDK.Page.getField('Credit_Card_Number');
  7. const currentFieldVal = currentField.getValue();
  8. console.log(currentFieldVal);

  9. //確認中 if 項目の値が入力されていません or not
  10. if (currentFieldVal == '') {

  11. //UIで確認ポップアップを表示し、続けるかどうかを促す
  12.    confAlert = ZDK.Client.showConfirmation('本当に実行しますか?', 'はい。理解しました!', 'いいえ');

  13. //「いいえ」が選択された場合、変数 'creditCardPrevValu' で前の値を項目に更新
  14.    if (confAlert == 無効) {
  15. // console.log('entered');
  16. var creditCardField = ZDK.Page.getField('Credit_Card_Number');
  17. creditCardField.setValue(creditCardPrevValu);
  18. }
  19. }
  1. コード説明

-> スクリプトは現在開いているデータから、クレジットカードの番号項目の直前の値(クライアントスクリプトがトリガーされる前に存在していた値)を取得し、変数に格納します。

-> 次に、同じ項目の値を現在のデータ(エンドユーザーによって更新されたもの)から取得し、変数に格納します。


-> 次に、項目(クレジットカードの番号)が空であるかどうかを、現在のデータ(変数 currentFieldVal に格納)で確認します。 


-> 項目が入力されていない場合、UI上に確認ポップアップが表示され、エンドユーザーが続行できるようになります。「はい」をクリックすると、いいえの操作が必須となります。「いいえ」をクリックした場合、項目は変数 creditCardPrevValu に保存されている前の値で更新されます。

動作デモ - Screencast


Idea
-> ユーザーは同じ設定を詳細ページにも適用できます。
-> また、ユーザーはページ内の複数の項目に対して(ページイベント -> OnChange に基づき)この設定を行うことで、データ損失のリスクを軽減できます。

Alertスムーズな導入のために、事前にテスト環境で設定を行い、動作確認を行った上で本番環境への適用をおすすめします。

TIPS - よくあるエラーを回避する方法

-> スクリプト内で 正しい API Namesタブ & 項目の両方で使用するようにしてください。

-> 意図した出力を取得するために、各変数にlogs() または console.log()を追加し、出力を確認してスムーズな動作を確保することを推奨します。例えば、'Messages'タブ(Client Script IDE内)で各logs() の出力を表示できます。console logsを表示する場合は、次の手順に従ってください - 'ブラウザページ上で右クリック >> 検証 >> Console'

-> 期待する機能が動作しない場合は、各出力やループを確認し、さらに各ZDK Client/CRM API メソッドの構文をサンプルヘルプドキュメントでクロスチェックしてください。

Info各 ZDK Client/CRM API メソッドのサンプルスクリプト- ヘルプ 参照

Notes
メモ:以下のガイド記事を参照し、コード最適化のベストプラクティスZoho CRM全体でのClient Script導入方法をご確認ください。



ご不明な点がございましたら、どうぞご遠慮なくパートナー-サポート@zohocorp.comまでご連絡ください。

Notes
また、ヨーロッパおよびイギリスのパートナーの皆様は、パートナー-サポート@eu.zohocorp.comまでご連絡ください。