JavaScript 程式碼 javascript-code
JavaScript程式碼 活動是 資料管理 活動。 使用此活動可在工作流程內容中執行JavaScript指令碼。 這可讓您從資料庫收集資訊,或執行其他複雜的作業。
設定JavaScript程式碼活動 javascript-code-configuration
請依照下列步驟設定 JavaScript程式碼 活動:
-
將 JavaScript程式碼 活動新增至您的工作流程。
-
選擇要建立的活動型別:
- 簡單:執行一個程式碼片段。
- 進階:此選項可讓您執行兩個不同的程式碼片段,以執行更進階的作業。 瞭解如何設定進階JavaScript活動
note note NOTE 透過Campaign Web使用者介面,我們已合併 簡單 和 進階 JavaScript程式碼功能,將兩個活動合併為一個。 此合併不會以任何方式影響活動的功能。 -
確認,然後按一下 編輯代碼 按鈕以開啟運算式編輯器。 左側窗格會提供預先定義的語法,讓您用來建置程式碼,包括事件變數。 瞭解如何使用事件變數和運算式編輯器
-
在 執行 區段中,設定延遲以在執行期間後停止活動。 依預設,執行階段不能超過 1 小時。在這類延遲之後,此流程將中止並顯示錯誤訊息,並且活動執行會失敗。若要忽略此限制,請將值設為 0。
-
切換「處理錯誤」選項可將在指令碼執行期間發生的錯誤保留在額外的輸出轉變。
進階JavaScript程式碼活動 advanced
進階JavaScript活動可讓您執行複雜的作業。 它可讓您:
- 執行兩個不同的程式碼片段。 第一個程式碼片段會在第一次啟動工作流程時執行。 每次工作流程再次執行時,都會執行第二個呼叫中定義的程式碼片段。
- 新增多個輸出轉變,您可使用指令碼動態互動。
若要設定進階JavaScript程式碼活動,請遵循下列步驟:
-
選取 進階 型別,然後設定要執行的程式碼片段:
- 按一下 編輯第一次呼叫代碼 以定義要在第一次呼叫期間執行的指令碼。
- 按一下 編輯下一個呼叫代碼 以定義要在工作流程下一次呼叫期間執行的指令碼。 (選擇性)
-
若要新增一個或多個輸出轉變,按一下「新增轉變」按鈕並為每個轉變指定標籤和內部名稱。
在此範例中,我們已設定由程式碼片段中的指令碼根據特定條件啟動的兩個轉變。
-
完成活動的設定並啟動工作流程。
範例 javascript-code-example
根據傳入母體初始化變數 example1
此範例說明如何根據工作流程所定位的設定檔數初始化變數。
在此,我們正在從資料庫中鎖定VIP設定檔。 我們要建立名為「channel」的變數,其值取決於「建立對象」活動鎖定的設定檔數量:
- 如果目標設定檔超過1000個,請使用「電子郵件」值初始化變數。
- 否則,請使用值「sms」將其初始化。
要執行此操作,請依照下列步驟執行:
-
在 建置對象 活動之後,新增型別為 Simple 的 JavaScript程式碼 活動。
-
按一下 編輯程式碼 並設定程式碼片段,如下所示:
code language-none if (vars.recCount > 1000) vars.channel ="email" else vars.channel = "sms"
-
啟動工作流程。 「頻道」變數是以「電子郵件」或「簡訊」值建立,視 建置對象 活動鎖定的設定檔數量而定。
根據變數的值觸發轉變 example2
此範例說明如何根據變數的值觸發轉變。
在此處,工作流程從 外部訊號 活動開始,從另一個工作流程傳入變數(interest
)。 變數的值為「執行中」或「瑜伽」,視初始工作流程中執行的篩選作業而定。
我們想要根據變數的值,在工作流程中觸發不同的轉變。
要執行此操作,請依照下列步驟執行:
-
在型別為 進階 的外部訊號活動後新增 JavaScript程式碼 活動。
-
新增兩個轉變:每個可能的變數值(「執行中」、「瑜伽」)各一個。
-
按一下 編輯第一個呼叫代碼 並設定程式碼片段,如下所示:
code language-none if (vars.interest=="running") task.postEvent(task.transitionByName("running")); else task.postEvent(task.transitionByName("yoga"));
-
完成每個轉變的設定以符合您的需求,然後開始工作流程。 已根據透過 外部訊號 活動傳遞的
interest
變數值,啟動兩個輸出轉換之一。