JavaScript 程式碼 javascript-code

JavaScript程式碼 ​活動是​ 資料管理 ​活動。 使用此活動可在工作流程內容中執行JavaScript指令碼。 這可讓您從資料庫收集資訊,或執行其他複雜的作業。

設定JavaScript程式碼活動 javascript-code-configuration

請依照下列步驟設定​ JavaScript程式碼 ​活動:

  1. 將​ JavaScript程式碼 ​活動新增至您的工作流程。

  2. 選擇要建立的活動型別:

    note note
    NOTE
    透過Campaign Web使用者介面,將​ 簡單 ​和​ 進階 JavaScript程式碼功能合併為兩個活動。 此合併不會影響活動的功能。
  3. 確認,然後按一下​ 編輯代碼 ​按鈕以開啟運算式編輯器。 左側窗格提供預先定義的語法,可用來建置程式碼,包括事件變數。 瞭解如何使用事件變數和運算式編輯器

    JavaScript程式碼活動的 運算式編輯器介面

  4. 在​ 執行 ​區段中,設定延遲以在執行期間後停止活動。 依預設,執行階段不能超過 1 小時。在這類延遲之後,此流程將中止並顯示錯誤訊息,並且活動執行會失敗。若要忽略此限制,請將值設為 0。

    執行延遲的設定介面

  5. 切換「處理錯誤」選項可將在指令碼執行期間發生的錯誤保留在額外的輸出轉變。

進階JavaScript程式碼活動 advanced

進階JavaScript活動可讓您執行複雜的作業。 這些活動可讓您:

  • 執行兩個不同的程式碼片段。 第一個程式碼片段會在工作流程首次啟動時執行。 每次工作流程再次執行時,都會執行第二個呼叫中定義的程式碼片段。
  • 新增多個輸出轉變,您可使用指令碼動態互動。

若要設定進階JavaScript程式碼活動,請遵循下列步驟:

  1. 選取​ 進階 ​型別,然後設定要執行的程式碼片段:

    • 按一下​ 編輯第一次呼叫代碼 ​以定義要在第一次呼叫期間執行的指令碼。
    • 按一下​ 編輯下一個呼叫代碼 ​以定義要在後續工作流程呼叫期間執行的指令碼。 (選擇性)
  2. 若要新增一個或多個輸出轉變,按一下「新增轉變」按鈕並為每個轉變指定標籤和內部名稱。

    在此範例中,程式碼片段中的指令碼會根據特定條件設定及啟動兩個轉變。

    已設定的轉換範例

  3. 完成活動設定並啟動工作流程。

範例 javascript-code-example

根據傳入母體初始化變數 example1

此範例說明如何根據工作流程所定位的設定檔數初始化變數。

以設定檔計數為基礎的變數初始化範例

在此範例中,會定位資料庫中的VIP設定檔。 名為「channel」的變數是使用取決於「建置對象」活動所定位的設定檔數的值建立的:

  • 如果目標設定檔超過1000個,請使用值「email」初始化變數。
  • 否則,請使用值「sms」將其初始化。

請依照下列步驟以達成此目的:

  1. 在​ 建置對象 ​活動之後,新增型別為​ Simple ​的​ JavaScript程式碼 ​活動。

  2. 按一下​ 編輯程式碼 ​並設定程式碼片段,如下所示:

    code language-none
    if (vars.recCount > 1000)
        vars.channel = "email";
    else
        vars.channel = "sms";
    
  3. 啟動工作流程。 「頻道」變數是以「電子郵件」或「簡訊」值建立,視​ 建置對象 ​活動鎖定的設定檔數量而定。

根據變數的值觸發轉變 example2

此範例說明如何根據變數的值觸發轉變。

變數值所觸發的轉換範例

在此範例中,工作流程會以​ 外部訊號 ​活動開始,而變數(interest)會從另一個工作流程傳遞至該活動。 變數的值為「執行中」或「瑜伽」,視初始工作流程中執行的篩選作業而定。

系統會根據變數的值,觸發工作流程中的不同轉變。

請依照下列步驟以達成此目的:

  1. 在型別為​ 進階 ​的外部訊號活動後新增​ JavaScript程式碼 ​活動。

  2. 新增兩個轉變:每個可能的變數值(「執行中」、「瑜伽」)各一個。

  3. 按一下​ 編輯第一個呼叫代碼 ​並設定代碼片段,如下所示:

    code language-none
    if (vars.interest == "running")
        task.postEvent(task.transitionByName("running"));
    else
        task.postEvent(task.transitionByName("yoga"));
    
  4. 完成每個轉變的設定以符合您的需求,然後開始工作流程。 已根據透過​ 外部訊號 ​活動傳遞的interest變數值,啟動兩個輸出轉換之一。

recommendation-more-help
c39c2d00-ba9a-424b-adf9-66af58a0c34b