共用方式為


將自訂 Captcha 服務與 Customer Insights - Journeys 表單整合

Customer Insights - Journeys 表單可讓您使用自訂 Captcha 機器人保護來驗證表單提交。 本文將舉例說明如何整合 Google reCaptcha。 流程與其他 Captcha 服務類似。 本文中的步驟適用於行銷和事件註冊表單類型。

注意

在最新應用程式版本中,只能啟用一個 Captcha 實作。 如果您使用自己的 Captcha 提供者 (如下一節所述),則使用現成可用 Captcha 的現有表單將會停止運作。 自訂 Captcha 實作至少需要撰寫和偵錯 Dataverse 外掛程式的基本知識。

該程序包括以下步驟:

  1. 將 reCAPTCHA 新增至表單
  2. 提交表單後,將 Captcha 文字值新增至表單提交。
  3. 啟用 reCAPTCHA 外掛程式,並妥善保存私密金鑰。

逐步範例:整合 Google reCaptcha

1. 將 reCAPTCHA 新增至表單

  1. 在 Customer Insights - Journeys 表單編輯器中建立表單。

  2. data-validate-submission="true" 屬性新增至 <form> 元素,這會啟用對表單提交的自訂驗證:將屬性新增至表單元素。

  3. 在表單中新增 <div id="g-recaptcha"> 作為 reCAPTCHA 的預留位置。 此 div 識別碼稍後會做為參考。 您應將預留位置放在最後一個欄位與提交按鈕之間。 新增 reCAPTCHA 的預留位置。

  4. 發行表單,並將表單嵌入您的網站。

  5. 編輯嵌入表單的頁面。 將 Google 所提供的指令碼新增至頁面標頭中。 此指令碼會使用 onLoad 回呼參數載入 reCAPTCHA。 載入 Captcha 後會立即呼叫此回呼。

    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback" async defer></script>
    
  6. 新增 onLoadCallback 函數:

    function onloadCallback() {
        grecaptcha.render('g-recaptcha',
        { 
          sitekey: '{sitekey}',
        });
    }
    

    以 Google 所提供的預留位置取代 {sitekey} 預留位置。 此回呼函數會在您先前建立的預留位置 <div id="g-recaptcha"> 中呈現 reCAPTCHA。

  7. 註冊要由表單載入器呼叫的 onloadCallback 函式:

document.addEventListener("d365mkt-afterformload", onloadCallback);

2. 將 Captcha 文字值新增至表單提交

提交表單之後,此 g-recaptcha-response 參數會自動新增至表單提交。 在接下來的步驟中,您將建立隱藏此值的外掛程式,因為它將新增至外掛程式程式碼返回的回應物件 ValidationOnlyFields 清單中。

已新增 G-recaptcha-response 參數。

3. 啟用 reCAPTCHA 外掛程式

  1. 瀏覽至設定>表單設定>reCAPTCHA
  2. 輸入私密金鑰。 私密金鑰會儲存在安全的儲存體位置。
  3. 變更狀態切換以啟用外掛程式。

輸入 reCAPTCHA 的金鑰。